Wikibooks
enwikibooks
https://en.wikibooks.org/wiki/Main_Page
MediaWiki 1.47.0-wmf.1
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
World History
0
496
4634749
4480826
2026-05-08T10:56:09Z
আনিসা আঞ্জম
3582090
৩ পৃষ্ঠার সম্পূর্ণ অনুবাদ
4634749
wikitext
text/x-wiki
<div class="center">স্বাগতম..
<big><big>''<br />বিশ্ব ইতিহাস প্রকল্প''</big></big></div>
[[File:World Map 1689.JPG|right|450px]]
বিশ্ব ইতিহাস প্রকল্পে স্বাগতম। এই সংস্থাটি এপি ওয়ার্ল্ড হিস্ট্রি স্ট্যান্ডার্ডের উপর ভিত্তি করে বিশ্ব ইতিহাসের উপর একটি বিনামূল্যে, মুক্ত-বিষয়বস্তু এবং মানসম্মত পাঠ্যপুস্তক তৈরির জন্য নিবেদিত।লক্ষ্য হলো এমন একটি গুণগত মান তৈরি করা যা মাধ্যমিক এবং উচ্চ-মাধ্যমিক পর্যায়ের পরিবেশের জন্য যথেষ্ট হবে। বিশ্ব ইতিহাস প্রকল্প হলো এই সংস্থার পেছনের "মস্তিষ্ক"। আমরা নিয়মিত অবদান রেখে যাওয়া একটি দল যারা বিশ্ব ইতিহাস পৃষ্ঠার আয়োজন করি এবং প্রধান নির্দেশনা প্রদান করি। আমরা যারা সাহায্য করতে ইচ্ছুক তাদের সকলের অবদানকে স্বাগত জানাই ( বিশ্ব ইতিহাস প্রকল্পপের অংশ হোক বা না হোক), সেইসাথে অন্যান্য প্রকল্পে সাথে সহযোগিতাকেও স্বাগত জানাই। এখানে - আমাদের মূল আলোচনা পাতায় বা এখানে - আমাদের লেখক পাতায় আমাদের সাথে যোগাযোগ করুন।
{{cquote|"যারা অতীতকে মনে রাখতে পারে না, তারা একই ঘটনার পুনরাবৃত্তি করতে বাধ্য..." |||George Santayana}}
{{cquote|If history always repeats itself, and we are to expect the unexpected, how incapable must man be to not learn from it?|"যদি ইতিহাস সর্বদা নিজেকে পুনরাবৃত্তি করে এবং আমাদের অনাকাঙ্ক্ষিত কিছুরই প্রত্যাশা করতে হয়, তবে মানুষ কতটা অক্ষম যে তারা এটি থেকে শিক্ষা নিতে পারে না?"||Farmers Almanac}}
{{clear}}
----
'''[[/Standards/|Standards]] | [[World History/Golden Rule|Our Golden Rule]] | [[World History/Authors|The Authors]]''' | {{World History resources}}অভিযান : বিশেষ কার্যক্রম- কাঠামো এবং মৌলিক নিবন্ধগুলোর চূড়ান্তকরণ - একটি নিবন্ধের পূর্ণাঙ্গতা কেমন হওয়া উচিত তার উদাহরণ হিসেবে 'একনায়কতন্ত্র এবং সর্বগ্রাসীবাদ'-এর উত্থান{{Book Search}}
প্রস্তাবনা - বিশ্ব ইতিহাসের একটি পরিচিতি এবং উচ্চতর মানসম্পন্নপরীক্ষা
=== পর্যায় ১ - প্রযুক্তিগত এবং পরিবেশগত রূপান্তর, আনুমানিক খ্রিস্টপূর্ব ৬০০ অব্দ পর্যন্ত ===
#বিশাল ভূগোল - পৃথিবীতে মানুষের বসতি স্থাপন
#প্রাচীন সভ্যতা - কৃষির সূচনা এবং প্রাচীন সংস্কৃতিসমূহ
#প্রথম চীনা রাজবংশ - পৌরাণিক যুগ থেকে শিয়া, শাং এবং ঝউ রাজবংশ
#ভারতীয় উপমহাদেশে সভ্যতা এবং সাম্রাজ্য - সিন্ধু সভ্যতা এবং মৌর্য ও গুপ্ত সাম্রাজ্য
#বিশ্ব ধর্মসমূহ - অতীতের ধর্মসমূহ
#প্রাচীন গ্রিস এবং মহান আলেকজান্ডার - মিনোয়ান থেকে শুরু করে মহান আলেকজান্ডারের মাধ্যমে হেলেনিস্টিক সাম্রাজ্যের উত্থান
=== পর্যায় ২ - মানব সমাজের সংগঠন এবং পুনর্গঠন, আনুমানিক খ্রিস্টপূর্ব ৬০০ অব্দ থেকে আনুমানিক ৬০০ খ্রিস্টাব্দ পর্যন্ত ===
#রোমান সাম্রাজ্য
#চীনের একীকরণ
#মধ্যপ্রাচ্যের সাম্রাজ্যসমূহ এবং ইসলামের প্রসার
#ইউরোপের মধ্যযুগ - পশ্চিমা বিশ্বের সূচনা
#নরমান সাম্রাজ্য - ইংল্যান্ডের সূচনা
#আমেরিকার প্রাক-কলম্বিয়ান ইতিহাস - প্রাচীন জনপদগুলোর অভিবাসন, মেক্সিকো, মেসোঅ্যামেরিকা এবং উত্তর/দক্ষিণ আমেরিকা
# <small>আফ্রিকার প্রাচীন রাজ্যসমূহ - পূর্ব এবং পশ্চিম আফ্রিকার জাতিসমূহের মাধ্যমে</small>
=== পর্যায় ৩ - আঞ্চলিক এবং আন্তঃআঞ্চলিক মিথস্ক্রিয়া, আনুমানিক ৬০০ খ্রিস্টাব্দ থেকে আনুমানিক ১৪৫০ খ্রিস্টাব্দ পর্যন্ত ===
#সামোর সাম্রাজ্য - চেকিয়া, স্লোভাকিয়া এবং অস্ট্রিয়ার সূচনা
=== পর্যায় ৪ - বৈশ্বিক মিথস্ক্রিয়া, আনুমানিক ১৪৫০ থেকে আনুমানিক ১৭৫০ খ্রিস্টাব্দ পর্যন্ত ===
#ইউরেশিয়ার পরিবর্তন - মঙ্গোল বিজয় এবং পরবর্তী ফলাফল
#ইউরোপের রেনেসাঁ বা নবজাগরণ
#আবিষ্কারের যুগ এবং সাম্রাজ্যবাদ
#ইউরোপে ধর্মীয় যুদ্ধসমূহ
#জাতীয়তাবাদ এবং জাতি-রাষ্ট্রের উত্থান
#বিপ্লব, পরিবর্তন এবং দর্শন - ইংরেজ গৃহযুদ্ধ এবং অধিকারের বিল (Bill of Rights), আমেরিকান, ফরাসি এবং গৌরবময় বিপ্লব, গণতান্ত্রিক ও লিবার্টিয়ান (ব্যক্তিস্বাতন্ত্র্যবাদী) ধারণার বিস্তার
#নেপোলিয়নীয় ইউরোপ এবং প্রতিক্রিয়াশীলতা
#
=== পর্যায় ৫ - শিল্পায়ন এবং বৈশ্বিক একীকরণ, আনুমানিক ১৭৫০ থেকে আনুমানিক ১৯০০ খ্রিস্টাব্দ প ===
#
#
#
#
#
#
==Appendices==
#[[/Conflicts/|Conflicts]]
#[[/Major Figures/|Major Figures]]
#[[/Technology/|Technology]]
#[[/Exam Prep/|Preparing for the AP Exam]]
==Other==
#[[/Authors/|Authors]]
{{Alphabetical|W}}
{{Shelves|History}}
{{status|50%}}
__NOTOC__ __NOEDITSECTION__
[[cs:Světové dějiny]]
[[ja:世界史]]
[[simple:World History]]
[[zh:世界歷史]]
bes0jo712i2u19xyuwzkkxdek3kc3xw
4634750
4634749
2026-05-08T11:39:02Z
Codename Noreste
3441010
[[WB:REVERT|Reverted]] edit by [[Special:Contributions/আনিসা আঞ্জম|আনিসা আঞ্জম]] ([[User talk:আনিসা আঞ্জম|talk]]) to last version by 216.224.124.104
4480826
wikitext
text/x-wiki
<div class="center"><big><big>''<small>Welcome to...</small><br /> '''<span style="color:green;"><big>The World History Project</big></span>'''''</big></big></div>
[[File:World Map 1689.JPG|right|450px]]
Welcome to the '''World History Project'''. This organization is dedicated to making a '''free''', '''open-content''', standardized textbook on World History based on the [[/AP World History Standard/]]. The goal is to create a standard of quality which will suffice for a secondary and post-secondary environment. The World History Project is the "brains" behind the organization. We are a set of regular contributors who organize and give the major guidance to the [[World History]] page. We welcome contribution of any who wish to help (whether as part of the World History Project or no), as well as collaboration with other projects - contact us [[Talk:World History|here]] at our main discussion page or [[/Authors/|here]] at our Authors page.
{{cquote|Those who cannot remember the past are condemned to repeat it...|||George Santayana}}
{{cquote|If history always repeats itself, and we are to expect the unexpected, how incapable must man be to not learn from it?|||Farmers Almanac}}
{{clear}}
----
'''[[/Standards/|Standards]] | [[World History/Golden Rule|Our Golden Rule]] | [[World History/Authors|The Authors]]''' | {{World History resources}}
:'''[[/Operation: Blank Check/|Operation: Blank Check]]'''- Finalization of structure and basic articles- See [[World History/The Rise of Dictatorship and Totalitarianism|The Rise of Dictatorship and Totalitarianism]] for an example of the type of article completeness desired '''''Current'''''
{{Book Search}}
[[/Prologue/|Prologue]] - <small>An Introduction to World history and the Advanced Placement examination</small>
=== Period 1- Technological and Environmental Transformations, to c. 600 B.C.E ===
#[[/Big Geography/]]- <small>Peopling of the Earth</small>
#[[/Ancient Civilizations/|Ancient Civilizations]] - <small>The Beginning of Agriculture and Ancient Cultures</small>
#[[/The First Chinese Dynasties/|The First Chinese Dynasties]] - <small>From Mythical Period to The Xia, Shang, and Zhou dynasties</small>
#[[/Civilization and Empires in the Indian Subcontinent/|Civilization and Empires in the Indian Subcontinent]] - <small>Indus Valley Civilization and the Mauryan and Gupta Empires</small>
#[[World History/World Religions|World Religions]] - <small>Religions of the past</small>
#[[World History/Ancient Greece and Alexander the Great|Ancient Greece and Alexander the Great]] - <small>From Minoans to the rise of Hellenistic Empires, through Alexander the Great</small>
=== Period 2- Organization and Reorganization of Human Societies, c. 600 B.C.E. to c. 600 C.E. ===
#[[/The Roman Empire/|The Roman Empire]]
#[[/The Unification of China/|The Unification of China]]
#[[/Middle Eastern Empires/|Middle Eastern Empires]] <small>and the spread of Islam.</small>
#[[/The Middle Ages in Europe/|The Middle Ages in Europe]]- <small> - The beginning of the west</small>
#[[/The Middle Ages in Europe /|The Norman empire]]- <small> - The beginning of England</small>
#[[/Precolumbian History of the Americas/|Precolumbian History of the Americas]] - <small>Immigration of ancient peoples, Mexico, Mesoamerica, and North/South America</small>
#[[/Ancient Kingdoms of Africa/|Ancient Kingdoms of Africa]] - <small>Eastern and Western African nations through colonization</small>
=== Period 3- Regional and Interregional Interactions, c. 600 C.E. to c. 1450 ===
#[[/Samo's Empire/|Samo's Empire]] - <small>The beginning of Czechia, Slovakia and Austria</small>
=== Period 4- Global Interactions, c. 1450 to c. 1750 ===
#[[/Changes in Eurasia - Mongol Conquest and Aftermath/|Changes in Eurasia - Mongol Conquest and Aftermath]]
#[[/The Renaissance in Europe/|The Renaissance in Europe]]
#[[/Age of Discovery & Imperialism/|Age of Discovery & Imperialism]]
#[[/Religious Wars in Europe/|Religious Wars in Europe]]
#[[/The Rise of Nationalism and the Nation-state/|The Rise of Nationalism and the Nation-state]]
#[[/Revolution, Change, and philosophy/|Revolution, Change, and philosophy]] - <small>English Civil War and Bill of Rights, American, French, and Glorious Revolutions, the spread of Democratic and Libertarian ideas</small>
#[[/Napoleonic Europe and Reactionism/|Napoleonic Europe and Reactionism]]
=== Period 5- Industrialization and Global Integration, c. 1750 to c. 1900 ===
#[[/The Industrial Revolution/|The Industrial Revolution]] - <small>Its beginnings and consequences.</small>
#[[/Changes in East Asia/|Changes in East Asia]]
#[[/The Age of Imperialism, Part II/|The Age of Imperialism, Part II]]
=== Period 6- Accelerating Global Change and Realignments, c. 1900 to the Present ===
#[[/Causes and course of the First World War/|Causes and course of the First World War]]
#[[/Effects of the First World War/|Effects of the First World War]]
#[[/The Russian Revolution/|The Russian Socialist Revolution]] - <small>The Russian Revolution, Civil War, and the advent of Communism</small>
#[[/The Interwar Years/|The Interwar Years]] - <small> The Great Depression and the changes in society and culture during the interwar period</small>
#[[/The Rise of Dictatorship and Totalitarianism/|The Rise of Dictatorship and Totalitarianism]] - <small>Fascism and the like.</small>
#[[/Causes and course of the Second World War/|Causes and course of the Second World War]] - <small>The Axis and Allies.</small>
#[[/Consequences of the Second World War/|Consequences of the Second World War]] - <small>The shift of powers, and the change of world order.</small>
#[[/The Collapse of Imperialism - Freedom, Change, and Revolution/|The Collapse of Imperialism - Freedom, Change, and Revolution]] - <small> The end of the Empires </small>
#[[/The Cold War/|The Cold War]] <small></small>
#[[/The World Economy/|The World Economy]]
#[[/A New Millennium/|A New Millennium]] - <small>Challenges and developments in the present day.</small>
==Appendices==
#[[/Conflicts/|Conflicts]]
#[[/Major Figures/|Major Figures]]
#[[/Technology/|Technology]]
#[[/Exam Prep/|Preparing for the AP Exam]]
==Other==
#[[/Authors/|Authors]]
{{Alphabetical|W}}
{{Shelves|History}}
{{status|50%}}
__NOTOC__ __NOEDITSECTION__
[[cs:Světové dějiny]]
[[ja:世界史]]
[[simple:World History]]
[[zh:世界歷史]]
mv1z5ilu3isca47zudurpx4qn9eytk8
Indonesian/About
0
1616
4634659
3982753
2026-05-07T16:05:10Z
Fishingb0at
3581945
Added name
4634659
wikitext
text/x-wiki
<noinclude>{{Indonesian Contents}}
</noinclude>
{{TODO|todonote=(1) Need to restructure the Indonesian Language wikibook to be aligned with French Language wikibook, and (2) Need to create a more coherent lesson plan}}
== Current Development ==
* General: [[Talk:Indonesian|the main talk page]].
* Lessons: [[Indonesian/Lessons/Planning|Lessons planning page]].
== Downloadable and Print Versions ==
* [[Indonesian/Print version|Complete Print Version]]
* [[Media:Indonesian.pdf|Complete PDF Version]]
** [[:File:Indonesian.pdf|Description Page]]
** First Edition • on progress • XXX MB
** Previous Editions:
*** Not yet available
* Specific/Detailed Book Versions:
** [[Indonesian/Lessons/Print version|Lessons Print Version]]
** [[Indonesian/Grammar/Print version|Grammar Print Version]]
*** contains tenses and minor pages not included in the general print version
** [[Indonesian/Texts/Print version|Texts Print Version]]
*** contains texts too long for the general print version
If a lesson, grammar page, appendix, ot text has been added or the name of an existing page has been changed, please update the print version.
== Lessons Information ==
{{:Indonesian/Lessons/Information}}
== Templates ==
* General Templates
** [[Template:Indonesian Contents|General Contents Header]] – Please add this to the '''top''' of any newly created '''Indonesian''' page, below the specific header.
** [[Template:Indonesian Contents Footer|General Contents Footer]]
** [[Template:Indonesian Table|Table Header]]
** [[Template:Indonesian Contribute|Contribute Message]]
* General Lesson Templates
** [[Indonesian/Lessons/Information|Lessons Information]]
** [[Template:Indonesian Lessons|Lessons Full]] – Please add this to the '''bottom''' of any newly created '''lessons''' page.
** [[Template:Indonesian Lessons Compact|Lessons Compact]]
** [[Template:Indonesian Exercises|Lesson Exercises]] – Please add this to the '''top''' of any newly created '''exercise'''. See [[Indonesian/Appendices/Exercises|here]] for format.
* Level Specific Lesson Templates
** [[Template:Indonesian/Lessons/Introductory/Header|Introductory Lessons Header]] – Please add this to the '''top''' of any newly created '''introductory lessons''' page.
** [[Template:Indonesian/Lessons/Introductory/Footer|Introductory Lessons Footer]] – Please add this to the '''top''' of any newly created '''introductory lessons''' page.
** [[Template:Indonesian/Lessons/Level one/Header|Lessons Level One Header]] – Please add this to the '''top''' of any newly created '''level one lessons''' page.
** [[Template:Indonesian/Lessons/Level one/Footer|Lessons Level One Footer]] – Please add this to the '''bottom''' of any newly created '''level one lessons''' page.
** [[Template:Indonesian/Lessons/Level two/Header|Lessons Level Two Header]] – Please add this to the '''top''' of any newly created '''level two lessons''' page.
** [[Template:Indonesian/Lessons/Level two/Footer|Lessons Level Two Footer]]Please add this to the '''bottom''' of any newly created '''level two lessons''' page.
** [[Template:Indonesian/Lessons/Level three/Header|Lessons Level Three Header]] – Please add this to the '''top''' of any newly created '''level three lessons''' page.
** [[Template:Indonesian/Lessons/Level three/Footer|Lessons Level Three Footer]] – Please add this to the '''bottom''' of any newly created '''level three lessons''' page.
* Grammar Templates
** [[Template:Indonesian Grammar Header|Grammar Header]] – Please add this to the '''top''' of any newly created '''grammar''' page.
** [[Template:Indonesian Grammar Footer|Grammar Footer]] – Please add this to the '''bottom''' of any newly created '''grammar''' page.
** [[Template:Indonesian Tenses|Verb Tenses]]
* Appendices Templates
** [[Template:French Appendices Header|Appendices Header]] – Please add this to the '''top''' of any newly created '''appendices''' page.
** [[Template:French Appendices Footer|Appendices Footer]] – Please add this to the '''bottom''' of any newly created '''appendices''' page.
* Texts Templates
** [[Template:Indonesian Texts Header|Texts Header]]
** [[Template:Indonesian Texts|Texts Footer]]
== History ==
Roby Joehanes initiated this wikibook in 2003. However, unhappy with the collaboration in Wikibook, he resigned in late 2003. This wikibook is then developed by
== Authors ==
The [[Indonesian]] textbook was started by [[User:robbyjo|Roby Joehanes]]
Edit: If you look at Robby Jo's profile, it states that he has given up contributing to WikiBooks Indonesia. Although he will be sorely missed [from this place], his presence is much needed. Either we petition for him to come back, or we continue this great Wiki from where he left off ~Cheetincheetah
Other Contributors:
# [[User:Mr john|John Holdaway]] has made some modest additions and looks forward to doing more soon.
# [[User:Kunderemp|Kunderemp]] has made some addition and looks forward to doing more soon
# [[User:Singkong2005|Singkong2005]]
# [[User:Chaerani|Chaerani]] not an Indonesian linguist but a native Indonesian speaker, and will try to help out when the mood strikes. Currently reorganizing the book following the French standard.
# [[User:tombrinck|Tom Brinck]] is studying Indonesian and making proofreading corrections as he works his way through. (If you'll add content, I'll gladly clean it up and make it flow well.)
# [[User:Aldnonymous|Aldnonymous]] Native Indonesian speaker from [[m:w:en:Yogyakarta|Yogyakarta]], Indonesia. I usually translate things from en to id and vice versa on Translatewiki and Meta.
# [[wikipedia:User:Fishingb0at|Fishingb0at]] Native Indonesian speaker.
* Feel free to add your (real or user) name to this list if you made any contributions to this book.
<noinclude>{{Indonesian Contents Footer}}{{BookCat}}</noinclude>
bbrof68lev3hbnusmng53fl5tg5jkm8
Aros/User/Docs
0
13106
4634672
4631713
2026-05-07T17:30:05Z
Jeff1138
301139
4634672
wikitext
text/x-wiki
{{ArosNav}}
==What is AROS==
Google translation
[http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian],
[http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish],
[http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%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%2FUser%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%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean],
[http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese],
*Computer Hardware
*AROS (operating system)
*Applications and Games
*User
[http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and also PC 32bit hardware but also on motorola 68k and compatibles, some ARM and PowerPC.
This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it.
Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option.
AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative.
Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear].
AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access.
Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences.
Good Sites to visit
: [https://www.arosworld.org/home.php Aros World User forum]
: [https://ae.arosworld.org/ Aros Exec site relocated]
: [https://arosnews.github.io/ AROS News]
: [https://www.osnews.com/topic/amiga-aros/ OSNews]
: [https://www.reddit.com/r/aros/ Reddit]
: [https://www.facebook.com/ArosWorkshop/ Aros Workshop],
: [https://archives.arosworld.org Aros Archives]
: [https://aminet.net/ Aminet]
: [https://aros.sourceforge.io AROS]
: [https://github.com/aros-development-team/AROS Codebase]
: [https://github.com/aros-development-team/AROS/issues Issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs site]
: [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds],
: [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version]
: [https://sites.google.com/view/arosone Aros One x86, x64]
: [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64]
: [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian]
: [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition]
: [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition]
: [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides]
: [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [],
:[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], [http://www.pegasos.org/index.php Genesi activity],
: [https://forum.amiga.org/ Amiga OS AOS 3.x forum]
: [http://eab.abime.net/ EAB Amiga]
: [http://www.amigaworld.net/ AmigaWorld]
: [http://www.amiga-news.de/en/ English translation of German site]
: [http://www.ppa.pl/ Polish Amiga Like News]
: [http://www.apollo-core.com/ Apollo Forum]
: [https://amigaalive.blogspot.com/ AmigaAlive]
: [https://www.amigalove.com/software Disk Mags]
: [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam]
: [https://www.reddit.com/r/amiga/ Amiga]
== Distributions aka Distros ==
For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required.
* For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros],
* For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros],
* For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision],
* For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One],
* For hosted ARM there is Aeros and wip native RaspberryPi
AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS.
Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted".
AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support
AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users.
* The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken.
There are two standards ABIv0 (old) and ABIv1 (newest).
*ABIv1 ABIv11 nightly builds for 64bit PC builds, it is where the most work is done by developers
*ABIv0 is needed for 32bit (which also runs on 64bit) intel / amd distributions
==Media==
AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order)
* USB .VHD
[https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below
<pre>
7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip
cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip
e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip
559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip
93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip
59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip
24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip
f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip
e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip
</pre>
[https://tinyaros.flazio.com/ Tiny AROS]
22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024)
There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb
Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher],
Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd,
Mac -
* Virtual Machine .ISO or CDs DVDs
The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar
<pre>
11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip
f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip
86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip
f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip
</pre>
You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB.
no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it.
The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC.
The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions.
You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS.
Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information
Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names.
Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further.
Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead.
* SD-card
For ARM Pi Aros, copy the files onto a FAT32 formatted SD card.
==Booting==
The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system.
Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed
*go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode
*you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD
*disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence
Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims.
For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after)
The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs.
After the grub graphics choice, AROS takes over the booting and any issues can arise here
=====Advice for various machines=====
Some of the stages involved and shown on the display in a typical AROS boot start up
<pre>
[MultiLoader]
[ELF Loader]
[Boot]
[HPET]
[Kernel:ACPI]
[Kernel:APIC-IA32]
[Kernel:SMP APIC]
[HiddStorage]
ACPI: ????
ACPI Error
[ACPI]AcpiOs????
[BattClock] Got RTC century offset 0x32 from ACPI
[PCI] Scanning bus ?
[AHCI] Sata
[Vesa] only if vesa is chosen as graphics option
[ATA] detect hd & cd drives
[ATA0?] ata-identity
[packet] fat.handler be.handler, etc.
[DOS]
[Storage:Bus]
[Storage:Controller]
[MSS] USB setup
[ehciInit] Port ? maps to controller ?
[I2C]
[ATI]
[drm] nouveau
[AROSTCP] if you have network driver prefs set up to start when booting
</pre>
; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen.
AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot.
If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use.
SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting
The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use.
Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging:
<pre>
Disable AHCI "AHCI=disable"
Disable NVME "NVME=disable"
Disable ATA: "ATA=disable"
Disable ATA: "ATA=nopci,nolegacy"
ATA safe mode: "ATA=nodma,32bit"
Disable IDE from SATA: "ATA=32bit,nosata2pata"
VIA / SIS with cdrom read io errors "ATA=nodma,nopoll"
noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't
Set AHCI "AHCI=force150/force300/force600"
Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K
Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K
Disable native graphics: "nomonitors"
USB3 "USB=xhci"
</pre>
Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll
Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB.
* If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log.
* ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line
If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization).
However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you
For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image
If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards)
=====nvme.device=====
Since 2018, nvme drives are standard on most machines
Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups.
=====AHCI=====
Starting taking over since 2011 on a lot of machines
* Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM
* SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI
AHCI sata can be very difficult to get working
Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused.
Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups.
With a 16C/32T chip machine, disable SMT and it should boot.
=====ata.device for old BIOS's =====
Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level
Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer).
*Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM"
* At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice.
* check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that.
'''Save''' options changed at the end.
PCITool can show if the motherboard chipset is in IDE mode.
Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation.
==Installing==
We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here]
We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu
error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot
<pre>
#module /Devs/ahci.device << disable
module /Devs/Alt/ata.device << add this line instead
</pre>
==File structure overview==
AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions.
AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders).
{| class="wikitable"
|C:
| small apps, where AROS looks first for applications/games but will look at Tools, System afterwards
|----
|Devs:
| .audio, .hidd, network, graphics and other hardware device drivers are stored
|----
|L:
| where .handler files go
|----
|Libs:
| where .library files go
|----
|Prefs:
| applications that adjust or setup AROS functions and capabilities
|----
|S:
| startup scripts (for the aros boot process '''not''' grub) are stored here
|----
|Storage:
| place to keep old or alternative device drivers
|----
|System:
| applications associated with AROS operating system
|----
|Tools:
| extra applications
|----
|}
See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]]
=== Filesystem ===
Whilst the kernel is the heart, the filesystem is the blood of the system...
*Journalling - ZFS XFS ext4 NTFS SFS PFS3
*Non-journaling - BtrFS [http://aminet.net/disk/misc ext2] exFAT FAT32(VFAT) FFS
Filesystem options for AROS to install
* SFS default
* Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 m68k]
* FFS very old now but left for legacy usage
Other [http://archives.aros-exec.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes
* FAT32 favorite as most OSs support
* NTFS (can lock system)
* exFAT
PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive
SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But since you can defrag SFS
The only filesystems that really NEED defragging are from Microsoft(TM) - exFAT/VFAT/NTFS
<pre>
Copy L/exfat-handler L:
DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows:
FileSystem = exfat-handler
DosType = 0x46415458
</pre>
<pre>
Copy L/ntfs3g-handler L:
DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows:
FileSystem = ntfs3g-handler
DosType = 0x4e544653
Also to make a read-only mount you can set:
Control = ro
</pre>
The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features.
SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS.
Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches.
In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code].
SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless
AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit.
The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc.
SFS Tools
* GUI - arSFSDoctor,
* CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark,
sfscheck dh0: seek purge fraglist defragment
If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back.
A bit error on the harddisk would give this error.
PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only.
The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS.
PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader.
The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device.
The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact.
When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update.
The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used.
It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root.
PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc.
Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though.
The PC equivalent of the Amiga's RDB is the master boot record (MBR).
===Installing Applications===
The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off.
At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists.
===User Data files===
AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location.
For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed.
===User Environment configuration files===
AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc.
During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot.
Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent.
Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env.
ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze.
Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:.
you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen.
===Drivers===
All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer.
==Configuring==
AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune
AROS has several desktop GUI front ends like
* DOpus5 Magellan, Wanderer and Scalos (medium)
* AROS Workbench, Workbook (smaller)
File / Directory managers like Dopus4, MCAmiga,
App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc.
General usability decisions - Prefs/IControl,
Most apps can be autostarted by copying into SYS:WBStartup directory folder
e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder
ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer
or add a text line to user-startup is SYS:S (scripts version of wbstartup)
e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script
run QUIET sys:Tools/Commodities/ClickToFront >Nil:
run QUIET sys:Tools/Commodities/DepthMenu >Nil:
run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil:
Exchange controls Commodities and can be opened with alt, ctrl, h
Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS.
In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys
<pre>
ALT TAB Cycle Windows
Cycle Screens
Enlarge Window
Shrink Window
Toggle Window Size
Insert Text
Run Program
Run Arexx Script
</pre>
e.g.
<pre>
LAmiga F1 = Avail Flush
LAmiga F2 = Open Prefs
LAmiga F3 = Finder
Alt Tab = Cycle Windows
LAmiga Tab or M = Cycle Screens
Alt Up arrow = Enlarge Window
Alt Down arrow = Shrink Window
Alt Home = Toggle Window Size
= Insert Text
LAmiga e = Run Program
= Run Arexx Script
</pre>
If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO".
Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown:
SYS:Prefs/Input USE SYS:Prefs/Presets/english
Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts.
Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like
*Desktop - DOpus5, Scalos
*Dock - FKey,
*Files - Multiview, DOpus4,
*Internet Apps - Odyssey, WookieChat,
*General Apps -
the shell can be modified with escape strings but not needed in most cases
Common Keyboard Shortcuts
<pre>
RAlt Right Alt Key
LAlt Left Alt Key
RWinKey Right Windows Key
LWinKey Left Windows Key
RAmiga Right Amiga Key (if one)
LAmiga Left Amiga Key (if one)
</pre>
;Bootup Options
:Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc
;Left Click
:LAmiga = LWinKey = F11
;Right Click
:RAmiga = RWinKey = F12
;Mark
:RAmiga and B
;Cut
:RAmiga and X
;Copy
:RAmiga and C
;Paste
:RAmiga and V
;Search
:RAmiga and S
;Mouse Movement
LAmiga and together with arrow keys - shift as well at the same time as well to move faster
;Mouse Selection
LAmiga and LAlt to select
;Screen Switching
LAmiga and M or N
;HELP key
Can sometimes be mapped to F11 but can be changed via FKey
===DOpus 5 Directory Magellan===
Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop).
Left mouse button clicked twice on the desktop background brings up the Device List window.
Green strip notifies SRCE (source) and if another is open it may be red for DEST (destination). clicking on the red strip changes to green
Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button next to it
single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use.
As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous.
Settings (Right Win key together with 4) -> Themes i.e. assign D5THEMES: DOPUS5:Themes
*Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List
*Listers -> Menu (Right Win Key together with 2)
*Buttons -> Editor (Right Win Key together with 3) unknown
*Settings -> Clock (add to title bar as well as the date)
*Settings -> Environment (Right Win key together with 4) for Backgrounds, etc
*Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7)
Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories
* Screens (jpg or any picture supported by datatypes but not animations)
* Sounds (wav iff snd svx supported)
* Icons (png newicons glowicons )
* Desktop Patterns (iff )
Shift and click on the icon - runs the icon
arcdir
arexx / dopus5 scripts see dopus5/arexx/ folder
Just use wildcards in background filenames and you get different pics in reboots!
For example, configure in Environment -> Backgrounds -> Desktop something like this:
<pre>
Work:Pictures/Backgrounds/#?
...or:
Work:Pictures/back#?.iff
...etc...
</pre>
If you want change the bg backdrop pic in runtime after some time, an arexx-script for it (paste it into a text file called dopusrandbg.rexx or dopusrandbg.dopus5
<pre>
/* Changes DOpus background image forever
Start with:
Run >NIL: RX dopusrandbg.rexx
*/
if ~show("L", "rexxsupport.library") then do
if ~addlib("rexxsupport.library", 0, -30,0) then exit 10
end
/* Configure these two lines for your needs: */
minutes=1
picpath="Work:Pics/#?.iff"
address DOPUS.1
do forever
call delay 3000*minutes
dopus set background '"'picpath'"' desktop center custom
dopus refresh background custom
end
</pre>
If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command
<pre>
/* random diropus backdrop changer */
/* by paul trauth, 1999 */
/* to do: non-repeatable randomness? */
options results
parse arg path
address DOPUS.1
/* get current backdrop pattern so it actually changes */
dopus query background desktop custom
currentpatt=result
lastslash=lastpos('/',currentpatt)
currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1))
dir=showdir(path,'FILE','/')
num=0
do while dir~=''
where=pos('/',dir)
if where>0 then do
file=left(dir,where-1)
dir=right(dir,length(dir)-where)
end
else do
file=dir
dir=''
end
if left(file,1) ~='.' & file~=currentpatt then
do
pics.num=file
num=num+1
end
end
which=random(0,num-1,time(s))
newbg='"'||path||'/'||pics.which||'"'
dopus set background newbg desktop tile precision exact
dopus set background on
dopus refresh background
</pre>
It's WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this...
RX "address WORKBENCH;WINDOW 'device:drawer' OPEN"
Where device:drawer is replaced by the path of the drawer to open.
The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx
[http://sourceforge.net/projects/dopus5allamigas/ DirOpus 5 Magellan], [https://sourceforge.net/p/dopus5allamigas/discussion/dev/ discussions], [http://sourceforge.net/p/dopus5allamigas/code/515/tree/ src code],
===Wanderer ===
Backgrounds icon text sizes, colors, etc. with wanderer prefs in the prefs drawer but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures
Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’.
Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs
Provides a way to hide the old Workbench 3.1 style of windows and screens.
Themes - SYS:Prefs -> Appearance
The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot.
* Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"?
You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line:
Assign THEMES: SYS:SYSTEM/THEMES >Nil:
This does the trick.
Open a shell and run:
Assign THEMES: SYS:SYSTEM/THEMES
Than start the Theme prefs again... this should work
* The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence.
[http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager.
[http://sites.google.com/site/arosaspireone/download-1 Global.Prefs]
===Scalos===
[https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components.
Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available.
24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop.
Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped.
Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons.
Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined).
Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable.
Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench.
Online update with updater.module
Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers
* Scalos uses the Workbench Screen for its windows instead opening a new one
* AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos
* all Programs placed in "WBStartup" should start
* The Screen will be reopened in case of changes in ScreenMode and Palette settings
<pre>
v1.0 (V39.201) - November 1999
v1.1 (V39.212) - December 1999
v1.2b (39.220) - June 6, 2000
v1.2d (39.222) - 2000 (latest public beta executable)
v1.3 (40.7) (beta) - August 2, 2001
v1.3 (40.22) - September 25, 2002
v1.4 (40.32) (beta) March 31, 2005
v1.6 (41.4) - March 27, 2007
v1.7 (41.5) - August 12, 2007
v1.8 (41.6) - March 12, 2009
v1.9 (41.7) (beta) - March 15, 2010
v1.9 (41.8) (RC1) - August 25, 2012 open source
v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k
</pre>
Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list],
Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer
or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory.
<pre>
ASSIGN Scalos: SYS:xxx/xxx DEFER
ASSIGN Libs: Scalos:Libs add
;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add
Assign Theme: Scalos:Themes/Default_Theme add
Assign Locale: Scalos:Locale add
Protect Scalos:Tools/browse.script s add quiet
Protect Scalos:Tools/OpenShell s add quiet
Protect Scalos:Tools/run.script s add quiet
run Scalos:Tools/LoadWB
;Scalos:Scalos
</pre>
Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries'''
In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas
<pre>
About Scalos
Paths - should be preset
Startup - WBStartup drawer contents should auto run on each startup
Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop)
Icons -
Drag and Drop -
Windows -
Text Windows - in misc, drawer sorting at start of listing if needed
TrueType Fonts - use Truetype fonts rather than system ones
Miscellaneous -
Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added
Modules - ??
Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties
FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support
PopupMenu - tweak how popups appear
Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre
Palette - change the color of things , Save as Palette.pre
</pre>
Scalos_Prefs - Pattern - Minimum options to be changed are
*DE Desktop/Background
*SC Screen
*TW Window/TextBackground ie Text listing showing if icon type not recognised
*IW Window/Background ie Icons showing
Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save
Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc.
Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos.
Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened.
*Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows.
*Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change.
*Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly.
Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture
Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set.
<pre>
Desktop: Number of the Picture for the main window.
Screen: Number of the picture for the Scalos-Screen.
Window: Number of the picture for the Scalos-windows.
TextMode: Number of the picture for the Scalos-windows in Text Mode.
</pre>
Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc.
Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules
<pre>
DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu
INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes"
POPUPMENU Starts the popup menu description section for this filetype.
</pre>
The following Subcommands are allowed inside popup menus:
<pre>
SUBMENU "NAME/A"
ENDSUBMENU
MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S"
ENDMENUENTRY
INTERNALCMD "NAME/A"
WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N"
AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N"
CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N"
ICONWINDOWCMD "NAME/A"
PLUGINCMD
MENUSEPARATOR
ENDPOPUPMENU
TOOLTIP
ENDTOOLTIP
</pre>
<pre>
Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus:
GROUP "ORIENTATION/K"
ENDGROUP
MEMBER "HIDE/K"
ENDMEMBER
HBAR
STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K"
SPACE "SIZE/N/A"
DTIMAGE "FILENAME/A"
</pre>
Each theme drawer (folder) has these further folders
<pre>
About -
Desktop -
FileTrans -
FileType -
Icons -
Menu -
Modules -
PointerIcons -
Prefs -
Sound -
Window -
</pre>
*Plugins
<pre>
devicefilter.plugin
persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened
title_clock.plugin add digital clock to title see more below
title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar
title_freepens.plugin
volumegauge.plugin
wb39.plugin
wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals
xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows
filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile)
menu.plugin
</pre>
*Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties
*Tools - scripts like LoadWB, quit.rexx, open_volume.rexx,
In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan)
there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon
Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save
then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it.
defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype
Reset to Default in Scalos_Prefs resets all settings so BEWARE
<pre>
The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders:
%ti, displays the current time in the default Locale format. e.g. "10:43:37"
%da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001"
Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting
%a - abbreviated weekday name
%A - weekday name
%b - abbreviated month name
%B - month name
%c - same as "%a %b %d %H:%M:%S %Y"
%C - same as "%a %b %e %T %Z %Y"
%d - day number with leading 0s
%D - same as "%m/%d/%y"
%e - day number with leading spaces
%h - abbreviated month name
%H - hour using 24-hour style with leading 0s
%I - hour using 12-hour style with leading 0s
%j - julian date
%m - month number with leading 0s
%M - the number of minutes with leading 0s
%n - insert a linefeed
%p - AM or PM strings
%q - hour using 24-hour style
%Q - hour using 12-hour style
%r - same as "%I:%M:%S %p"
%R - same as "%H:%M"
%S - number of seconds with leadings 0s
%t - insert a tab character
%T - same as "%H:%M:%S"
%U - week number, taking Sunday as first day of week
%w - weekday number
%W - week number, taking Monday as first day of week
%x - same as "%m/%d/%y"
%X - same as "%H:%M:%S"
%y - year using two digits with leading 0s
%Y - year using four digits with leading 0s
</pre>
Shutdown -> right mouse button Scalos, About, Reboot, Shutdown
ToolTypes can be added to the Scalos.info icon like
*SCALOS_PATTERNNO=<number> : background image matching the number
*SCALOS_NOTEXT : The Icon will be drawn without Text.
*SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed.
*Module iconproperties - Added SCALOS_BROWSERMODE tooltype support
runcommand parameters... in which case:
<pre>
%p = parameters
%w = directory path
%d = device-name
%% = literal percentage token
</pre>
With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API
If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable.
ACTIVATEWINDOW
<pre>
/* Activate the root window */
ADDRESS workbench
ACTIVATEWINDOW root
/* Activate the "Work:" partition's window if already open*/
ACTIVATEWINDOW "Work:"
</pre>
CHANGEWINDOW
<pre>
/* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */
ADDRESS workbench
CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100
/* Change the currently active window */
CHANGEWINDOW active 20 40 200 100
</pre>
Most of Scalos' issue are due to the flexibility of its' user configuring nature but if
The sort menu plugin needs to be ported from ASM to C.
IIRC Scalos has a command line option to fully replace Workbench/Wanderer.
The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time.
The Program will be started from the Shell.
If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value.
IconWindow: Scalos opens the window of the specified path.
PlugIn: Starts a Scalos Menu-PlugIn.
If a Menu Item with empty name is specified, Scalos displays a separator line.
It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list.
Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will
not deselect all other icons.
MMB move: The window contents may be moved using the middle mouse button.
WindowPopup title only: PopupMenu for windows can be opened only on window's title bars.
FullBench: Screen-Titles removed and Main Window set Full Size.
Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop.
Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved
using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info.
Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown.
Many of my Icons display more than once on the screen, while on the workbench all seems ok.
The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines.
Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed.
If working with CD's causes crashs or Scalos doesn't work correctly.
Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs.
Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc)
Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool"
need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified.
* either "pattern", similar to magellan to identify file by ending
* or
Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar
For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed
sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably
Sometimes leaves initial drawer window imprint on desktop when moved - settings issue
Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted:
<pre>
Fixed:
Numerous crashes when working on 64-bit with 64-bit heap
Wrong background color of Scalos logo on Scalos splash window
Backgroung image of Scalos splash window and Scalos About window is not visible
Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font
Font.prefs are not being loaded on 64-bit
Font.prefs are being wrongly saved on 64-bit
scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference
scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k
NewPopupmenu.prefs is wrongly written
Plugins are not loading at Scalos startup
wbrexx.plugin is crashing at startup on 64-bit
Multiple controls missing on Scalos Prefs/Icons page
System crash when clicking on def icon image on FileTypes Prefs/Recognition page
Status bar, control bar, buttons sometimes don't have images displayed
Buttons in Scalos About window have white corners rendered where they should be transparent
Crash when leaving out an icon
Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs
Crash when removing any button from Control bar in Scalos Prefs
Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages
deficons.prefs are not being loaded on x86 and x86_64
Reset to default in FileType Prefs and Save does not save preferences
Won't fix:
Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences
Not fixed:
Wrong rendering on DualPNG icons
Refreshing drawer windows is slow
Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail
Desktop wallpaper is damaged where Splay window was displayed
When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window
Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs
</pre>
===DOpus 4 Directory Opus===
Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time
Another method is add the below to the bottom of the user-startup script in S: drawer/directory
<pre>
run DOPUS:DirectoryOpus -i >NIL
</pre>
makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open.
Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list.
DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format.
===AmiStart===
Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested
* how to disable annoying zune/mui 'bubbles'?
try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left.
===BoingIconBar===
User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards
Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save
<pre>
SYS:System/Shell
SYS:Tools/DOpus4/DOpus4
SYS:Utilities/Editor
SYS:System/SysMon
SYS:System/Scout
Work:Extras/Internet/OWB/OWB
Work:Extras/Graphics/Lunapaint
Work:Extras/Graphics/ZunePaint
AROS:Tools/MPlayer/MPlayer
Extras:Internet/AmiFox/AmiFox
</pre>
right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps
If no dock showing Add, to add apps click Add Program and search for the executable
another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar
===Icons===
Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc.
Leave Out menu option to leave app icon on desktop
To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected.
Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All.
In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX
C:Join Image1.png Image2.png TO MyFile.info
is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes.
[http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB]
[http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/
AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines.
there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like
Demos/iconscale 40 40
It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop.
there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like:
iconsize 32 32
Is there any way in AROS to change an icon type from Project to Tool or vice versa?
Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care).
processicon sys:pathoftheicon SIT=Project
SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon".
Btw, are your icons, the #?.info files, writable, is the W flag set ?
===Fonts===
Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others.
To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager.
Begin
The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard.
Custom Keyboard Layout
[http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards]
only need to add your compiled table as new keymap.
So taking a little peek here shows that it should be possible to compile using
gcc -opc105_tr pc_105.c -nostdlib
where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file
[https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards]
Installing fonts
*[http://aminet.net/package/util/wb/EPAGrWb System jaggy]
*Outline resizable .font .otag
In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts.
Final stages
After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works.
===Windows===
*Intuition
The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it.
As for maximising the window using a shortcut key - Alt and up arrow key
The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence
<pre>
; run shell
if ${Icaros/autoshell} EQ true
run QUIET c:newshell >NIL:
EndIF
</pre>
; slimmer right aros the screen
run QUIET c:newshell con:0/150//300/ >NIL:
; top right corner scr-x scr-y win-x win-y
run QUIET c:newshell con:600/150//300/ >NIL:
*Zune - AROS version of MUI
Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option.
Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts:
* the first using the command "cycle windows" (for example ALT TAB);
* the second using the command "rescue window" (for example ALT F5).
Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen.
How to save the window size on wanderer (snapshot all, snapshot windows)
Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon.
* how to set up permanently 'view all files'?
As for viewing all files, removing disk.info for that disk did the job
* how to list and kill processes (xkill would be useful) ?
sys:Extras/System/Scout can kill apps
sys:Tools/Commodities/Exchange can remove available commodities
* how to restore 'go up' button in wanderer window? (it doesn't show up anymore).
If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change.
* Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk)
yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise
===Printing===
This is still work in progress
print from my AROS box!
<pre>
1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer
2. set up the print spooler option, and used ghostscript filter for ps files
3. made the spool folder accessible from ftp (setting up ftp server on Windows)
4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password)
</pre>
It's a bit complicated but it works!
*Postscript
Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port
Save document in postscript or convert picture/text to postscript
Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer
*GutenPrint
Some work has been done
;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc.
===Files===
====File endings and datatypes====
* Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association.
* In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot).
* Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation].
For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF.
File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors.
'''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.'''
The enduser way would be to download the attached file, which contained two executables:
1) createdtdesc, to make a new datatype description
2) examinedtdesc, to read/show existing datatype descriptions
use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here).
use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors.
Note:
When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise).
<pre >
# name - choose wisely and informative. also used for icon's name.
# version - choose as you like as long as it complies with version rules
# basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually.
# pattern - This is the file pattern match e.g. #?.text
# Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable.
# GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file.
# ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter).
# flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not)
# priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0.
</pre >
Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer.
Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator
To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter).
And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS).
Sounds complicated ?
Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ).
Would that suffice ?
red1+2: typos, reformatting.
disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk.
==Network Connection==
AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers.
Please use Prefs/Network to set up wired, wireless or USB networking
Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs
===Wired===
=====IPv6=====
No support so far
128bit IPv6 address packet
<pre>
Local FD::/8
Global 2000::/3
64:ff9b::/96
</pre>
NAT64 translates IPv6 to IPv4
DNS64
OS routing works with
<pre>
MacOS Ventura
Windows 11 with cloud account
Ubuntu Jammy Jellyfish
Android 10 (block google dns)
</pre>
====IPv4====
The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part.
[[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]]
'''Upper part of IPv4 tab'''
* Click Add on the top right of the Prefs which opens a window called '''Interface'''
* Enter Name as net0 (but can be anything as long as it is consistently used in other sections)
* check mark on Active
* select device to be used using the '''right hand-side gadget''' of the box where the device name will go
* set Unit to 0
* IP Mode is default set to '''Get address from DHCP'''
* IP Mode set to Manual if DHCP does not work automatically
From the shell CLI, ifconfig -a
Under net0: section, inet starting 192.168.x.xxx
* inet or '''Address''' of network card
* netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into
* broadcast 192.168.xxx.xxx
click OK
[[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]]
'''Lower part of IPv4 tab'''
* IP Mode Get address from DHCP (default)
* or changing to Manual if automatic DHCP set up does not work
* '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual
* first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set
* second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set
* At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option
* Save and reboot (sometimes Network restart fails, so reboot every time to be sure)
'''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings.
e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all'''
and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs.
e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info
* for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS)
Please note that all in one routers (wired+wireless) or separate routers may need different settings
IPv4 involves routing (192,168.x.x), firewall, NAT
===Wireless===
[[File:MyArosWirelessSetup.png|thumb|Setting up]]
[[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]]
We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?.
or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based
There are many similarities with the above Wired set up so please read the above section as well
* open Network/Prefs
* In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically)
Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems.
* Go to '''Wireless''' tab and click on "Add" button.
* Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA".
* Key Type set as "Passphrase". i.e. type in your password for your router (aka access key).
* Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work.
* Finally, Save and '''reboot'''.
For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in.
===USB Ethernet===
Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick)
* click Add button
* set Name as net0
* Tick Active box
* enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling
* set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise)
* IP Mode is set to Get address from DHCP (make sure your router is set right for that)
'''or manual'''
* IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1)
* Subnet netmask = 255.255.255.0
* click OK
There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again.
Lower part of IPv4 tab covers the router information
* IP Mode Get address from DHCP
'''or if manual settings'''
* Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure.
* first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100
* second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100
===USB Tethering via Android smartphone===
Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br>
usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br>
Plug in USB cable, go to Android settings and enable "USB Tethering" <br>
A reboot should not be necessary.
When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser.
===Solving Issues===
[[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]]
* In Network Preferences, have '''only one''' item in the IPv4 Configuration tab
* If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four)
* For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin
* For wired, make sure that the LAN-cable is plugged in before starting the computer
* If wireless, try getting closer to the router.
* Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers
* Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5 dBi or 7 dBi
* Try with another computer/laptop/machine
Program Error C:WirelessManager
* Test with another OS
* Check that Wifi works before changeover (if possible)
* Check that socket and card are working
* Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc)
Are you connecting with the Router ?
Check with protection off e.g. wps and wep to see if it makes a difference.
For USB wireless - stopping and starting may be needed...
<pre>
; $VER: AROSTCP-startnet 1.0 (01/08/06)
; AROSTCP-startnet (c) The AROS Dev Team.
;
Run <NIL: >NIL: AROSTCP
WaitForPort AROSTCP
If NOT Warn
; echo "Stack online"
Else
echo "Wait for Stack Failed"
EndIf
; stop and restart
execute "sys:system/network/AROSTCP/s/stopnet"
Run <NIL: >NIL: AROSTCP
WaitForPort AROSTCP
If NOT Warn
; echo "Stack online"
Else
echo "Wait for Stack Failed"
EndIf
run <NIL: >NIL: wirelessmanager realtek8180.device
</pre>
What IRQ number is assigned to the device? You can check with Tools/PCITool?
It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"?
If the following does nothing, this will help us figure out why networking doesn't start automatically at boot
open a shell and run the following commands:
<pre>
echo ${AROSTCP/AutoRun}
echo ${AROSTCP/WirelessAutoRun}
echo ${AROSTCP/WirelessDevice}
</pre>
Please report the output, typically it will look like this
# True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs)
# True ()
# Devs:networks/atheros5000.device unit 0
If there's a problem with the AROSTCP package. What's the output of this?
ENV:sys/packages/AROSTCP
should return a string = Sys:System/Network/AROSTCP
By the way, a quicker way to check networking is working would be to run some shell commands such as:
<pre>
ping www.google.com
ifconfig net0
</pre>
The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell:
C:wirelessmanager atheros5000.device verbose
or
C:wirelessmanager realtek8180.device verbose
and capture the output
If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5?
<pre>
if ${AROSTCP/WirelessAutoRun} eq "True"
Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log"
wait 5
EndIf
</pre>
Then save, reboot and post the log file (T:wifi.log) here.
<pre>
c:wirelessmanager atheros5000.device verbose
Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A'
Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs'
Reading configuration file 'ENV:Wireless.prefs'
Line: 1 - start of a new network block
ssid - hexdump_ascii(len=7)
65 63 68 65 6c 6f 6e echelon
PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED]
key_mgmt: 0x2
PSK (from passphrase) - hexdump(len=32): [REMOVED]
Priority group 0
id=0 ssid='echelon'
Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration.
</pre>
looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)?
<pre>
Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A'
Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs'
Line: 1 - start of a new network block
ssid - hexdump_ascii(len=7):
65 63 68 65 6c 6f 6e echelon
PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED]
key_mgmt: 0x2
PSK (from passphrase) - hexdump(len=32): [REMOVED]
Priority group 0
id=0 ssid='echelon'
*** [wpa_sm_init] sm->pmksa=02c66fd4 ***
Own MAC address: 00:01:36:15:ae:0c
RSN: flushing PMKID list in the driver
Setting scan request: 0 sec 100000 usec
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: Supplicant port status: Unauthorized
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: Supplicant port status: Unauthorized
EAPOL: Supplicant port status: Unauthorized
Added interface atheros5000.device:0
State: DISCONNECTED -> SCANNING
Started AP scan for wildcard SSID
MLME: starting scan
MLME: scan channel 1 (2412 MHz)
sana2: sending MLME frame
Then it stops. Does this mean the router is not authorizing this NIC?
IRQ 4 (A)
</pre>
apparently locking up when the first frame is sent (a scan request).
<pre>
Devs/Networks/atheros5000.device:0
Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A'
Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs'
Reading configuration file 'ENV:Wireless.prefs'
Line: 1 - start of a new network block
ssid - hexdump_ascii(len=12):
41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300
PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED]
key_mgmt: 0x2
PSK (from passphrase) - hexdump(len=32): [REMOVED]
Priority group 0
id=0 ssid='AirLink59300'
*** [wpa_sm_init] sm->pmksa=0224e444 ***
Own MAC address: 00:1f:e1:42:e3:7a
RSN: flushing PMKID list in the driver
Setting scan request: 0 sec 100000 usec
[eloop_reg_timeout] Timeout is at 1317686594.160000
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: Supplicant port status: Unauthorized
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: Supplicant port status: Unauthorized
EAPOL: Supplicant port status: Unauthorized
[eloop_reg_timeout] Timeout is at 1317686595.060000
[eloop_reg_timeout] Timeout is at 1317686604.060000
Added interface Devs/Networks/atheros5000.device:0
[eloop_run] Starting
State: DISCONNECTED -> SCANNING
Starting AP scan for wildcard SSID
MLME: starting scan
[eloop_reg_timeout] Timeout is at 1317686594.160001
MLME: scan channel 1 (2412 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.193000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.233000
MLME: scan channel 2 (2417 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.253000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.293000
MLME: scan channel 3 (2422 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.333000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.373000
MLME: scan channel 4 (2427 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.393000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.433000
MLME: scan channel 5 (2432 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.473000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.513000
MLME: scan channel 6 (2437 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.553000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.573000
MLME: scan channel 7 (2442 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.613000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.653000
MLME: scan channel 8 (2447 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.693000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.713000
MLME: scan channel 9 (2452 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.753000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.793000
MLME: scan channel 10 (2457 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.833000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.853000
MLME: scan channel 11 (2462 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.893000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686594.933000
MLME: scan channel 12 (2467 MHz)
[eloop_reg_timeout] Timeout is at 1317686594.973000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.013000
MLME: scan channel 13 (2472 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.033000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.073000
EAPOL: disable timer tick
EAPOL: Supplicant port status: Unauthorized
MLME: scan channel 14 (2484 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.113000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.153000
MLME: scan channel 1 (2412 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.193000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.213000
MLME: scan channel 2 (2417 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.253000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.293000
MLME: scan channel 3 (2422 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.333000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.353000
MLME: scan channel 4 (2427 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.393000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.433000
MLME: scan channel 5 (2432 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.473000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.493000
MLME: scan channel 6 (2437 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.533000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.573000
MLME: scan channel 7 (2442 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.613000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.653000
MLME: scan channel 8 (2447 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.673000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.713000
MLME: scan channel 9 (2452 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.753000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.793000
MLME: scan channel 10 (2457 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.833000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.853000
MLME: scan channel 11 (2462 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.893000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.933000
MLME: scan channel 12 (2467 MHz)
[eloop_reg_timeout] Timeout is at 1317686595.973000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686595.993000
MLME: scan channel 13 (2472 MHz)
[eloop_reg_timeout] Timeout is at 1317686596.033000
sana2: sending MLME frame
[eloop_reg_timeout] Timeout is at 1317686596.073000
MLME: scan completed
</pre>
Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using?
<pre>
"ENV:sys/wireless.prefs" looks like this:
network={
ssid="testadhoc"
key_mgmt=NONE
wep_key0="12345"
wep_tx_keyidx=0
}
</pre>
If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks:
scan_ssid=1
Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options].
<pre>
ap_scan=1
network={
ssid="YOURESSID"
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk=YOURPASSWORD
}
</pre>
<pre>
filter_ssids=1
ap_scan=2
network={
ssid="REMOVED"
scan_ssid=1
bssid=REMOVED
priority=100
mode=0
proto=RSN
key_mgmt=WPA-PSK
auth_alg=OPEN
pairwise=CCMP
group=CCMP
psk=REMOVED
}
</pre>
Error 6: Couldn't resolve host name.
Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell:
C:WirelessManager realtek8180.device unit 0
some quirks setting up the wireless network as well
1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen
2) it's better using fixed IP on the local network instead of DHCP
3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them
once done, reboot.
If previous setup is proving problematic
<pre >
SYS:Prefs/Env-Archive/Wireless.prefs
SYS:Prefs/Env-Archive/Zune/OWB.config
SYS:Prefs/Env-Archive/Zune/global.config
SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice
SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces
</pre >
Make a copy of these files and restore in case of problems.
Please try this test to check if you can connect to your router, ie established that the WiFi layer is working
̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick).
̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE
̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here.
try running "status" in the shell and check that AROSTCP is listed/running
If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell.
Execute SYS:System/Network/AROSTCP/s/startnet
(run Status again afterwards).
The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address.
One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router.
Tests that can be undertaken to determine correct settings and functions
pciinfo
sanautil -d broadcom4400.device status
<pre >
ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de)
ifconfig net0
ifconfig net0 up
extras:networking/utils/sanautil/sanautil -d atheros5000.device status
WirelessManager atheros5000.device verbose >RAM:wifi.log
;to send the log to RAM disk to be read easier or if detected,
Run WirelessManager atheros5000.device >NIL:
Run WirelessManager atheros5000.device ssid="mynet1" >NIL:
C:WirelessManager realtek8180.device unit 0
</pre >
Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open.
start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens.
Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below:
<pre>
Internet <---------> home router <---------> computer
-----------external IP------------------internal IP-------------
</pre>
Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router.
You can see the external and internal IP addresses in these example settings...
* Default Gateway : 76.91.64.1 (external IP for ISP/Internet host)
* IP Address : 76.91.71.184 (external IP for home router)
* IP Address : 192.168.0.1 (internal IP for home router)
* Address = 192.168.0.161 (internal IP for computer)
As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client).
The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services.
Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address.
By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change.
So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses).
Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance.
When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network!
Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault.
Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here]
===File Sharing===
As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The remaining ones in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files between each other.
Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31.
An alternative, is to use a FAT32 partition. AROS could be installed on to a 4GB USB-key, with 512MB FAT32 partition for sharing, and the rest SFS. It works very well.
An hosted Linux or Windows install relieves some of the problems.
Files could be transferred [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=2915&viewmode=flat&order=ASC Sending] via TCP network.
====SMB2/3====
With Windows you can share one folder or all folders of the "Public" user.
On Windows what is important is to enable sharing (Network and Sharing Center).
AROS Mountlist should look lke this
<pre>
Handler = L:smb2-handler
StackSize = 65536
Priority = 5
GlobVec = -1
ACTIVATE=1
Startup = "smb://UserAcc:password@PCShare/Sharefolder"
</pre>
which could also be
"smb://UserPC:password@192.168.x.x/Public"
or
"smb://UserPC:password@Name-PC/Public"
so
"smb://UserPC:password@192.168.1.158/Folder"
or
"smb://UserPC:password@Name-PC/Folder"
After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted.
The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user.
====Old SMBFS====
e.g. to connect to a NAS share such as \\NASBOX\Shared use -:
SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to>
SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared
And you will then have an icon appear on your desktop for the volume name you have chosen.
You can put the above script into wbstartup or
give it an icon, change it to a 'project' and give it the default tool c:iconx
Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info"
This should create an icon for your script file.
Now right-click on your script and select 'information'.
Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save
The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it.
====Setup ISO images within AROS====
Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below....
<pre >
# Rename your iso 'Unit0' (note no extension).
# Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there.
(Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.)
# From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk.
</pre >
assign devname: dismount
Assign DOSVOLUME: remove
[http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet
If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text:
<pre>
/* Entry for ISO image */
ISO1:
FileSystem = cdrom.handler
Device = fdsk.device
Unit = 1
LowCyl = 0
HighCyl = 0
Surfaces = 1
BlocksPerTrack = 1
DOSType = 0x41434400
Activate = 1
#
</pre>
Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell:
Mount iso1: from devs:iso1
Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives
==Video Guides==
Video demonstrations and tutorials covering:
:00. '''Introduction'''
::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs],
::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009],
::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011],
:01. '''Installation'''
::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot],
::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive],
::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install],
::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install],
::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?],
::[ driver install],
::[http://www.vimeo.com/10491104 HDAudio install but needs account], [],
:02. '''Amiga Basics'''
::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial],
::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3],
:03. '''Customisation demos'''
::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos],
:04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps
::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial],
:05. '''Native bundled Games and Applications'''
::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010],
::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3],
::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4],
::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks],
::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos],
::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests],
::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG],
::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1],
::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010],
::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [],
::[], [], [],
::[], [], [],
::[], [], [],
:06. '''Commercial software available'''
::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor],
::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game],
:07. '''Running classic amiga apps and games'''
:: Amiberry [], [],
::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good],
::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial]
::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [http://www.youtube.com/watch?v=XTaZCNOvCnE],
::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2],
::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2],
:08. '''Misc and History'''
::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)],
:09. '''Misc Shows and Events'''
::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE ], [https://www.youtube.com/watch?v=DjdUEyjx8GM ], [https://www.youtube.com/watch?v=ydYDqZQpim8 ], [], [https://www.youtube.com/@uminekoshouten/featured ], [https://www.youtube.com/shorts/NfoY023w-vE ],
===History===
The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here]
* 1992 Commodore folds
* 1996-1998 much of the early years was concerned with exec, dos and intuition libraries.
* Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9.
* March 2001, floppy disk images of AROS became available.
* Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System
* June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system.
* November 2002, Eric Schwartz drew Kitty for AROS usage.
* Early 2003, AROS.org underwent a graphics facelift.
* Late 2003, GCC C compiler arrived.
* Early 2004, Aros-Exec opened.
* Early 2005, Aros Max bootable CD arrived.
* Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived
* Early 2007, AROS.org underwent another graphics facelift.
* Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation.
* Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched.
* Early 2009, Our first usable web browser (OWB)
* September 2010, first wireless support appears and AspireOS started as a distro
* Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported
* Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above)
* 2015 work started on using the extra cores of the PI 2
* Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version
* Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA)
* 2018 The old AROS Exec website closed and a new one opened
* 2019 AROS One distribution started and now with USB install version
* Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above)
* 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11
===Bounties===
To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here].
Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS — while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding).
[http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts...
;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB,
;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM,
;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k),
;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker,
* 1996 - The linux hosted version for i386 was the first to arrive
* 1998 - i386, The native version for i386-based PC AT computers and compatibles.
* 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers.
* 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers.
* 2009 - efika, The native version for PowerPC Efika computers.
* 2010 - m68k, The native version for m68k Amigas or WinUAE
* 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers.
* 2017 - x86/64bit smp
Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen
* yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device
* you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over)
Normal modem cable - straight connection DCE
<pre>
Pin 2 -> Pin 2 RXD
Pin 3 -> Pin 3 TXD
Pin 5 -> Pin 5 GND
</pre>
Null modem cable connections DTE
<pre>
Pin 2 -> Pin 3
Pin 3 -> Pin 2
Pin 5 -> Pin 5
</pre>
(9pole SUB-D)
<pre>
serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used)
speed baud transfer rate 9600 38400 lower baud might be more successful
data bits 8
stop bits 1
parity none
handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work)
</pre>
*You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on.
*68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others.
*PPC support is very limited to certain devices.
If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT
If you use user-startup instead, you need to add the attached command "after assignment to LUA"
C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL:
Change the command to match your WeatherBar path.
<pre>
PATH sys:Utilities/WeatherBar ADD
run >nil: lua:amilua weatherforecast.lua
</pre>
To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above
Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides
<pre>
internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset):
AmigaPL – Polish (Amiga)
Amiga-1251 – Cyrillic (Amiga)
ISO-8859-1 – Western European
ISO-8859-1+Euro – West European (with EURO)
ISO-8859-2 – Central/East European
ISO-8859-3 – South European
ISO-8859-4 – North European
ISO-8859-5 – Slavic languages
ISO-8859-9 – Turkish
ISO-8859-15 – West European II
ISO-8859-16 – South-Eastern European
KOI8-R – Russian
UTF-8 – Unicode
In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are:
IBM866 – Cyrillic (cp866)
ISO-8859-7 – Greek (LatinGreek)
ISO-8859-10 – Nordic (Latin 6)
windows-1250 – Central/East Europe (Windows)
windows-1251 – Cyrillic (Windows)
windows-1252 – West European (Windows)
</pre>
Icaros 2.3 USB image needs a header stripped so it can work correctly
dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync
Scalos
<pre>
-------------------------------
{ "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K",
HALIGN LEFT | CENTER | RIGHT
VALIGN TOP | CENTER | BOTTOM
STYLE NORMAL | BOLD | ITALIC | BOLDITALIC
FONT // font specification - format: "fontname.font/size"
-------------------------------
arguments for STRING SRC
"diskstate",
"diskusage",
"diskusagefree",
"diskusageinuse",
"diskusagepercent",
"fibfilename",
"filecomment",
"filedate",
"fileprotection",
"filesize",
"filetime",
"filetypestring",
"iconname",
"linktarget",
"plugin" pluginname <optional plugin arguments>
"versionstring",
"volumecreateddate",
"volumecreatedtime",
"volumeordevicename",
-------------------------------
arguments for HIDE
"novolumenode",
"isempty" (some STRING)
-------------------------------
all internal commands:
"about",
"backdrop",
"cleanup",
"cleanupbyname",
"cleanupbydate",
"cleanupbysize",
"cleanupbytype",
"clearselection",
"clone",
"close",
"copy",
"cut",
"delete",
"emptytrashcan",
"executecommand",
"formatdisk",
"iconify",
"iconinfo",
"lastmsg",
"leaveout",
"makedir",
"open",
"parent",
"paste",
"putaway",
"quit",
"redraw",
"redrawall",
"rename",
"reset",
"selectall",
"showallfiles",
"showonlyicons",
"shutdown",
"sizetofit",
"snapshot",
"snapshotall",
"snapshotwindow",
"unsnapshot",
"update",
"updateall",
"viewbydate",
"viewbyicon",
"viewbysize",
"viewbytype",
"viewbytext",
</pre>
{{status|50%}}
{{BookCat}}
cixik16sa7qk3y0jnm22g8wxekvgfit
Aros/Developer/Zune
0
13165
4634674
4540414
2026-05-07T17:44:25Z
Jeff1138
301139
4634674
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
<pre>
version muimaster.library is 19 for 3.8
is 20 for 3.9
is for 4.0 dynamic tabs simplification
</pre>
Zune is an object-oriented GUI toolkit. It is nearly a clone (at both API and Look&Feel level) of MUI, a well-known Amiga shareware product by Stefan Stuntz. Therefore, MUI developers will feel at home here, while others will discover the concepts and qualities that Zune shares with MUI.
The programmer has a much easier time to design its GUI: no need for hardcoded values, Zune is font-sensitive, and adapts to any window size due to its layout system. He/she mostly needs to only specify the semantic of its GUI to Zune, which will arrange the low-level details automatically.
Zune is based on the [https://library.morph.zone/Short_BOOPSI_Overview BOOPSI] system, the framework inherited from AmigaOS (TM) for object-oriented programming in C. Zune [[Aros/Developer/Zune/Classes|classes]] does not derive from existing BOOPSI gadget classes; instead, the Notify class (base class of the Zune hierarchy) derives from the BOOPSI root class.
* Many AROS GUI components (windows, requesters, gadgets, images) are now programmed in an object-oriented way, using the BOOPSI/Zune toolkit.
* Every such component is created as an object, not as a pointer to a system structure. That means no more filling structures with data.
* Objects are manipulated using methods and by passing tags via the SetAttrs() function.
Creating Prefs from scratch with using our Zune Prefs classes.
A good introduction to the BOOPSI system is the [http://amigadev.elowar.com/read/ADCD_2.1/Libraries_Manual_guide/node01FF.html Chapter 12, "BOOPSI - Object-oriented Intuition"]. Here BOOPSI NewObject() has been replaced by MUI_NewObject(), DisposeObject() becomes MUI_DisposeObject(), etc.
==Prerequisites==
Some knowledge of [http://wiki.answers.com/Q/What_are_the_concepts_of_object_oriented_programming OOP] {{w|object-oriented programming}} is more than welcome.
Knowing AROS APIs and concepts like [[Aros/Developer/Docs/Libraries/Intuition|taglists]] and BOOPSI is essential. As Zune is a MUI clone, all the documentation pertaining to MUI is applicable to Zune. In particular, the latest available MUI developer kit and MUI autodocs can be found at [http://main.aminet.net/dev/mui/mui38dev.lha here]. In this LHA archive, 2 documents are warmly recommended:
'''MUIdev.guide''', the MUI programmer documentation
and
'''PSI.c''' source code, demonstrating Zune practices like OOP and dynamic object creation
==Zune basics and conventions==
MUI (= Zune) sticks a prefix on the start to signify what is being access/changed:
* MUIA_ attribute
* MUIM_ method
* MUIV_ special values
==BOOPSI Primer/Concepts==
===Class===
A class is defined by its name, its parent class and a dispatcher.
'''name''': either a string for the public classes, so that they may be used by any program in the system, or none if its a private class used only by a single application.
'''parent class''': all BOOPSI classes are forming a hierarchy rooted at the class aptly named rootclass. It allows each subclass to implement its own version of specific parent operation, or to fall back on the one provided by its parent. Also known as base class or super class.
'''dispatcher''': it gives access to all operations (called methods) provided by this class, ensuring that each operation is handled by the proper code or passed to its super class.
BOOPSI type for a class is Class * also known as IClass.
===Object===
An object is an instance of class: each object has its specific data, but all objects of the same class share the same behavior. An object has several classes if we count the parents of its true class (the most derived one) up to the rootclass.
BOOPSI type for an object is Object *. It has no field you can directly access.
When a Zune object is created and destroyed several methods are called:
<pre>
OM_NEW
MUIM_Setup
MUIM_AskMinMax
[ window is opened here ]
MUIM_Show
MUIM_Draw
MUIM_Hide
[ window is closed here ]
MUIM_Cleanup
OM_DISPOSE
</pre>
If the documentation says that something is only valid between setup and cleanup it means that the first place where you can use it is the setup method and you aren't allowed to use it after cleanup.
===Attribute===
An attribute is related to the instance data of each object: you can not access these data directly, you can only set or get the attributes provided by an object to modify its internal state. An attribute is implemented as a Tag (ULONG value or'ed with TAG_USER).
GetAttr() and SetAttrs() are used to modify an object's attributes.
Attributes can be one or more of the following:
Initialization-settable (I) : the attribute can be given as parameter at the object creation.
Settable (S) : You can set this attribute at any time (or at least, not only creation).
Gettable (G) : You can get the value of this attribute.
===Method===
A BOOPSI method is a function which receives as parameters an object, a class and a message:
object: the object you act on
class: the considered class for this object.
message: contains a method ID which determines the function to call within a dispatcher, and is followed by its parameters.
To send a message to an object, use DoMethod(). It will use the true class first. If the class implements this method, it will handle it. Else it will try its parent class, until the message is handled or the rootclass is reached (in this case, the unknown message is silently discarded).
Summary, before a method can act on an object, it needs a BOOPSI message
<pre>
Function BOOPSI Method
NewObject() OM_NEW
DisposeObject() OM_DISPOSE
SetAttrs()/SetGadgetAttrs() OM_SET
GetAttr() OM_GET
</pre>
==BOOPSI Examples==
Let's see basic examples of this OOP framework:
Getting an attribute
We'll query a MUI String object for its content:
<syntaxhighlight lang="c">
void f(Object *string)
{
IPTR result;
GetAttr(string, MUIA_String_Contents, &result);
printf("String content is: %s\n", (STRPTR)result);
}
</syntaxhighlight>
Object * is the type of BOOPSI objects.
IPTR must be used for the type of the result, which can be an integer or a pointer. An IPTR is always written in memory, so using a smaller type would lead to memory corruption!
Here we query a MUI String object for its content: MUIA_String_Contents, as any other attribute, is a ULONG (it's a Tag)
Zune applications use more often the get() and XGET() macros instead:
<syntaxhighlight lang="c">
get(string, MUIA_String_Contents, &result);
result = XGET(string, MUIA_String_Contents);
</syntaxhighlight>
Setting an attribute
Let's change the content of our string:
<syntaxhighlight lang="c">
SetAttrs(string, MUIA_String_Contents, (IPTR)"hello", TAG_DONE);
</syntaxhighlight>
Pointers parameters must be casted to IPTR to avoid warnings.
After the object parameter, a taglist is passed to SetAttrs and thus must end with TAG_DONE.
You'll find the set() macro useful:
<syntaxhighlight lang="c">
set(string, MUIA_String_Contents, (IPTR)"hello");
</syntaxhighlight>
But it's only with SetAttrs() that you can set several attributes at once:
<syntaxhighlight lang="c">
SetAttrs(string,
MUIA_Disabled, TRUE,
MUIA_String_Contents, (IPTR)"hmmm...",
TAG_DONE);
</syntaxhighlight>
Calling a method
Let's see the most called method in a Zune program, the event processing method called in your main loop:
<syntaxhighlight lang="c">
result = DoMethod(obj, MUIM_Application_NewInput, (IPTR)&sigs);
</syntaxhighlight>
Parameters are not a taglist, and thus don't end with TAG_DONE.
You have to cast pointers to IPTR to avoid warnings.
=="Hello world" example sourcecode==
[http://www.aros.org/documentation/developers/zune/images/hello.png Screenshot 'Hello World']
<syntaxhighlight lang="c">
// gcc hello.c -lmui
#include <exec/types.h>
#include <libraries/mui.h>
#include <proto/exec.h>
#include <proto/intuition.h>
#include <proto/muimaster.h>
#include <clib/alib_protos.h>
int main(void)
{
Object *wnd, *app, *but;
// GUI creation
app = ApplicationObject,
SubWindow, wnd = WindowObject,
MUIA_Window_Title, "Hello world!",
WindowContents, VGroup,
Child, TextObject,
MUIA_Text_Contents, "\33cHello world!\nHow are you?",
End,
Child, but = SimpleButton("_Ok"),
End,
End,
End;
if (app != NULL)
{
ULONG sigs = 0;
// Click Close gadget or hit Escape to quit
DoMethod(wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
(IPTR)app, 2,
MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
// Click the button to quit
DoMethod(but, MUIM_Notify, MUIA_Pressed, FALSE,
(IPTR)app, 2,
MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
// Open the window
set(wnd, MUIA_Window_Open, TRUE);
// Check that the window opened
if (XGET(wnd, MUIA_Window_Open))
{
// Main loop
while((LONG)DoMethod(app, MUIM_Application_NewInput, (IPTR)&sigs)
!= MUIV_Application_ReturnID_Quit)
{
if (sigs)
{
sigs = Wait(sigs | SIGBREAKF_CTRL_C);
if (sigs & SIGBREAKF_CTRL_C)
break;
}
}
}
// Destroy our application and all its objects
MUI_DisposeObject(app);
}
return 0;
}
</syntaxhighlight>
===Remarks/General===
We don't manually open libraries, it's done automatically for us.
===GUI creation===
We use a macro-based language to easily build our GUI. A Zune application has always 1 and only 1 Application object:
: <code>app = ApplicationObject,</code>
An application can have 0, 1 or more Window objects. Most often a single one:
: <code>SubWindow, wnd = WindowObject,</code>
Be nice, give a title to the window:
: <code>MUIA_Window_Title, "Hello world!",</code>
A window must have 1 and only 1 child, usually a group. This one is vertical, that means that its children will be arranged vertically:
: <code>WindowContents, VGroup,</code>
A group must have at least 1 child, here it's just a text:
: <code> Child, TextObject,</code>
Zune accepts various escape codes (here, to center the text) and newlines:
: <code> MUIA_Text_Contents, "\33cHello world!\nHow are you?",</code>
An End macro must match every xxxObject macro (here, TextObject):
: <code>End,</code>
Let's add a second child to our group, a button! With a keyboard shortcut o indicated by an underscore:
: <code>Child, but = SimpleButton("_Ok"),</code>
Finish the group:
: <code>End,</code>
Finish the window:
: <code>End,</code>
Finish the application:
: <code>End;</code>
So, who still needs a GUI builder? :-)
===Error handling===
If any of the object in the application tree can't be created, Zune destroys all the objects already created and application creation fails. If not, you have a fully working application:
<syntaxhighlight lang="c">
if (app != NULL)
{
...</syntaxhighlight>
When you're done, just call MUI_DisposeObject() on your application object to destroy all the objects currently in the application, and free all the resources:
<syntaxhighlight lang="c"> ...
MUI_DisposeObject(app);
}</syntaxhighlight>
===Notifications===
[http://library.morphzone.org/Event_Driven_Programming,_Notifications Notifications] are the simplest way to react on events. The principle? We want to be notified when a certain attribute of a certain object is set to a certain value:
: DoMethod(wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
Here we'll listen to the MUIA_Window_CloseRequest of our Window object and be notified whenever this attribute is set to TRUE. So what happens when a notification is triggered? A message is sent to an object, here we tell our Application to return MUIV_Application_ReturnID_Quit on the next event loop iteration:
: (IPTR)app, 2,
: MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
As we can specify anything we want here, we have to tell the number of extra parameters we are supplying to MUIM_Notify: here, 2 parameters.
For the button, we listen to its MUIA_Pressed attribute: it's set to FALSE whenever the button is being released (reacting when it's pressed is bad practice, you may want to release the mouse outside of the button to cancel your action - plus we want to see how it looks when it's pressed). The action is the same as the previous, send a message to the application:
: DoMethod(but, MUIM_Notify, MUIA_Pressed, FALSE,
: (IPTR)app, 2,
: MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
===Opening the window===
Windows aren't open until you ask them to:
: set(wnd, MUIA_Window_Open, TRUE);
If all goes well, your window should be displayed at this point. But it can fail! So don't forget to check by querying the attribute, which should be TRUE:
: if (XGET(wnd, MUIA_Window_Open))
===Main loop===
Let me introduce you my lil' friend, the ideal Zune event loop:
: ULONG sigs = 0;
Don't forget to initialize the signals to 0 ... The test of the loop is the MUIM_Application_NewInput method:
: ...
: while((LONG) DoMethod(app, MUIM_Application_NewInput, (IPTR)&sigs)
: != MUIV_Application_ReturnID_Quit)
It takes as input the signals of the events it has to process (result from Wait(), or 0), will modify this value to place the signals Zune is waiting for (for the next Wait()) and will return a value. This return value mechanism was historically the only way to react on events, but it was ugly and has been deprecated in favor of custom classes and object-oriented design.
The body of the loop is quite empty, we only wait for signals and handle Ctrl-C to break out of the loop:
<syntaxhighlight lang="c">
{
if (sigs)
{
sigs = Wait(sigs | SIGBREAKF_CTRL_C);
if (sigs & SIGBREAKF_CTRL_C)
break;
}
}
</syntaxhighlight>
===Conclusion===
This program gets you started with Zune, and allows you to toy with GUI design, but not more.
==Notification actions==
Notification allows you to respond to events your application/gui or any other object might cause. Due to the attribute and method based nature of Zune, and a few special attributes, most applications can be almost completely automated through the use of Notification(s).
As seen in hello.c, you use MUIM_Notify to call a method if a certain condition happens. If you want your application to react in a specific way to events, you can use one of these schemes:
* Set An attribute. You can automate the passing of values from gadgets,
::etc to other gadgets. Setting values may also trigger other notification
::events.
* Invoke a method, for example:
::'''MUIM_Application_ReturnID:''' you can ask your application to return an
:: arbitrary ID on the next loop iteration, and check for the value in
:: the loop. This is the dirty old way of doing things.
:: '''MUIM_CallHook,''' to call a standard Amiga callback hook: this is an
::average choice, not object-oriented but not that ugly either.
::'''custom method:''' the method belongs to one of your custom class. It
::is the best solution as it supports object-oriented design in
::applications. It needs you to create custom classes so it may not
::the easiest for beginners or people in a hurry.
==Zune Examples/Tutorials==
*Being an AmigaOS3.x MUI clone, all AmigaOS3.x MUI code serves as example code for using AROS Zune.
*MUI example sourcecode "PSI.c", found in [http://ftp.sunet.se/pub/aminet/dev/mui/mui38dev.lha MUI3.8 developer archive]
*[http://code.google.com/p/guidetoamigacompatibleprogramming/source/browse/#svn/trunk/english Shinkuro's] Cross-Platform Guide gives information about compatible programming on Amiga-related platforms (Amiga, AROS, MorphOS) and [http://guidetoamigacompatibleprogramming.googlecode.com/svn-history/r6/trunk/english/CAP_4.txt MUI]
*[http://archive.is/20121225201004/robertnegro.wordpress.com/2012/10/30/aros-zune-programming-tutorials-for-beginners/ Good examples of Zune Main Classes]
*AROS itself contains lots of Zune examples. Download AROS sources and AROS contrib sources archives, take a look at the sourcecode of Zune programs. A good starting point are the Zune test programs, located in the SYS:Tests/Zune folder of AROS' binary distributions (e.g. the nightly build) - their sources can be found in the "test/Zune" folder of the AROS source archive.
*[[Aros/Developer/Zune/Examples|Zune example code collection]]
Some other good examples are here:
*[http://www.liquido2.com/tutorial/ An Introduction to AMIGA Programming Using C]
*[http://www.pcguru.plus.com/tutorial/introduction.html Programming AmigaOS in C]
*[http://library.morphzone.org/Magic_User_Interface_Programming Magic User Interface Programming] at [http://www.morphzone.org morphzone.org]
*[https://github.com/emartisoft/AmigaOS3.X-MUI-Examples Examples]
==Zune Reference==
*[http://aros.sourceforge.net/documentation/developers/zune-dev/index.php AROS Zune Development Manual] at [http://www.aros.org aros.org]
*[http://web.archive.org/web/20110526115419/http://www.sasg.com/mui/autodocs/index.html MUI Autodocs] online at [http://www.sasg.com sasg.com]
*MUI (=Zune) reference guide "MUIDev.guide", found in [http://ftp.sunet.se/pub/aminet/dev/mui/mui38dev.lha MUI3.8 developer archive]
*MUI Reference information from AmigaOS documentation can be found e.g. [http://utilitybase.com/forum/index.php?action=vtopic&forum=13 utilitybase.com/forum/...] or at [http://utilitybase.com/ref/ utilitybase.com/ref], it has a section on MUI. (Note: Information at that site is a little outdated, but still very helpful.) (2011-10-31: utilitybase.com currently down.)
==Tools==
===MUIBuilder===
A [http://archives.aros-exec.org/index.php?function=browse&cat=development/guitool native build] and [http://sourceforge.net/projects/muibuilder/ sourceforge svn repository] has been started and [[Aros/Developer/ZuneFurther]] documentation can be read. v3 is W.I.P. so it is not recommended for now.
This [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=5578&forum=1&post_id=52900#forumpost52900 thread] discussed using the m68k build and [http://www.mazze-online.de/files/mbtest.zip diff] file which modifications were necessary to make it build-able under AROS.
Summary
* added "#define MUI_OBSOLETE" to get some deprecated but needed defines
* changed/added some #include
* changed variable name Object to obj because Object is a type
* changed the Hook for the callback function
* last not least: added main.c which calls the functions to open/close the GUI.
Just go ahead and create your GUIS under any version of AROS or under amiga 68k version and do some modifications (which would be necessary for MorphOS/AmigaOS3/AmigaOS4, too).
===ChocolateCastle===
The [http://archives.aros-exec.org/index.php?function=browse&cat=development/guitool binary] which makes creating MUI classes and applications easier. Programmers using this system often avoid writing custom classes, being discouraged by a lot of boring and schematical typing. A significant part of a typical custom class may be generated automatically. This is usually 2 to 5 kB of source code. Automating this work speeds programming up and helps avoiding simple typing errors.
==Errors==
<pre>
Message
Solution SetAttrs() is vararg version of SetAttrsA() and expects a complete taglist so you must add TAG_DONE and not TAG_END.
</pre>
<pre>
Message
Solution
</pre>
<pre>
Message undefined symbols ... KeyString
Solution finally replaced KeyString(0,256,'f') by MUIA_CreateObject(MUIO_String,"f",256)
</pre>
<pre>
Message undefined symbols... GetAttr
Solution you need: #include <proto/intuition.h>
</pre>
<pre>
Message
Solution
</pre>
<pre>
Message
Solution #define MUI_OBSOLETE
</pre>
{{BookCat}}
[[ru:Zune]]
g5v3hx5aqwhatx9ibiq0bh6njxvr9kr
Cookbook:Beer Marinated Shrimp
102
13248
4634665
4630391
2026-05-07T16:53:25Z
Codename Noreste
3441010
4634665
wikitext
text/x-wiki
{{Recipe summary
| Category = Shrimp recipes
| Difficulty = 2
}}
{{recipe}}
This is an excellent shrimp dish that must be marinated overnight, so if you need dinner half an hour from now this isn't for you.
== Ingredients ==
* 2 [[Cookbook:Pound|pounds]] (900 [[Cookbook:Gram|g]]) peeled raw [[cookbook:shrimp|shrimp]]
* 1 [[cookbook:Onion|onion]], [[Cookbook:Slicing|sliced]]
* 3 cloves [[cookbook:garlic|garlic]], [[Cookbook:Mincing|minced]]
* 12 [[Cookbook:Ounce|ounces]] (340 [[Cookbook:Milliliter|ml]]) of [[cookbook:beer|beer]]
* [[cookbook:Tabasco Sauce|Tabasco sauce]]
* [[cookbook:Salt|Salt]]
* [[cookbook:pepper|Pepper]]
* [[cookbook:Butter|Butter]]
== Procedure ==
# Combine onion, garlic, shrimp, and beer in a plastic or glass bowl.
# Add as much Tabasco as you'd like (start with 1 tbsp) and some salt and pepper to taste.
# Cover and [[cookbook:marinating|marinate]] overnight.
# Remove shrimp from marinade, and discard marinade.
# Melt some butter in a pan and [[cookbook:sauté|sauté]] shrimp until pink and done. Don't overcook the shrimp or they'll be rubbery. You can also [[cookbook:grilling|grill]] the shrimp.
[[Category:Pescatarian recipes]]
[[Category:Halal recipes]]
[[Category:Recipes using beer]]
[[Category:Recipes using garlic]]
[[Category:Recipes using shrimp]]
[[Category:Marinade recipes]]
[[Category:Sautéed recipes]]
[[Category:Grilled recipes]]
[[Category:Main course recipes]]
[[Category:Recipes with metric units]]
[[Category:Recipes using butter]]
d05ddbiyvo9uspx025ggy91ec06aevg
User talk:Panic2k4
3
15929
4634686
4634531
2026-05-07T21:04:26Z
Panic2k4
2865
/* Working on it... */ added
4634686
wikitext
text/x-wiki
{{Return|to=User:Panic2k4}}
<div style="background-color: #c0cfcf">
{| align=right class=PrettyTextBox style="-moz-border-radius: 1em;" cellspacing="3"
|- valign="top"
|width="45%" style="border: 1px solid #000000; color: #000; background-color: #c0c0cf; |
<div style="padding: .4em .9em .9em">
{{User talk:Panic2k4/Header}}
{{center|1='''ASK QUESTIONS'''}}
;If you are going to ask any question first take some time and take a look into<br> [http://www.catb.org/~esr/faqs/smart-questions.html#intro How To Ask Questions The Smart Way ]... txs
----
{{center|1='''REPORT BUGS'''}}
;If you are going to report a BUG please take the time to look at this Guide first<br> [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html How to Report Bugs].</div>
|align=center cellspacing="3" width="20%" style="border: 1px solid #000000; color: #000; background-color: #c0c0c0"|
<div style="padding: .4em .9em .9em"> <small>
<h1>'''Archives'''</h1>
{{center|1=[[User Talk:Panic2k4/Archive2|here]] and in [[User Talk:Panic2k4/Archive1|Archive]].}}
'''C++ Programming'''
old discussion moved to<br>[[User Talk:Panic2k4/Archive2|Archive 2]], [[User Talk:Panic2k4/Archive3|Archive]]<br>
'''The user blocks saga'''
old post moved to <br>[[User Talk:Panic2k4/block|blocks]]<br>
'''essays'''<br>
[[User:Panic2k4/How To Do Nothing|How To Do Nothing]]</small></div>
|-
|colspan="2" width="80%" |
<div style="padding: .4em .9em .9em">
<div style="background-color: #cfcfcf">
== Working on it... ==
[[User:Panic2k4/Educational overview of consensus in human society|Understanding Consensus: How Groups Make Fair Decisions and Protect Everyone’s Voice]] - (archived)<br>
[[User:Panic2k4/Church of I|'''Chuch of I: The path to a consistent and coherent meta-physics''']] - (active)<br>
[[User:Panic2k4/Decision making and Community consensus on Wikibooks|'''Essay on Decision making and Community consensus on Wikibooks''']] - (active)<br>
[[User:Panic2k4/Historical and Linguistic Report on the Rise of English|'''Report: Historical and Linguistic on the Rise of English''']] - (active)<br>
[[User:Panic2k4/Improving English-Algorithmical|''Why Might '''algorithmical''' Be Missing from English?'']] - (active)<br>
<big>[[User:Panic2k4/No Magical Thinking Required: Pioneer Anomaly Case Solved|'''No Magical Thinking Required: Pioneer Anomaly Case Solved''']]</big><br>
<big>[[User:Panic2k4/Et tu, BBC?|'''Et tu, BBC? From External Projection to Internal Emotional Management''']]</big><br>
<big>[[User:Panic2k4/Language as Conceptual Encoding Why Social‑Action‑First Theories Fail|Language as Conceptual Encoding: Why Social‑Action‑First Theories Fail]]</big><br>
<big>[[User:Panic2k4/Knowledge, Coordination, and the Human Condition How Institutions Learned to Control Information|Knowledge, Coordination, and the Human Condition: How Institutions Learned to Control Information]]</big><br>
<big>[[User:Panic2k4/Artificial Mankind The Self‑Domestication of Man|Artificial Mankind: The Self‑Domestication of Man]]</big><br>
<big>[[User:Panic2k4/Engineering After Software Why the Old Definitions No Longer Fit|Engineering After Software: Why the Old Definitions No Longer Fit]]</big><br>
{{dynamic navigation
|title = Other planed '''Essays'''
|bodystyle=text-align:left;
|body =
<span class="plainlinks">
[[/Arbitration and it's applicability to Administrative actions|'''Essay on Arbitration and it's applicability to Administrative actions''']] - (stub) arbitrations, unblock, beyond wikiworld (real world liabilities), how to address events or accusations if you don't have prof or are not involved, great example [[http://en.wikibooks.org/w/index.php?title=Wikibooks%3AVotes_for_deletion&diff=769516&oldid=769429 here]] .<br>
[[/User Blocks (best practices)|'''Essay on User Blocks (best practices)''']]- (stub) how to avoid abuses, proxys other limitations on how to make people comply if not in good faith<br>
[[/Be Bold and restrictions|'''Essay on Be Bold and restrictions''']]- (stub) define the general restrictions (format, scope)<br>
[[/Administrators (users on a task)|'''Essay on Administrators (users on a task)''']] - (stub) no special insight, common users on a task<br>
[[/Authors and Contributor|'''Essay on Authors and Contributor''']] - (stub) Darklama/Whiteknigh view, history pages, anonymous contributions and IDs (to be extended on the another essay), real world liabilities (on copyright), Moving control toward a defined book community (see [[User:Whiteknight/Primary Authors|Primary Authors]] and argue against the Essay concept)<br>
[[/Forks|'''Essay on Forks''']] - (stub) show my divergences even with [[http://comments.gmane.org/gmane.science.linguistics.wikipedia.technical/14252 Jimbo on the forks]] (related to the C++ fork).<br>
[[/GFDL and copyright|'''Essay on the GFDL and copyright''']] - (stub) Darklama/WitheKnight view, erroneous identification (or claims of abuse of copyright), history pages problems and abuses or simply as misinformation, GFDL and Documentation (not software), WMF and GFDL/FSF, [[Wikibooks:Copyrights]], GFDL [http://www.fsf.org/licensing/licenses/gpl-violation.html violation] (only copyright holders), [http://www.copyright.gov/title17/92chap1.html Copyright Law of the United States of America], [[Wikibooks:Ownership]]<br>
[[/CrossTalk|'''Essay on using back channels to promote hegemony ''']]
(see also [[User:Panic2k4/A house with no law(n)]])</span>}}
{{dynamic navigation
|title = NOTES
|bodystyle=text-align:left;
|body =
{{NOTE|note=
[http://en.wikibooks.org/wiki/Talk:The_World_of_Peer-to-Peer_%28P2P%29 Examine and mine this] comment try to find a place for the info (P2P) --[[User:Panic2k4|Panic]] 04:21, 14 March 2007 (UTC)
----
Guideline needed to process and address requests of copyvio --[[User:Panic2k4|Panic]] 18:55, 27 February 2007 (UTC)
----
Find out what happened to the C++ Programming discussion archives.
----
'''Math exercises and info'''[http://en.wikibooks.org/w/index.php?title=User_talk%3APanic2k4&diff=1038225&oldid=1038224 1] move contribution of side project into wikibooks under a) general page to be used by others OR b) have to look for the proper places to include the stuff... --[[User:Panic2k4|Panic]] 20:15, 25 November 2007 (UTC)
----
[http://en.wikibooks.org/w/index.php?title=User_talk%3AMike.lifeguard&diff=1257855&oldid=1257291 User talk:Mike.lifeguard talk posts regarding speedy deletion, vfd and C++ toc] --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|talk]]) 18:11, 18 January 2009 (UTC)
}}
}}
{{center|1=[http://en.wikibooks.org/w/index.php?title=User_talk:Panic2k4&action=edit§ion=new Leave a new message]}}
</div></div>
|}
</div>
{{-}}
== [[Elements of Political Communication]] ==
Hi there,<br />
Since there isn't really a "peer review" process that I know of on Wikibooks, I was wondering if you could do me a favor. I've been working on [[Elements of Political Communication]] for a year or so, off and on when I had the time. At some point (though I'm not sure when) I'd like to nominate it for featured book status, but I still have a number of changes to make. I was wondering if you could skim through it and give me a few thoughts on style, structure, format, or anything else that crosses your mind. I've tried to keep it readable, printable, and most importantly, practical. It uses a [[Template:Quiz|new template]], so that probably should be checked out for any potential issues, too. If it isn't really your thing, could you possibly direct me to an editor who might help? Thanks a ton, – [[User:Runfellow|Runfellow]] ([[User talk:Runfellow|discuss]] • [[Special:Contributions/Runfellow|contribs]]) 16:51, 16 November 2012 (UTC)
:In regards to functioning and structure beyond the accepted conventions there has been many divergent views. I will gladly take a look and comment according to my preferences.
:I'm not a great supporter of the featured book process, but understand the validity of the goal of providing readers the more complete works.
:If you are after a preview of the process (by having the general community review the book outside of the featured book process itself) you could place an announcement on the [[Wikibooks:Reading room/Projects]] or you could first attempt to get an idea from those reading/editing/interested in the specific work ([http://stats.grok.se/en.b/latest60/Elements_of_Political_Communication Elements of Political Communication has been viewed 423 times in the last 60 days]) by adding a information box linking and promoting a dialog on the talk page. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 07:31, 17 November 2012 (UTC)
:One thing that I dislike but it is more a software limitation is having a large list of references/notes at the bottom of a page and it is one motive why I do not use beyond directly mentioning them in the text (or linking to Wikipedia where the reader can get more details and editors maintain the information).
:As an on-line reader I also prefer larger pages than a need to navigate across the work, especially if some of the pages have no real content in it. I have in my works attempted to join my need as an editor to have a larger view of the content with that reader preference (even useful for section printing) and attempt to provide a full chapter as a single page. Some people like it some don't but it can be done easily with wiki trasclusions and keep both sides happy (don't remember how it works out with the references/notes).
:I like the entry page, I would only move the search box up a bit since you provide navigation into subsections a online reader that is revisiting or someone that is just browsing may need to use it more than once and having it in the bottom of the page in todays widescreen setups is a bit bothersome. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 07:47, 17 November 2012 (UTC)
::Featured Book status obviously isn't a huge deal, just a way to spread the word a bit more and have a little fun. Regarding the references, I admit the structure is not very intuitive for more novice editors, but I think it works well for the time being as a consistent system that avoids the clutter you're talking about. On the subject of larger pages, I'll look into doing an transclusions, but a) I'm also keenly aware of the average person's reading habits online and b) the eventual goal here is to expand the content of each page, slowly but surely, with practical and useful information. I'll see about moving the search box; everything is a bit tightly packed in there right now that there's little room to maneuver. – [[User:Runfellow|Runfellow]] ([[User talk:Runfellow|discuss]] • [[Special:Contributions/Runfellow|contribs]]) 16:47, 20 November 2012 (UTC)
== Migration of other controversial content ==
Hi Panic,
I was thinking it might be good to migrate most of the content from [[wikiindex:NewgonWiki|NewgonWiki]] and [[wikiindex:BoyWiki|BoyWiki]] over here. I'm not sure what the title of the book(s) would be; perhaps [[boylove]], [[intergenerational sexuality]], or [[sexual emancipation of minors]], or something. This [https://www.newgon.com/wiki/Debate_Guide debate guide] provides some interesting arguments, for instance.
I'm not too familiar with the norms around here. Sometimes policy can say one thing, and practice can be quite another. Are one-sided polemics considered okay for inclusion? I figure, someone can create another book with polemics from the opposing viewpoint, so in that way, balance between different arguments can be achieved.
On some Wikimedia wikis, the topic of adult-child sexual relationships is so touchy that even advocating that this type of content be included could be considered grounds for banning the user. I don't see any such policy here, but I'm not in a mood to get banned, so I thought I'd ask first. Also, even if the reaction wouldn't be a ban, I don't like to create content that's just going to be deleted. Thanks, [[User:Leucosticte|Leucosticte]] ([[User talk:Leucosticte|discuss]] • [[Special:Contributions/Leucosticte|contribs]]) 23:51, 24 October 2014 (UTC)
:First I must confess that the subject in itself is something that I find displeasing in certain circumstances/context, but at the same time will acknowledge the need of making it visible and not hidden or made into a taboo. Humans are complex and society is often restrictive to fringe behaviors and minorities (for many reasons some bad others good).
:Having established that I would support the creation of a work regarding the subject if it conforms to a textbook with educational value, there are already books that could probably include this subject maybe [[Abnormal Sexual Psychology]]...
:As for keeping a specific viewpoint you will need to cement that as the specificity of the scope of the book and provide for a book specific community record/forum to process and approve changes and core modification so that they may be consensual and reduce interference for non-contributors. Note that due to its controversial nature there will be a high probability that someone will attempt to get the Wikibook's community in general to delete the project. It would certainly need extra care as to stay within our project's guidelines, if so then it is all up for to the value of the content and the argumentation for its existence here. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 06:11, 25 October 2014 (UTC)
== Cannot vs. can not on [[Computer Science Design Patterns/Singleton|Singleton Pattern]] ==
My apologies for the hasty edit. After some research, there does seem to be [http://english.stackexchange.com/a/4516 a lot of discussion] on the subject, and [http://www.oxforddictionaries.com/definition/english/cannot Oxford Dictionaries] states that can not is also acceptable.
Cheers, [[User:Hardwigg|Hardwigg]] ([[User talk:Hardwigg|discuss]] • [[Special:Contributions/Hardwigg|contribs]]) 18:09, 4 December 2014 (UTC)
:No problem its interesting how any living language evolves and is shaped by its use. Somethings we like or see as logical and acceptable others we dislike or become annoyances by how they create exceptions to normal rules. In this case I see "cannot" as a creep of the way dialog passes into writing and as an unnecessary innovation that at best shows a modicum of laziness as I can't see any added value... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:40, 4 December 2014 (UTC)
:: <dropping in on the conversation>
:: Interesting. To me "cannot" and "can not" mean different things, and "cannot" is much more often wanted. If somebody can not do something, I understand that to mean they are able to not do it, where as if they cannot do it, I understand they are unable to do it. When someone uses "can not" to mean the second thing rather than the first, I find I have to stop and think about what they mean. Presumably, this is because I find the distinction between the two meanings useful; if I were, occasionally, trying to say the first thing out loud, I would carefully enunciate a pause between "can" and "not" to emphasize that "not" is grouped with the word after it rather than the "can" before it, and I imitate that pause or lack of pause in my orthography. --[[User:Pi zero|Pi zero]] ([[User talk:Pi zero|discuss]] • [[Special:Contributions/Pi zero|contribs]]) 22:27, 4 December 2014 (UTC)
Thank you for the corrections. For the "program text" term, I want to say I read it in a few books, one of which was a concurrent programming book. It makes sense when you think about it, however it isn't a widely conjured term and may raise a copyright conflict. Thanks.
== Portuguese books split ==
Thanks for [https://en.wikibooks.org/w/index.php?title=Portuguese/Contents&diff=next&oldid=2413903 adding the TODO box here]. I agree they should perhaps be merged, but did you notice as well that there's actually a three way split in these books. There's a [[Brazilian Portuguese]] book. And a book which has two bits to it [[Portuguese/Contents#Courses for Portuguese spoken in Brazil]] and [[Contents#Courses for Portuguese spoken in Portugal]]. So that's messy. It seems to me those first two should definitely be merged somehow, even if the brazil/portugal separation remains. Some old discussion here: [[Contents#Separate_wikibook_Brazilian_Portuguese]]. Very old discussion in fact. One day I should just ''be bold'' and merge it somehow. -- [[User:Harry Wood|Harry Wood]] ([[User talk:Harry Wood|discuss]] • [[Special:Contributions/Harry Wood|contribs]]) 14:10, 28 May 2015 (UTC)
==[[:Understanding C++]]==
{{tmbox|type=delete|text='''Panic2k4, please [[Wikibooks:Requests for deletion#Understanding C++|share your thoughts]] about whether to [[WB:WIW|keep]] or [[WB:DP|delete]] "[[:Understanding C++|Understanding C++]]".'''<br />You are being notified because you have contributed to this work. [[User:DustDFG|DustDFG]] ([[User talk:DustDFG|discuss]] • [[Special:Contributions/DustDFG|contribs]]) 10:56, 5 November 2025 (UTC)}}
a8ge2c5oxivsizyvv74zkj2rn7c4ikq
Aros/Platforms/x86 support
0
22115
4634644
4612340
2026-05-07T13:38:02Z
Jeff1138
301139
4634644
wikitext
text/x-wiki
Google translation into [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support French], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Hindi],
[http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Chinese Simplified],
[http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Polish],
[http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Russian],
{{ArosNav}}
[[#Audio Chipsets]]
[[#Graphic GFX Chipsets]]
[[#Future]]
==x86 Native Environment==
AROS should run on almost any i386 PC hardware so long as the CPU is newer than an i486, and has a "Floating Point Unit (FPU)". Ideally around 700Mhz and above with at least 256MB of memory is recommended for desktops and around 1GHz and at least 256MB for laptops/notebooks/netbooks. For web browsing, etc above 1GB is usually needed and offers the option to run web browsers, media players and other hard disk heavy usage from RAM: disk.
Most hardware support covers the period between 2000 and 2010
Motherboards supported
* Most Intel mobos are supported (Skt 775 is ok but newer is better) - additional pci / pci-e cards may be needed for networking, audio, etc
* AMD based socket 939 am2 am2+ am3+, fusion and am4 ryzen based systems work but additional pci / pci-e cards may be needed
Motherboard support gets diminished after 2010 due to the introduction of SATA/AHCI and UEFI (mobos and disks) and further with USB3 from 2014 onwards
Supported graphics cards (gfx)
* Nvidia 2D and 3D 2005-2011. Nouveau supports '''2D''' from TNT through to fermi gtx5xx and '''3D''' acceleration fx5xxx to gtx4xx. It's worth noting however that support isn't guaranteed. Nor will potential power of a card reflect its performance under AROS.
* Intel 2D and 3D 2006-2009. '''2D''' for many old netbooks and motherboards. '''3D''' for many early netbooks and motherboards
* AMD/ATI 2D only and '''no 3D'''. 1999-2005. Desktop ie external monitor support only (no laptop internal support) for very early Radeon 7000 through to x600. Experimental 2D version for up to HD3xxx came later
* VESA 2D fallback modes for all graphic cards (GPUs) and with [http://www.youtube.com/watch?v=HKCHZFYj9Kk screen dragging].
Sound wise there are
* HDaudio support for onboard intel and AMD netbooks, ultrabooks, notebooks and motherboards (2005 to 2020)
* some AC97 codec support for very old motherboards and laptops (ie pre 2004)
* PCI and some PCI-E C-Media CMI8738 for desktop plugin cards
* PCI Creative Soundblaster EMU10K1 cards [http://amigaworld.net/modules/news/article.php?storyid=2512 SBLive]
* PCI semi professional some early VIA Envy24 desktop sound cards
* PCI Sound Blaster 128 aka SB16
Supported [http://en.wikibooks.org/wiki/Aros/Platforms/x86_Network_support network] which could be desktop, laptop, etc
* PCI-E Realtek rtl8169 which also includes the rtl8111 and rtl8110
* PCI Realtek rtl8139 and includes rtl8101 and rtl8100
* PCI intel pro100
* Broadcom 44xx 10/100 integrated in laptops around 2005
* VIA 10/100
* 3com Etherlink 10/100
* Realtek rtl8029 10mbit
Wireless wifi
* atheros 5000 wireless
*realtek 8187 usb
It is very hard to recommend a completely supported motherboard because as soon as newer motherboards arrive so their features change subtly, often introducing non supported parts like ethernet and audio. It is a moving target.
* mini-itx motherboard will only get you 1 pci or pci-e slot
* micro mATX or uATX will have more, typically 2 pci-e or pci slots which helps if any onboard features are not supported.
* full atx will have more slots available
'''N.B''' It is frustrating when a piece of hardware is not supported. Hardware documentation can run to over 100 pages and a lot of hardware do not have any public documentation anyway. Chips from different manufacturers for sound, graphics, SATA, etc. vary just as much, unless they follow a standard such as [https://github.com/acidanthera/AppleALC/wiki/Supported-codecs HDAudio codecs], AHCI etc.
Coding drivers is a far cry from Hello World programs or even a port of existing software. If you do actually want to try then get a hold of documentation on the relevant hardware and start there. Alternatively you could try to find some '''BSD''', MIT or MPL licence drivers as a point of reference. Please , do not think you can just adapt strings in a driver for different strings, it does not work that way. You will '''need''' to start from scratch for each new bit of hardware. Device driver programming require '''embedded''' skills, like manipulation of bits within registers, good debugging skills, dealing with interrupts, lots of patience, etc.
The following specific chipsets and drivers are also available - use Tools/PCITool to confirm Vendor and Product IDs - Please let us know any mistakes or any information to be added, to this General Chat list on [https://arosworld.org/ AROS World]
: Brief Timeline
: 2000-12-06 HIDD first mouse.hidd completed ([http://msaros.blogspot.com/ Michal Schulz])
: 2001-03-31 BOOT first boot from floppy disk with IDE device
: 2001-10-30 BOOT first cd bootable version
: 2002-01-27 HIDD first pci.hidd added (Michal Schulz)
: 2002-04-13 BOOT software HDToolBox added ()
: 2003-04-03 HIDD vesa2.hidd graphic modes added ()
: 2004-03-08 HIDD new pci and ata (pata) devices worked on (Michal Schulz)
: 2004-03-17 HIDD nVidia 2D driver appears (Michal Schulz)
: 2005-01-05 AHI AHI v6 audio system ported (Martin Blom)
: 2005-01-06 AHI SBLive SoundBlaster Live driver ported (Georg Steger)
: 2005-02-04 AHI AC97 playback only driver added (Michal Schulz)
: 2005-06-27 NIC amiTCP stack ported with 3com, NE2000, prism2 drivers (Neil Cafferkey)
: 2005-08-25 NIC nForce2 support added (Michal Schulz)
: 2005-12-24 NIC Intel Pro100 network driver added (Neil Cafferkey)
: 2006-03-25 HIDD ATI radeon 2D driver added (Michal Schulz)
: 2007-03-06 HIDD vesa 1.0 video driver added (Pavel Fedin)
: 2007-03-08 HIDD dospackets and FAT filesystem (Rob Norris)
: 2007-03-21 HIDD usb initial commit (Michal Schulz)
: 2007-10-01 BOOT Installer added (Neil Cafferkey)
: 2007-11-29 PORT 64bit x86 added (Michal Schulz)
: 2008-04-12 BOOT GRUB2 added (Alain Greppin and Nick Andrews)
: 2008-08-26 NIC RTL8139 added ([http://kalamatee.blogspot.com/ Nick Andrews])
: 2008-10-22 PORT to SAM440ep (ppc) (Michal Schulz)
: 2009-02-25 PORT to efika (ppc) (Michal Schulz)
: 2009-05-18 HIDD poseidon usb2.0 stack ported to AROS (Chris Hodges)
: 2009-11-18 NIC RTL8169 network driver arrived (Nick Andrews and [http://pagesperso-orange.fr/franck.charlet/oldnews.html Franck Charlet])
: 2009-12-23 AHI HDAudio based Atom CPU and netbook audio driver arrived (Davy Wentzler)
: 2010-03-09 BOOT USB pendrive stick booting available (Neil Cafferkey)
: 2010-05-26 HIDD Intel GMA900 2D graphics card support (Michal Schulz)
: 2010-09-03 NIC Wireless PCI based NIC arrived (Neil Cafferkey)
: 2011-04-30 HIDD Nvidia 2D and 3D nouveau graphics card support (Deadwood)
: 2011-08-30 HIDD Radeon 2D enhanced AMD driver arrives (Bearsoft)
: 2011-09-17 NIC Wireless USB realtek arrives (Neil Cafferkey)
: 2011-12-09 HIDD Intel 945G 3D Gallium graphics support (Sami)
: 2013-02-25 AHI AC97 VIA 686 audio support (Davy Wentzler and Neil Cafferkey)
: 2013-03-31 PORT early Raspberry PI native support (Nik Andrews)
: 2014-01-16 AHI Envy24 audio chipset support (Davy Wentzler and Neil Cafferkey)
: 2017-02-17 PORT Symmetric MultiProcessing smp added for x86 64bit (Michal Schulz)
: 2018-10-20 PORT Big Endian ARM
: 2021-11-26 NIC Broadcom 44xx ethernet (Neil Cafferkey)
: 2023-01-12 NIC Nvidia MCP61 ethernet (Neil Cafferkey)
: 2025-11 HIDD xHCI USB3 and isoc (Nik Andrews)
[[#top|...to the top]]
===Audio Chipsets===
'''If sound beeps in AHI prefs after Music set then some support is there. Select more than one channel for multiple audio streams, set frequency up to 44 kHz or higher and set the volume if not already set. Ensure you set the music unit 0 to 3 which allows the extra features of the audio card like microphone, line-out, etc).'''
====1996-2000 sb128.audio aka SB16 PCI====
*2021 5.27
as per CREATIVE's website, the model number is the first two digits on the front and first two digits on the back. my card says CT4810 and 161TK110B 995; this translates to CT4816 as the model.
The original AudioPCI 3000 card with the ES1370 had a master clock crystal for 44.1 kHz (22.5792 MHz), used an AKM codec (AK4531, non-AC97) and had 4 channel output; Creative later modified the design with a crystal for 48 kHz (24.576 MHz) and Sigmatel AC97 codec (a CT4700 SB128 with a CT5507 chip, AK4531, 22.5792 MHz crystal and TDA7360 speaker power amp). The issue with these cards involved never quite eliminate the effects of resampling on the 64V, it also shows signs of undersized coupling caps. These Ensoniq cards automatically engaged headphone amplifier (with a 4565 opamp).
Porting involved [http://repo.or.cz/w/AROS.git/commit/b60abd12967144a844980c422ea9e99c056eabca 40897], [http://repo.or.cz/w/AROS.git/commit/b7d6511fca6430a63fbaaa390b4f51bf0203a460 40898 configure], [http://repo.or.cz/w/AROS.git/commit/f51034cd22759a4ec3a2547bddb3a7169d956eaa 40900 bugs], [http://repo.or.cz/w/AROS.git/commit/4f43fc38e3489ea45d12b7b5ba6fff50b69c5746 40901 further bugs], [http://repo.or.cz/w/AROS.git/commit/d23c78aec75f049484b6916d27b6804ce858bb2c 40913 memory IO fixes], [http://repo.or.cz/w/AROS.git/commit/d256860fe3035016952e88d143c6f2611997f2f3 40914 irq fix].
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| Ensoniq AudioPCI 1000
| 0x1274
| 0x5000
|
| {{unk}}
| {{unk}}
| untested - es1370 (u?) AK4531 (u?)
|-
| Ensoniq AudioPCI
| 0x1274
| 0x5000
| 0x00
| {{yes}}
| {{maybe}}
|
|-
| CT4700 Sound Blaster PCI 64 (audioPCI 3000)
| 0x1274
| 0x5000
| 0x7c
| {{yes}}
| {{maybe}}
| works - opamp JRC4565(u?) [http://en.wikipedia.org/wiki/Ensoniq_ES1370 es1370] (u?)
|-
| CT4750 Sound Blaster 64/PCI
|
|
|
| {{unk}}
| {{unk}}
| untested - 4565-1056W (u1) stac9708t(u2) [http://arstechnica.com/civis/viewtopic.php?f=6&t=916891 ct5880-dcq] (u3) 24wc012 (u4)
|-
| CT4751 (SB128PCI)
| 0x1274
| 0x8001
|
| {{unk}}
| {{unk}}
| untested - [http://en.wikipedia.org/wiki/Sound_Blaster#Ensoniq_AudioPCI-based_cards es1371] (u?)
|-
| CT4810 Creative AudioPCI64V
| 0x1274
| 0x1371
| 0x06
| {{yes}}
| {{maybe}}
| works
|-
| CT4811 (SB Vibra 128)
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4812 (Vibra 128)
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4813
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4815
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4816 es1373 (vibra 128)
|
|
|
| {{unk}}
| {{unk}}
| untested but this card has creative's ES1373 as the main chip(U1). it is also different from the other CT4810 (vibra128) in that it does not have a second chip in U2 position. Also there is only one jumper JP1 (2X3).
|-
| CT5801 HP
|
|
|
| {{unk}}
| {{unk}}
| untested - es1373 (u3)
|-
| CT5803 Gateway
| 0x1274
| 0x1371
| 0x08
| {{yes}}
| {{maybe}}
| works 4565-0005b jrc (u1) 4297a-jq ztae0c0002 (u2) es1373 (u3)
|-
| CT4740
| 0x1274
| 0x1371
| 0x08
| {{yes}}
| {{yes}}
|
|-
| CT5805 Compaq OEM Premier Sound Presario 7
|
|
|
| {{unk}}
| {{unk}}
| untested - es1373 (u3)
|-
| CT5806 (Sound Blaster AudioPCI 128D)
|
|
|
| {{unk}}
| {{unk}}
| untested - 4297A-JO EP (u?) ZTAPWC9933 (u2) es1373 (u3)
|-
| CT5807 Dell OEM Dimension 8100
|
|
|
| {{unk}}
| {{unk}}
| untested - es1373 (u?)
|-
| CT5808
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4730 Sound Blaster AudioPCI 64V Ectiva EV1938
| 0x1102
| 0x8938
|
| {{unk}}
| {{unk}}
| untested
|-
| CT5880 on various motherboards
| 0x1274
| 0x5880
|
| {{unk}}
| {{unk}}
| untested [http://www.xbitlabs.com/articles/mainboards/display/ga-6rx.html Gigabyte GA-6RX] (VIA ApolloPro 266 2001], Gigabyte GA-6VM7-4E mobo, [http://active-hardware.com/english/reviews/mainboard/ga-7vtx.htm Gigabyte GA-7VTX] (KT266 2001), Gigabyte [http://www.amdboard.com/gigabytega7vtxh.html GA-7VTXH] (KT266A 2001), [http://www.amdboard.com/gigabytega7vrxp.html Gigabyte 7VRXP] mobo (KT333 2002), MSI MS-6309, MS-6318, MS-6337 (815E Pro), MS-6339 (850Pro) and MS-6340, PCChips Motherboard M571 TXPRO, Soltek SL-65ME+,
|-
| VMware Virtual Workstation(TM)
| 0x1274
| 0x1371
| 0x02
| {{Yes|but not Hi-Fi modes}}
| {{maybe}}
| works
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
<pre>
Revision 0x04 = ES1371 REV_ES1373_A
Revision 0x06 = ES1371 REV_ES1373_B
Revision 0x07 = ES1371 REV_CT5880_A
Revision 0x02 = CT5880 REV_CT5880_C
Revision 0x03 = CT5880 REV_CT5880_D
Revision 0x04 = CT5880 REV_CT5880_E
Revision 0x09 = ES1371 REV_ES1371_B
Revision 0x00 = EV1938 REV_EV1938_A
Revision 0x08 = ES1371 REV_ES1373_8
</pre>
====1999-2001 via-ac97.audio====
*2021 5.10
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| <!--Description-->694X with 686A KT133 PM133 or 693A with VT8231
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3058
| <!--Revision-->
| <!--Playback-->{{Yes| }} redirects earphones correctly
| <!--Recording-->{{Yes| }}
| <!--Comments-->audio controller works but depends on the underlying invisible codec used see AC97 section
|-
| <!--Description-->686B KT133A with VT8231
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3058
| <!--Revision-->0x50
| <!--Playback-->{{Yes|}} reroutes ear pieces right
| <!--Recording-->{{Yes|}}
| <!--Comments-->audio controller works but depends on the underlying codec used see AC97 section below
|-
| <!--Description-->686C
| <!--Vendor ID-->0x1106
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->untested
|-
| <!--Description-->KM266 or KT266 with VT8233, KT266A with VT8233A, VT8233C
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3059
| <!--Revision-->0x10
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->KM333 KT333 with VT8235
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3059
| <!--Revision-->0x30
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
| <!--Description-->KM400 KT400 with VT8237, KT600 with VT8237R,
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3059
| <!--Revision-->0x40 0x50 0x60
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
|}
====1998-2003 emu10kx.audio - Creative Labs SoundBlaster Live! and Audigy====
*2021 6.5
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| PCI512 CT4790 (emu10k1)
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested (1st Gen)
|-
| Live CT4620
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Live CT4760
| 0x1102
| 0x0002
| 0x07
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| playback works
|-
| Live Value CT4670
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| works plays stereo (2nd Gen)
|-
| Live Value DELL CT4780
| 0x1102
| 0x0002
| 0x06
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| plays/records stereo - untested 4.1mode
|-
| Live Value Compaq CT4830
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{Maybe}}
| <!--Recording--> {{unk}}
| not working
|-
| Live Value CT4831
| 0x1102
| 0x0002
| 0x00
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Live Value CT4832
| 0x1102
| 0x0002
| 0x07
| <!--Playback--> {{yes}}
| <!--Recording--> {{partial|Line-In only}}
| works
|-
| Live Value CT4832
| 0x1102
| 0x0002
| 0x08
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| works
|-
| Live Value HP CT4870
| 0x1102
| 0x0002
|
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| Works
|-
| Live Value Gateway CT4871
| 0x1102
| 0x0002
|
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Live! Platinum 5.1 SB0060
| 0x1102
| 0x0002
| 0x00
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
| plays audio/records, untested 5.1 (3rd Gen)
|-
| Live 5.1 SB0100 -SFF
| 0x1102
| 0x0002
| 0x00
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| works
|-
| Live 5.1 Player SB0220
| 0x1102
| 0x0002
| 0x0a
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
| plays audio/records stereo, untested 5.1
|-
| Live 5.1 Digital SB0228
| 0x1102
| 0x0002
| 0x0a
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
| working
|-
| Audigy SB0090 (emu10k2)
| 0x1102
| 0x0004
|
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| <!--Description-->Audigy SB0230
| <!--Vendor ID-->0x1102
| <!--Product ID-->0x0004
| <!--Revision-->0x03
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Yes|Mic only}}
| <!--Comments-->5th Dec 2012 - untested optical tos link. contains also IEEE1394/Firewire (untested)
|-
| Audigy 2 Platinum 6.1 SB0240 SB0250 EMU10K2.5
| 0x1102
| 0x0004
| 0x04
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| works
|-
| Audigy 2 PRO SB0280 EMU10K2.5
| 0x1102
| 0x0004
|
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Audigy 2 ZS SB0350
| 0x1102
| 0x0004
| 0x04
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
|
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| Live 5.1 DELL SB0200 SB0203 emu10kx
| 0x1102
| 0x0006
| 0x0
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
|
|-
| Live 24bit SB0410
| 0x1102
| 0x0007
| 0x
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Live 24bit DELL SB0413
| 0x1102
| 0x0007
| 0x
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy LS SB0310
| 0x1102
| 0x0007
| 0x0
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy SE 7.1 SB0570
| 0x1102
| 0x0007
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 2 ZS SB0320 SB0360 (PRO)
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 2 VALUE SB0400
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 4 VALUE SB0610
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 4 PRO SB0380
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| EMU E-MU 0404 PCI (not USB) EM8852
| 0x1102
| 0x000
| 0x0
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver but linux support needs firmware
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
the green jack is for the main speaker pair AND headphones, so manual switching will be required
If your card is wired for the "AC97" standard, then it's up to your headphone jack to switch the green speaker output in and out
the headphone jack has Normally-closed contacts that will open on insertion, which breaks the signal path back to the sound card (FP_RETURN)
====2000-2010 cmi8738.audio - C-Media====
*2021 5.20
;Read [http://amigaworld.net/modules/news/article.php?storyid=2512 more] and imported on [http://repo.or.cz/w/AROS.git/commit/aff741d60160c6a9d7d39c9e004a25ea3aa13847 20th July 2011] and [http://alsa.opensrc.org/Cmipci alsa docs].
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| Audiotrak MAYA EX5
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| cmi8738-sx 4ch
| 0x13f6
| 0x0111
| 0x10
| <!--Playback-->
| <!--Recording-->
| untested
|-
| e3dx hsp56 CMedia 8738-sx 4ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| EDio SC3000D 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Genius SoundMaker Value PCI C3DX
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Guillemot Maxi Sound Muse
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Hercules Gamesurround Muse LT
| 0x13f6
| 0x0111
| 0x10
| <!--Playback--> {{yes}}
| <!--Recording--> {{no}}
|
|-
| Hercules Gamesurround Muse XL LT 5.1
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Inno audio extreme 5.1 cmi8738/lx pci 6ch
| 0x13f6
| 0x0111
| 0x
| <!--Playback-->
| <!--Recording-->
| untested
|-
| M-Audio (Midiman) DiO 2448
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Sabrent SBT-SP6C 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| StarTech PCISOUND4CH 8738sx 4ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Sweex SC012 CMI8738-lx 4ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Terratec 5.1 PCI
| 0x13f6
| 0x0111
| 0x10
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Terratec Aureon Fun 5.1
|
|
|
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| Has SPDIF
|-
| Trust Sound Expert Digital Surround 5.1 (cm8738-mx 6ch)
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Turtle Beach Riviera CMI8738-MX 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| XSonic CMI 8738 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->CMI8738 6ch PCI-E PCI Express version
| <!--Vendor ID-->0x13f6
| <!--Product ID-->0x0111
| <!--Revision-->0x10
| <!--Playback-->{{Yes|}}
| <!--Recording-->{{Maybe|}}
| <!--Comments-->Chinese based card with playback tested so far
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
====2001-2005 ac97.audio====
*6.4 27-12-2008
The AC97 chips were designed to be pinout interchangeable so that the sound support could change easily and quickly without motherboard redesigns
the green jack is for the main speaker pair AND headphones, so manual switching will be required
If your card is wired for the "AC97" standard, then it's up to your headphone jack to switch the green speaker output in and out, the headphone jack has Normally-closed contacts that will open on insertion, which breaks the signal path back to the sound card (FP_RETURN)
The ProductID and VendorID are for the audio controller only - the important additional codec is '''NOT''' so easily identified.
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| <!--Description-->Avance Logic (now Realtek) ALC100 and ALC101 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->ALC200 and ALC201 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->ALC201A and ALC202 and ALC202A codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->ALC650
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| <!--Comments-->most Nforce2 boards plays audio only - Abit NF7, Asus A7N8X, MSI K7N2, Epox 8RDA+, DFI
|-
| <!--Description-->ALC850 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{No}}
| <!--Comments-->no support for via P4P800 chipset on ASUS A8V-E SE Deluxe mobo - ICaros 1.3
|-
| <!--Description-->Realtek ALC653 codec and ALC655 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested Acorp 7NFU400
|-
| <!--Description-->Realtek ALC658 codec ALC658D
| <!--Vendor ID-->0x8080
| <!--Product ID-->0x24c5
| <!--Revision-->0x0
| <!--Playback-->{{Yes|Prefs Music and Units 0-3 set volume control - playback}}
| <!--Recording-->{{No}}
| <!--Comments-->MSI Motherboard on NB 22-09-2012
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->AD1881 SoundMAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->Analog Devices first AC97
|-
| <!--Description-->AD1881A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Yes}}
| <!--Revision-->
| <!--Comments-->works with VIA Controller - untested Intel etc
|-
| <!--Description-->AD1881B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1885 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{No}}
| <!--Comments-->Playback only with issues on D845HV but not working on MS-6367 because Units 0-3 have masked volume control
|-
| <!--Description-->AD1886
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1887
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->ADI AD1888 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no}}
| <!--Recording-->{{No}}
| <!--Comments--> Icaros 1.51
|-
| <!--Description-->AD1980 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->AD1981A codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested IBM X30
|-
| <!--Description-->Analog Devices SoundMax(TM) AD1981B codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| <!--Comments-->plays back only on IBM T41 Thinkpad
|-
| <!--Description-->AD1985 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{No}}
| <!--Comments-->not working ahi prefs freezes on D865GLC mobo ([http://www.xbitlabs.com/articles/multimedia/display/int-sound2_3.html ]
|-
| <!--Description-->AD1986 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{No}}
| <!--Comments-->untested [http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/Boards/Motherboards/Fujitsu/D1931/D1931.htm D1931] but works (Acer Aspire 3610 laptop)
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->Crystal Semiconductors CS4205, CS4202 codecs
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Cirrus Logic CrystalWare 4236
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->Cirrus Logic CrystalClear SoundFusion CS4297 CS4299 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested IBM T23
|-
| <!--Description-->conexant Cx20468-31 codec (id 30)
| <!--Vendor ID-->0x103c
| <!--Product ID-->0x3085
| <!--Revision-->
| <!--Playback-->{{No|AC97 appears in AHI Prefs}}
| <!--Recording-->{{No}}
| <!--Comments-->Tested AspireOS 1.8 on Gateway W322
|-
| <!--Description-->ESS Technology ES1921 AC'97 2.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->CMI 6501 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested on ASROCK SKT-AM2 AM2NF3-VSTA
|-
| <!--Description-->codec CMI9738
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->codec CMI9739
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->C-Media CMI 9739A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments--> untested on EPoX 8RDA3+
|-
| <!--Description-->CMedia CMI 9761A codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested ASRocK K7NF2-RAID
|-
| <!--Description-->C-Media CMI9880
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->National Semi conductor (now TI) LM4540, LM4543, LM4545, LM4546, LM4548, LM4549, LM4550 LM4560
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->STAC9708T codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->SigmaTel (now IDT) C-Major STAC 9460 (D/A only), 9461, 9462, 9463, 9200, 9202, 9250, 9251, 9220, 9221, 9223, 9750
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AKM (Asahi Kasei Microsystems) AK 4540, 4543, 4544A, 4545
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->codec VT1616 (VIA Six-TRAC Vinyl Audio)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->VIA VT1612, VT82C686
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->ESStech ESS ES1968 maestro-2
| <!--Vendor ID-->0x125d
| <!--Product ID-->0x1968
| <!--Revision-->0x
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->ESStech ESS ES1978 maestro2e
| <!--Vendor ID-->0x125d
| <!--Product ID-->0x1978
| <!--Revision-->0x
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->ESStech ESS ES1988 maestro3 allegro-1 codec
| <!--Vendor ID-->0x125d
| <!--Product ID-->0x1988
| <!--Revision-->0x12
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->Yamaha AC97 ymf-743 YMF752 YMF753 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->{{No}}
| <!--Comments-->untested ymf-753
|-
| <!--Description-->YMF724 YMF744 YMF-754 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| SIS 7018 / Trident 4dwave DX/NX / ALi 5451
| 0x1039 (0x1023 Trident)
| 0x7018 (0x2000 Trident DX) (0x2001 Trident NX)
| 0x02
| <!--Playback-->{{No}}
| <!--Recording-->{{No}}
| no support - introduced early 2000s
|-
| SIS 7012
| 0x1039
| 0x7012
|
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| working through 1 speaker only took over from SIS7018 (2002 onwards)
|-
| <!--Description-->Wolfson (now Cirrus Logic) WM9701, WM9701A (AC'97 1.03 spec), WM9703, WM9704 (AC'97 2.1), WM9705, WM9706, WM9707, WM9708
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->WM9709, WM9710, WM9711, WM9712, WM971
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->first Microsoft(TM) Xbox DAC sound chip (AC Link compliant D/A converter)
|-
| <!--Description-->Wolfson WM9717
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| Parallels
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested
|-
| VirtualBox
|
|
|
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| working
|-
| VirtualPC
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested
|-
| <!--Description-->Intel 82801AA Proxmox
| <!--Vendor ID-->0x8086
| <!--Product ID-->0x
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Recording-->{{unk| }}
| <!--Comments-->
|-
|}
====2005-20xx HDAUDIO.audio====
*6.36 2025 [https://github.com/aros-development-team/AROS/commit/43b33a9280b10963ca659de2cc3d1cf289b43a87 reset handler]
*6.35 202 []
*6.34 2019 AROS One 1.5 upwards
*6.29 2018
*6.27 2017 update
*6.25 2014 used for most Icaros 2.x
*6.20 July 2012
*6.17 Nov 2011
*6.15 Jun 2011
*[http://www.clusteruk.com/SitePortalPage.aspx?siteid=1&did=109 6.13] Sep 2010
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| <!--Description-->ALC260
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| <!--Description-->ALC262
* ALC262-VD2-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->LQFP-48
|-
| ALC268 codec
| 0x
| 0x
| 0x
| <!--Playback-->{{Yes|Version 6.17 Acer AOA110 and AOA150 netbooks), works (Dell Mini Inspiron 9 and 10v, }}
| <!--Recording-->{{Yes|Version 6.17 remove QUERY and select 'Mic 1' as input. Tested with 6.15 as well using QuickRecord and AE 4.0.23 under Icaros 1.4.}}
| <!--Comments-->AHI UNITS and Music are set to: hdaudio:HiFi 16 bit stereo++ / Frequency 48000 Hz, Volume +0.0 dB. The hdaudio.config in SYS:Prefs/Env-Archive is WITHOUT the QUERY-line. After changing and saving the config-file turn off and start again the computer. Switch from internal loudspeaker to headphone you must turn off the music before plug in the headphone-cable, otherwise there is no output on the socket. Back from line-out to internal speakers it is the same.
|-
| [http://blog.foool.net/wp-content/uploads/linuxdocs/sound.pdf Linux docs ALC269]
* ALC269Q-GR
* ALC269QSRS-GR
* ALC269W-GR
| 0x
| 0x
| 0x
| <!--Playback-->{{Maybe| }}
| <!--Recording-->{{Unk| }}
| <!--Comments-->TQFP 48 pin Power IC Chip From [https://patchwork.kernel.org/project/alsa-devel/patch/1408118123-15849-1-git-send-email-tiwai@suse.de/ ALC269 & co have many vendor-specific setups with COEF verbs, result in the codec stalling]
|-
| [http://www.alsa-project.org/db/?f=0321f8479fd670cd510f9912b1120fe7edcf2e07 ALC269VB]
* ALC269Q-VB5-GR
* ALC269Q-VB6-CG
* ALC269Q-VB6-GR
| 0x10ec
| 0x0269
| 0x100004, 0x100100, 0x100202
| <!--Playback-->{{Maybe|some versions work}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* v1 works Asus eee PC netbook 901/1000HA 1005HA/1008HA, 1001P,
* v2 maybe working Lenovo S9 S10 S10-2 S10-3 under HDAudio version 6.13
* v3 maybe dell wyse 7010
|-
| [http://alsa-project.org/db/?f=9c1746c5957b0ce72ff9cfffa312e97d14baf785 ALC269VC aka ALC3202]
* ALC269Q-VC2-GR
* ALC269Q-VC3-GR
| 0x10ec
| 0x0269
| 0x100203,
| <!--Playback-->{{Maybe|some versions work}}
| <!--Recording-->{{Unk}}
| <!--Comments-->SMT SMD QFN-48 -
* v1 unknown
* v2 unknown
* v3 x230, dell wyse,
|-
| ALC272
* ALC272-VA4-GR
| 0x10ec
| 0x0272
| 0x0
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Unk}}
|
* works Acer AOD150 and Acer AOD250 works [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33755&forum=28#616910 Samsung NP-NC10], works Samsung NF210-A02] netbooks,
|-
| <!--Description-->ALC273
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| <!--Description-->ALC270
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC282
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x
| <!--Revision-->
| <!--Playback-->{{No|Version 6.17}}
| <!--Recording-->{{No|Version 6.17}}
| <!--Comments-->needs retest
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC660 ALC660-VD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes| }}
| <!--Recording-->
| <!--Comments-->
* works asus F9s, F9e
* untested asus w7j, M51SN, A6Tc, A8Sr,
|-
| <!--Description-->ALC661-GR (2011)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| ALC662
| 0x1043
| 0x82a1
| 0x0
| <!--Playback-->{{Yes|Version 6.17 if QUERY added to top of hdaudio.config}}
| <!--Recording-->{{No|Version 6.17 not working for eee pc 900}}
|
* works Asus eee PC netbook 700/701/900, Atom 270 and 330 mobos, odd clicks (D410 NM10 PineTrail),
|-
| <!--Description-->[http://outpost.fr/rmaa/ALC663.htm ALC663]
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0861
| <!--Revision-->
| <!--Playback-->{{No|Version 6.13}}
| <!--Recording-->{{Unk}}
| <!--Comments-->not bad output like headphone amp part of the codec actually works well but messed up by undersized coupling capacitors to actually support such a low impedance
* not working Asus n50vn x71vn,
|-
| <!--Description-->ALC665
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC666
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC667
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC668
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC670
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->ALC880
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->some 915 and 925 chipset mobos
|-
| <!--Description-->ALC882M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| Realtek ALC883 ALC883-GR ALC883D-GR ALC883DTS-GR ALC883DD-GR codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe|some early versions work }}
| <!--Recording-->{{Unk| }}
| 2005 to 2007 HD Audio codec untested (Asus ),
|-
| Codec ALC885
| 0x10ec
| 0x0885
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
|-
| ALC888
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
|
|-
| ALC888s
* ALC888S-VD2-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}} MSI Wind U90/U100,
| <!--Recording-->{{Unk}}
| LQFP-48
|-
| ALC888b
| 0x8086
| 0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| untested (D510 NM10 Dual Core PineTrail mobo),
|-
| ALC888-VD
| 0x8086
| 0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| untested
|-
| ALC889A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes|works if QUERY added to the top of hdaudio.config in Prefs drawer/directory}}
| <!--Recording-->{{Unk}}
|
|-
| ALC889 Gr
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}} with crackles
| <!--Recording-->{{Unk}}
|
|-
| ALC889
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
| Tested with MSI H55 board
|-
| ALC887 ALC887-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
|
* working on ASUS P5KPL/EPU and Gigabyte GA-E350N-Win8 Rev1.0
|-
| ALC887-VD-CG
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0887
| <!--Revision-->0x100302
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}} Subsystem Id: 0x1458a002
|
|-
| ALC887-VD
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0887 0x1458
| <!--Revision-->0xa002
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{Unk}} index = 2
| ALC887 does not have any volume control ability on the mixer NIDs, so put the volume controls on the dac NIDs instead
* working with intermittent corrupting pop popping skipping stuttering sound issues MSI 760GM-P23 (FX),
* not working Gigabyte H61MA-D3V, AT3IONT-I Deluxe,
|-
| ALC887-VD2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
| 3jacks
|-
| ALC887-VD2-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
|-
| ALC887-
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
|
|-
| ALC892-CG rev
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| 2011 48-pin LQFP Green package -
|-
| ALC892 ALC892-DTS-CG rev
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
| 2009 introduced
* works
* not working
* untested
|-
| ALC892 rev
| <!--Vendor ID-->0x0x10ec
| <!--Product ID-->0x0892
| <!--Revision-->0x100302
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| 2014
|-
| Realtek ALC886-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| LQFP-48
|-
| Codec ALC861 ALC861-VD
| 0x10ec
| <!--Product ID-->0x0663
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
|
* not working Toshiba Tecra A7
|-
| <!--Description-->ALC1200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| ALC898
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
| not working
|-
| <!--Description-->ALC1500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC3232 (aka ALC292)
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0292
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC3234 aka ALC255
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0255
| <!--Revision-->003
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC3287 aka ALC257
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes| }}
| <!--Recording-->{{no| }}
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->AD1882
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1883 HD Codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1884
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| Analog Devices SoundMAX AD1981
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| IBM Thinkpad T60,
|-
| AD1984 hp-m4 codec
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
* audio not working on Lenovo X61, Thinkpad T61,
|-
| AD1986
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
|
|-
| AD1988
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
|-
| <!--Description-->AD1988A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->Cirrus Logic CS4207
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->
| <!--Recording-->
|
|-
| <!--Description-->Cirrus Logic CS4208
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->
| <!--Recording-->
|
|-
| <!--Description-->Conexant CX20549 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe|very very very low volume}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested Fujitsu Amilo SI 1510 1520 no datasheet for the general public
|-
| <!--Description-->Conexant CX20549-12Z codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested HP 530
|-
| <!--Description-->Conexant CX20561 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* working lenovo x200s
* untested Lenovo Essential G555 Notebook, HP Pavilion dv6700,
|-
| <!--Description-->Conexant CX20582 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX2059x CX20590 CX20594-21Z codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX20585 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* working Lenovo Thinkpad T410,
|-
| <!--Description-->Conexant CX20672 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX20671 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX20751-21Z codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes| }}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| <!--Description-->Conexant CX11852 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX11880 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant after 2015 up to 2018 CX7501 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver codec}}
| <!--Recording-->{{no|no driver codec}}
| <!--Comments-->Conexant bought by synaptics 2019
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->C-Media CMI9880 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->Gigabyte GA-8GPNXP
|-
| <!--Description-->Silicon Labs 3054
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| VIA 1708A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| untested,
|-
| VIA VT1708B
| <!--Vendor ID-->
| <!--Product ID-->
| 0x0010
| <!--Playback-->{{No|VIA PicoITX}}
| <!--Recording-->{{Unk}}
|
|-
| VIA 1708S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
|
|-
| <!--Description-->VT2021 10ch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->Gigabyte Z77MX-D3H, GA-H61M-S2H S2P,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Creative CA0110-IBG
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->SigmaTel STAC 9220 9221 9223 8ch (7+1)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| <!--Comments-->ECS 945GCT/M-1333 (version 3.0),
|-
| IDT SigmaTec [http://explorer.cekli.com/articles/pdf/hd-audio STAC9227] /28/29/30 codec
| <!--Vendor ID-->0x8384
| <!--Product ID-->0x7626
| <!--Revision-->0x0002
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Unk}}
|
* works HP Compaq mini 110
* untested HP Pavilion HDX9000 CTO Notebook, Intel DG33TL mobo, Dell E520, Intel DP35DP mobo, Dell E6410 Laptop,
|-
| IDT (formerly SigmaTel) IDC STAC 9271/71D
| <!--Vendor ID-->0x8384
| <!--Product ID-->0x7626
| <!--Revision-->0x0002
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
|
|-
| <!--Description-->IDC STAC 9272 9273 9274
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->Intel D5400XS,
|-
| <!--Description-->IDT 92HD73C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes}}
| <!--Recording-->
| <!--Comments-->headphones only Asus AT4NM10 mobo
|-
| <!--Description-->IDT 92HD75B
| <!--Vendor ID-->0x111d
| <!--Product ID-->0x7608
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* working [http://koti.kapsi.fi/jvaltane/aros/hdaudio/ HP Compaq Mini 700 Netbook - feedback required]
* untested HP Mini 5103 and 5102, HP Compaq 610, HP ProBook Laptop 4520s 4525s 6450b 6550b 6555b, HP EliteBook 2540p 2740p 8440p, Mobile Workstation 8540w 8740w, Pavilion NoteBook DV8,
|-
| <!--Description-->IDC 92HD81XX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC 92HD83XX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC STAC 92HD89XX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Wolfson (now Cirrus Logic) WM8850
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Wolfson WM8860
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->Intel High Definition Audio Revision 1.0. - 4-Channel DAC, 4-channel ADC. - DAC sampling
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
Using Prefs/AHI ensure you set the music unit and at least Units 0 (where most audio comes from) in top left drop down menu to HDaudio - HIFI in the section below. Set Units 1 or 2 to microphone or other outputs. Plus allow more than one channel for multiple audio streams and set frequency up to 44 kHz or higher on the right hand side of the ahi prefs. If sound beeps when you press the test button then all should be OK.
Output <- Codec <- Audio Controller (HDA) <-> Computer
codecs and exact hardware identifier. As mentioned above, HDA is only part of the work here, it gets the audio out of the main chipset in digital format (on a bus called I2S). This is not enough, there is another step needed which is routing that I2S signal to the output, converting it to actual audio, amplifying it, etc. This is handled by a separate chip called a "codec". Sometimes it is initialized by the BIOS, but this is not always the case.
Most audio drivers are made up of two parts a [http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt Controller + a Codec]. The ProductID and VendorID are for the audio controller only - the important additional codec is '''NOT''' so easily identified.
Some newer versions of codecs are missing at the moment.
Things to try if sound not working
* try to connect something to the audio jack, maybe it is not playing on internal speakers or vice versa
* make sure you try and select all music units e.g. unit0, unit1....
* even if PCI ID's are in Prefs/Env-Archive/HDaudio.config, this doesn't mean it is working, it is the codec that matters
* it might be internally muted
<pre>
add debug=memory to grub boot line - continue booting with F10
Open a shell
Tools/Debug/Bifteck > RAM:audio.txt
</pre>
or
<pre>
Open a shell
Tools/Debug/Sashimi > RAM:audio.txt
Run ahi prefs
Click test tone button
Stop sashimi with Ctrl-C
</pre>
If the boot sound is enabled, you have to use Bifteck to capture AHI debug output. In the GRUB menu, press E on your selected entry, then add "debug=memory" to the options (alongside ATA=, vesa= etc.). Then F10 or Ctrl-X to boot. Once booted, run Tools/Debug/Bifteck again.
or
* try adding QUERYD to the start of ENVARC:hdaudio.config file (also known as Prefs/Env-Archive/) ie. on the first line
* '''OR''' try removing QUERY and QUERYD from the start of the hdaudio.config file
* Reboot
* open a shell
* type: sys:tools/debug/sashimi > ram:debug.txt
* open ahi prefs
* select one of the audio modes - HIFI or otherwise
* press the 'test sound' button
* press ctrl-c in the shell
* post the results to Aros-World
The HD Audio standard was designed to be hardware pinout interchangeable so that the sound support could change easily and quickly. HDA is a standard around particular chips. Each kind of chip has a certain number of DACs and pins, and even the same chip could be hooked up in different ways on different motherboards. The chips are programmable and the operating system can adjust how things are routed. Some pins aren’t even hooked up, so it makes no sense to route sound to them. Also some pins have sensors that can tell when something is plugged in, so that for example the speakers in a laptop can be muted when headphones are plugged in. Pins are also grouped, so for example all the outputs for a 5.1 sound system are grouped. Generally the HDA driver in the operating system is supposed to read the pin set up and figure out a reasonable way to set things up, and disconnected pins should be ignored, etc.
HDAudio standard has headphones on a separate DAC, and it's up to the driver.. it can even send different audio to the headphones without interrupting the main (green) outputs
====Envy24 series ====
A little history. VIA bought the ICE created Envy chipsets [http://www.via.com.tw/en/products/audio/controllers/comparison_controller.jsp VT1712] first. A few years later, they created several cheaper variants VT1724 (mixer missing), VT1721 (low end cut down), VT1720 (embedded on motherboard) and lastly the VT1723 (no support apart from Windows Envy24DT like SYBA SD-PEX63034).
There are PCI Express versions appearing.
The Envy24 is the base product that was originally designed by ICEnsemble, and it supports multi-channel hardware mixing, which is great for professional use. The HT version removes the hardware mixer (unimportant for non-professional uses). The [http://www.avsforum.com/t/364771/envy24ht-s-the-definitive-source HT-S] version is almost exactly the same as the HT, it just uses cheaper DACs. The PT version is exactly the same as the HT-S version, it is just the edition used for on-board audio on motherboards.
N.B. [http://www.soundonsound.com/sos/dec04/articles/pcnotes.htm PCI slot identification] and [http://hsi.web.cern.ch/HSI/s-link/devices/s32pci64/slottypes.html 3.3v PCI].
=====[http://www.opensound.com/readme/README.Envy24.html envy24.audio] - [http://www.anime.net/~goemon/alsa/ VT1712] =====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Playback
! Recording
! Comments
|-
| M-Audio Delta 66 - Rev B 1999
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested AK4524VF CS8404A-CS - needs Delta Series break out box with D-sub lead -
|-
| [http://ixbtlabs.com/articles/maudioaudiophile/index.html Audiophile 2496] Rev A 2000
| 0x14
| 0x
|
| <!--Playback-->{{unk| }}
| <!--Recording-->{{unk| }}
| works audio out on - I2S stereo codec AKM AK4528VF with the 24bit/96kHz DAC and ADC; CS8427 digital transceiver
|-
| [http://ixbtlabs.com/articles/maudioaudiophile/index.html Audiophile 2496] Rev B 2003
| 0x14
| 0x
|
| <!--Playback-->{{Yes }}
| <!--Recording-->
| works well - I2S stereo codec AKM AK4528VF with the 24bit/96kHz DAC and ADC; CS8427 digital transceiver
|-
| M-Audio Delta 410 - 2001 2001 REV-B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested for D-A AK4529VQ converters with CS8427-CS 5532 1158B or Event Echo Gina 20-Bit Multitrack Interface Breakout Box -
|-
| M-Audio Delta 1010
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested AK5383 and AK4393 - 25 pin dsub -
|-
| M-Audio Delta 1010LT 1010E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested for D-A AK4529 converters with 2 XLR Microphone inputs with pre amps
* be aware of redesign in 2007 - possible issues
|-
| M Audio Delta 44 - Rev A 2002 - Rev B 2003 - Rev D 2003
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested ICE1712G AK4524VF needs breakout box with 15 pin D-sub lead -
|-
| M-Audio Delta 66 Rev E 2006 - Omni Studio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested needs break out box with 15 pin D-sub lead -
|-
| <!--Description-->M-Audio Delta DiO 2496
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| Terratec EWX24/96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| [http://ixbtlabs.com/articles2/terratecdmx6fire/index.html TerraTec 6fire DMX 24/96]
| <!--Vendor ID-->0x1412
| <!--Product ID-->0x1712
| <!--Revision-->0x02
| <!--Playback-->{{No|tried line 1-2 3-4 5-6 7-8 }}
| <!--Recording-->{{No| }}
| untested - AKM and codec
|-
| <!--Description-->Terratec EWSA88MT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| [http://lists.freebsd.org/pipermail/freebsd-multimedia/2007-March/006087.html Audiotrak Prodigy HD2] 24/96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Audiotrak (ESI) Maya 1010 1010L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| EMU 1212M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| EMU 1616M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| <!--Description-->Terratec EWS 88MT EWS 88D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Hoontech Soundtrack DSP 24
Soundtrack DSP 24 Value
Soundtrack DSP 24 Media 7.1
Event Electronics EZ8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Digigram VX442
Lionstracs
Mediastation
Terrasoniq TS 88
Roland/Edirol DA-2496
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
=====envy24ht.audio - VIA VT1724=====
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| ESI Juli@
| 0x3031
| 0x4553
| 0x0
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Yes}}
| reported working years ago [http://envy24.svobodno.com/ Envy24HT-S] - AKM 4358 DAC - AKM 4114/4112 DIT
|-
| ESI Juli@ Ego Igo rev K
| 0x3031
| 0x
| 0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| AK4358? DAC - AK4114 AK4112 DIT
|-
| [http://ixbtlabs.com/articles2/multimedia/m-audio-revolution51.html M-Audio Revolution 5.1]
| 0x1412
| 0x3631
| 0x0
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| reported working years ago but discontinued - (Envy24GT) - 3ch AKM 4358 DAC - ADC AKM 5365 -
|-
| [http://ixbtlabs.com/articles2/m-audio-revolution71/index.html M-Audio Revolution 7.1] 24/192
| 0x1412
| 0x3630 0x1724
| 0x0
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| not working - illegal semaphore - 6ch ADC AKM AK4355 24-bit 192 kHz - 2ch DAC AKM AK4381 24-bit 192 kHz - ADC AKM AK5380
|-
| Terratec Aureon Sky 5.1
| 0x153b
| 0x1147
| 0x
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - discontinued
|-
| [http://ixbtlabs.com/articles2/terratec-aureon71/index.html Terratec Aureon Space 7.1]
| 0x153b
| 0x1145
| 0x0
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - Wolfson WM8770 DAC, AC'97 codec SigmaTel STAC9744
|-
| Terratec Aureon Universe 7.1
| 0x153b
| 0x1153 (rev x) 0x1724 (rev3)
| 0x0
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| not working - semaphore error on rev 3 - DAC ADC
|-
| Terratec Phase 22
| 0x153b
| 0x1150
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - Envy24HT-S - AK4524
|-
| Terratec Phase 28
| 0x153b
| 0x1149
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - Envy24HT-S - AK4524
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Playback
| Recording
| Revision
| Comments
|-
| Audiotrak (ESI) Prodigy 7.1
| 0x4933
| 0x4553
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - Wolfson WM8770 and AC'97 SigmaTel STAC9744 codec
|-
| Audiotrak (ESI) Prodigy 7.1 LT
| 0x3132
| 0x4154
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver -
|-
| [http://ixbtlabs.com/articles2/sound/audiotrak-prodigy192.html Audiotrak (ESI) Prodigy 192] 24/96
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - STAC9460S codec
|-
| <!--Description-->Echo Layla 24/96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
| [http://www.bit-tech.net/custompc/labs/80752/hercules-gamesurround-fortissimo-4.html Hercules Gamesurround Fortissimo 4]
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - Wolfson WM8776 Codec and WM8766 DAC
|-
| [http://ixbtlabs.com/articles2/multimedia/m-audio-audiophile192.html M-Audio Audiophile Delta AP 192k]
| 0x1412
| 0x3632
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - Stereo ADC AKM AK5385A 24-bit 192 kHZ - 8-channel DAC AKM AK4358 24-bit 192 kHz - AKM 4114/4112 DIT
|-
| ONKYO SE-150PCI
| 0x160b
| 0x0001
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver
|-
| <!--Description-->ESI Waveterminal 192x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
| <!--Description-->Quartet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments--> - AKM 4114/4112 DIT
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
|}
====hdmiaudio.audio - hdmi no support====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->ATI R6xx HDMI Audio codec support output
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x9840
| <!--Revision-->
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->Not detected
|-
| <!--Description-->NVidia HDMI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Intel Series 6 CougarPoint HDMI codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Intel HDMI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|}
[[#top|...to the top]]
===Graphic GFX Chipsets===
PCIe is defacto on 64bit AROS and recommended on 32bit.
AGP works but faster transfers through the AGP slot are only available on a few supported motherboard chipsets
* Faster AGP Working = SIS 650 board, Intel 865pe AGP slot on MSI 6788-050,
* Not Supported = NForce2 chipsets, most Intel 815/820 chipsets, VIA chipsets, ALi chipsets,
The fallback for all graphics modes is vesa if any native support does not work. There is a choice of very low resolution vga as the last resort
2D tests performed with [http://download.aros3d.org/software/gfxbench.zip gfxbench] in the shell type gfxbench > out.txt (40 seconds blank screen is part of the test), via FreeDoom via limit-removing engine like odamex, chocolate or vanilla doom -timedemo demo1 or doom2 -timedemo demo1, doom.exe -iwad doom2 -file mymap.wad, Duke DNRATE 640x480 windowed
3D tests performed with Demos/Mesa/ , Cube 1080p, Cube 2 windowed not fullscreen 1920 x 1025, Quake3 ~ cl_drawFPS 1, Xonotic , [http://shinh.skr.jp/sdlbench/showtestgl.cgi test gl],
HDMI, DVI and DisplayPort monitors have a native resolution of 480p, 720p, 1080i, 1080p and up
* HDMI 1.2 720p res.
* HDMI 1.3 1080 resolution
* HDMI 1.4 above 1080 res.
* HDMI 2.0
* HDMI 2.1
* HDMI 2.2 ultra96
====vga.hidd====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Comments
|-
|
| 0x
| 0x
| 0x0
| Generic VGA Driver, limited to 640x480 in 16 colours - no 3D support
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Comments-->
|-
|}
====vesa.hidd====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Comments
|-
|
| 0x
| 0x
| 0x0
| 2D support for VBE1, VBE2 and VBE3 (most cards) - various resolutions and 24bit colour - no 3D support
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Comments-->
|-
|}
[[#top|...to the top]]
====[[w:en:Intel GMA|Intel GMA]]====
DVI output is not supported at the moment.
If having problems:
* Ensure the latest version is being used.
* Set GMA_MEM to 128 or 256 to test
* Try the FORCEGMA ToolType for 2D, and try the FORCEGALLIUM ToolType for 3D acceleration after 2D is verified to work. ToolTypes should be applied to the Devs/Monitors/IntelGMA monitor icon.
If still having problems:
* At GRUB boot screen edit boot line and add option: debug=memory
* Boot.
* Use shell command: tools/debug/bifteck > RAM:debug.txt
* And post [GMA MONITOR DETECTION] and other related debug lines
{| class="wikitable sortable" width="90%"
! width="5%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="3%" |Rev
! width="5%" |2D
! width="5%" |3D
! width="5%" |Analog Output
! width="5%" |Digital Output
! width="5%" |Laptop LCD
! width="30%" |Comments
|-
| 910GL 82910GL GMCH + ICH6
| 0x8086
| 0x2582 0x2592
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| 910GML 82910 GML GMCH + ICH6 Mobile
| 0x8086
| 0x2582 0x2592
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| may need to add forceGMA to grub boot line to work
|-
| 915G 82915G GMCH + ICH6-M
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
|
|-
| 915GL 82915GL GMCH
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
|
|-
| 915GV 82915GV GMCH
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Yes|}}
| <!--3D-->{{No|}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{N/A}}
| HP DC5100 small form factor
|-
| 915GM GMA900
| 0x8086
| 0x
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| tunnel gearbox }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes}}
| asus eee pc 900
|-
| 915GMS
| 0x8086
| 0x
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| tunnel }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes| }}
|
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| [http://www.notebookcheck.net/Intel-Graphics-Media-Accelerator-950.2177.0.html 945GU] - 133 MHz (Lake port for Intel A100 and A110)
| 0x8086
| 0x2772
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| Fujitsu LifeBook U1010,
|-
| 945GMS - 166 MHz / 250 MHz (1.05V)
| 0x8086
| 0x27a2
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes}}
| Dell D430
|-
| 945GSE - 166 MHz (for Atom)
| 0x8086
| 0x27ae
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Yes|[http://www.x.org/wiki/GalliumStatus]}}
| {{Yes}}
| {{No|dvi port}}
| {{Yes| }}
| for atom motherboards and most 2008/2009 netbooks
* 3D Works - AOA110 AOA150, Dell Mini 9, Samsung NC10, Toshiba NB100,
|-
| 945G 82945G GMCH + ICH7
| 0x8086
| 0x27a6
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| untested 2D and 3D
|-
| 945GC 82945GC MCH
| 0x8086
| 0x27a6
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| untested 2D and 3D
|-
| 945PM
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| Dell D420, Compaq nc6400,
|-
| 945GMS - 250 MHz Calistoga
| 0x8086
| 0x
| 0x0
| <!--2D--> {{Yes}}
| <!--3D--> {{Yes|most models}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes}}
|
* 3D Works Dell Latitude 2100, HP Compaq nc6320, Lenovo 3000, Lenovo T60, Samsung Q35, Dell D620, Dell D820,
* 3D untested Toshiba Satellite L100-120, Toshiba Portege M400,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
|
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GMA 3100 G31
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works 2D but no 3D
|-
| GMA 3100 G33
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works 2D but no 3D
|-
| [http://en.wikipedia.org/wiki/Intel_GMA GMA 3150] netbooks and nettops
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works 2D but no 3D. no vga, dvi or hdmi output for nettops
|-
| <!--Description--> G965
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments-->
|-
| <!--Description--> Q965
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x2992
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{No}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments--> Only tested with VGA output.
|-
| 965GM X3100 (500 MHz)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| some support 2D but no hardware 3D - could not get it to work with VGA or dvi output
* untested Apple MacBook Air, Lenovo Thinkpad X300, Dell Inspiron 1525, Toshiba M9,
|-
| 960GM X3100 (400 MHz)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
|
|-
| 965M X3100 (400 MHz)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| Dell D830,
|-
| 965PM ??
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| Toshiba A9 works with limited 2D acceleration but no hardware 3D
|-
| GL965
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works with limited 2D acceleration but no hardware 3D
|-
| GM965
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works with limited 2D acceleration but no hardware 3D
|-
| GMA X3500 G35
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->X4500M G41 G43 G45 (400Mhz) Mobile 4 Series
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x2a42 0x2a43
| <!--Revision-->0x07
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue--> {{No|}}
| <!--Digital--> {{No|}}
| <!--Laptop LCD--> {{Yes| VESA}}
| <!--Comments-->works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->GMA 4500M HD (533 MHz)
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments-->works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->GMA 4700M HD (640MHZ)
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x2a42
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments-->works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
====[http://nouveau.freedesktop.org/wiki/FeatureMatrix nouveau].hidd ([http://web.aros3d.org/index.php/projects nvidia pci, agp, pci-e desktop])====
PCIe based nvidia graphics (gfx 8xxx) are the base level for 64bit AROS but earlier models still has some support on 32bit AROS
*Desktop, more likely hit rather than miss on '''very''' early nvidia
*Laptop, limited support for '''very''' early non-optimus (i.e. just Nvidia gfx only so no Intel and nvidia gfx combinations)
Please note that the nouveau project is reverse engineering a graphics driver due to nVidia's limited information and design decisions (closed firmware, etc)
* 2026-05 - DEVS
* 2011-10 - DEVS 6.11 Nouveau.hidd 7.4 Gallium.hidd 9.4 Softpipe - LIBS 2.3 Gallium 1.3 GLU 19.0 Mesa OpenCL 1.x
* 2011-04 - DEVS 5.31 Nouveau.hidd 7.3 Gallium.hidd 9.3 Softpipe - LIBS 2.2 Gallium 1.1 GLU 18.0 Mesa OpenCL n/a
[https://comparisoncpu.com/gpu/list Nouveau support for AROS] is limited to OpenGL 2.1 compliance even for modern GL4 capable GPUs - OpenCL supports the older NV50 (8000 9000) cards, less support in newer NVC0 cards (300 upwards)
ADoom3 graphic details ultra, benchmark while playing press the "`" key and type "Timedemo demo1" in the console
{| class="wikitable sortable" width="90%"
! width="5%" | Graphic Card
! width="5%" | 1024 x 768
! width="5%" | 800 x 600
! width="2%" | 640 x 480
|-
| Asus EN8400GS SILENT/P/512M PCIe (G98) || || ||
|-
| 8400gs || || ||
|-
| Gigabyte 8500 GT 256M || 42,6 || 57,2 || 68,6
|-
| Geforce 9500GT 512M || 43 || 53 || 57
|-
| gt210 || || ||
|-
| Palit GT220 Sonic 512M || 39,7 || 55,8 || 63,7
|-
| gt218 || || ||
|-
| HostGL Ryzen 5 4600H - Nvidia 1650 - Linux mint 21.1 || 150fps || 154fps || 155fps
|-
| || || ||
|-
|}
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|-
| <!--Description-->tnt1 (nv04) tnt2 (nv05) m64 value (1998)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|very slow}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| NV04 Riva TNT TNT2 Fahrenheit freezes on via motherboard chipset so rename agp.hidd in SYS:Devs/Drivers or Monitors
|-
| <!--Description-->tnt vanta lt (nv06) 1998 /9
| 0x10de
| 0x002c
| 0x15
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|slow}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| <!--Description-->Geforce 256 (nv10) (2000)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|slow }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| untested Geforce256
|-
| <!--Description-->Geforce 2 Geforce 3 Geforce 4 (nv20) 2000 / 2
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|slow }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| works for some PCI and AGP Geforce2 Geforce3 Geforce4
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| Geforce FX5200 nv34 (2003)
| 0x10DE
| 0x0322 0x
| 0xA1
| <!--2D-->{{Maybe| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->{{Maybe|VGA15 }}
| <!--Digital-->{{Maybe|DVI}}
| <!--Laptop LCD-->{{N/A}}
| NV30 GeForce 5 FX Rankine Hardware OpenGL 1.5 - slower than GF MX 4000 for 2D - max 1024 x768
* not working [https://eab.abime.net/showthread.php?t=92328&page=8 mobos with VIA chipsets 2018]
* working (MSI 0x9174) the previous nouveau 5.x driver
* Others work with 6.x series XFX PV-T34K-NA, ASUS V9520-X/TD
|-
| Geforce FX5500 (nv34) (2003)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{Maybe| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| works
|-
| Geforce 5100 (NV34)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce FX 5200LE (NV34)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5200 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce FX5600 (nv31) (2004)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Maybe| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| works
|-
| GeForce FX 5600 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5600SE
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5600XT
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce FX5700 (nv36) (2004)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes|some}}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{Maybe| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5700VE
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5700 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5700LE
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5800 (NV30)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5800 Ultra (NV30)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900 (NV35)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900XT
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900ZT
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5950 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce 5xxx
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
|
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| Geforce 6200 (nv44) (2005)
| 0x
| 0x00F3 0x014F
| 0x0
| <!--2D-->{{Yes|5.28 Pixel Text}}
| <!--3D-->{{Maybe| use 5.28}}
| <!--Analogue-->{{Yes|VGA15 and s-video - plain 4pin cable lead will work with 7pin}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| NV40 GeForce 6 GeForce 7 Curie AGP Hardware OpenGL 2.1 needing previous 5.x version as regression arose 2011-10
|-
| Geforce 6200 (nv44a) (2006)
| 0x
| 0x0221
| 0x0
| <!--2D-->{{Yes|5.28 Pixel Text }}
| <!--3D-->{{Yes|}}
| <!--Analogue-->{{Yes|VGA15}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| Hardware OpenGL 2.1, PCI version tested OK in 2014-01-02 - Icaros 1.5.2
* not working
*working
|-
| GeForce 6200 with Turbo Cache (NV43)
| 0x
| 0x0161
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce 6200SE with Turbo Cache (NV44)
| 0x
| 0x0162
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce 6200 LE
| 0x10de
| 0x0163
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| PCI-E
|-
| GeForce 6600 LE
| 0x
| 0x00F4 0x0142
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6600
| 0x
| 0x00F2 0x0141
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| 2006 PureVideo HD 1 or VP1 re-used the MPEG-1/MPEG-2 decoding pipeline from FX
|-
| Geforce 6600gt (nv4x) (2005)
| 0x
| 0x00F1 0x0140
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Yes| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| OpenGL tests -
|-
| Geforce 6800 (nv40) (2005)
| 0x
| 0x0041 0x00C1 0x00F0 0x0211
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Yes| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 XE (NV4x)
| 0x
| 0x0043
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 LE
| 0x
| 0x0042 0x00C2 0x0212
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 GT (quadro fx 1400)
| 0x
| 0x0045 0x0046 0x0215
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 6800 GS
| 0x
| 0x0047 0x00C0 0x00F6
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 GTS NV40
| 0x
| 0x0040 0x0F9
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 6800XT
| 0x
| 0x0044 0x0048 0x00C3 0x0218
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6600 VE
| 0x
| 0x0143
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6500 NV44
| 0x
| 0x0160
| 0x0
| <!--2D-->{{unk| }}
| <!--3D-->{{unk| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6250
| 0x
| 0x0169
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 6xxx
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GeForce 7800 GTX
| 0x
| 0x0090 0x0091
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| tunnel gearbox cube cube2 25}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> 256MB DDR3 - 1 6pin psu connector -
* not working asus en7800gtx/2dhtv/256m/osp/a -
* Works XFX PV-T70F-UDD7 Works in steve jones' scrap pc aros build 2010 2 DVI-I ports
* Untested
|-
| GeForce 7800 GT
| 0x
| 0x0092
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7600gt (G8 ) (nv4 ) (2006)
| 0x
| 0x02E0 0x0391
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL 2.1
* not working
* working
|-
| GeForce 7800 SLI
| 0x
| 0x0095
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GTX
| 0x
| 0x0290
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GT GTO
| 0x
| 0x0291
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GS
| 0x10de
| 0x0292
| 0x0a1
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working
* Works with a few glitches with XFX Pine 0x2218
|-
| GeForce 7950 GX2
| 0x10de
| 0x0293 0x0294
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| GeForce 7950 GT
| 0x
| 0x0295 0x02E4
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GS
| 0x
| 0x02E3
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7600 GS
| 0x
| 0x02E1 0x0392
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7650 GS
| 0x
| 0x0390
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7600 LE
| 0x
| 0x0394
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7800GS (G8 ) (nv4 ) (2006)
| 0x
| 0x0093 0x00F5
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working
* works if AGP motherboard chipset is supported - Hardware OpenGL 2.1
|-
| GeForce 7100 GS
| 0x
| 0x016A
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7350 LE
| 0x
| 0x01D0
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7300le (G8 ) (nv4 ) (2006)
| 0x
| 0x01D1
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7300SE 7200GSGF-7200GS-N-B1 variant (G72)
| 0x10de
| 0x01D3
| 0x0a1
| <!--2D-->
| <!--3D-->
| <!--Analogue-->{{Unk|1x DVI, 1x VGA, 1x S-Video}}
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2007 40W pci-e 1.0 VP1 no unified shaders -
* not working Asus on via chipset (2015),
* works Asus on intel chipset (2015),
|-
| Geforce 7300gt (G8 ) (nv4 ) (2006)
| 0x
| 0x0395 0x0393
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working
* works
|-
| GeForce 7300 GS
| 0x
| 0x01DF
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7500 LE
| 0x
| 0x01DD
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7xxx
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GeForce 8800 Ultra (NV50 family)
| 0x
| 0x0194
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NV50 GeForce 8 to GeForce 200s opengl 3.x - max res - 80nm technology - PureVideo HD 2 or VP2 Nvidia VDPAU Feature Set A (absent from ultra and some 8800gt?) added a dedicated bitstream processor (BSP) and enhanced video processor for H.264, VC-1 acceleration
|-
| Geforce 8800gts (nv50) (G8x) (2007)
| 0x
| 0x0400 0x0600 0x0193
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2007 200w openGL3 openCL - 2x6pin psu
* not working 0x0193 models (2015) on via chipsets,
* works
|-
| Geforce 8800gtx (nv5 ) (G8x) (2007)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2008 200W 1x 6pin connector,
* not working
* working
* untested XFX PV-T88P-YDF4, Alpha Dog Edition runs extremely hot - Gigabyte GV-NX88T512H,
|-
| GeForce 8800 GT
| 0x
| 0x0602 0x0611 0x0193
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->DVI up to 2500 x 1600
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - 6pin psu power connector required
* not working
* untested Asus EN8800GT/HTDP/256M EN8800GT/HTDP/512M EN8800GT/G/HTDP/512M
* works
|-
| GeForce 8800 GT (G92)
| 0x10de
| 0x0611
| 0x0a2
| <!--2D-->{{Yes|6.11 Pixel Text}}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{N/A}}
| <!--Digital-->{{Yes}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3 pci-e 2.0 8800GT 512MB on Icaros 2.0.3 [[File:8800GT aros heads.png|thumb|8800GT]] [[File:8800GT aros tails.png|thumb|8800GT detail]]
|-
| Geforce 8600gt (nv5 ) (G8x) (2007)
| 0x
| 0x0401 0x0402
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res
* not working
* works
|-
| GeForce 8500 GT
| 0x
| 0x0421
| 0x0
| <!--2D-->{{Yes| some color }}
| <!--3D-->{{yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL tests - max opengl 3.x but 2.1 offered - max res
* not working
* works Gigabyte 8500 GT,
|-
| GeForce 8800 GS
| 0x
| 0x0606 0x060D
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res
|-
| GeForce 8600GS
| 0x
| 0x0403
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 3.x VP3 offers complete hardware-decoding for all 3 video codecs of the Blu-ray Disc format: MPEG-2, VC-1, and H.264 - Nvidia VDPAU Feature Set B
|-
| GeForce 8300 GS
| 0x
| 0x0423
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res
|-
| Geforce 8400gs G98GS (end 2007) GT218 (2009)
* Rev2 with 8/16 cores and 128-512MB of DDR2 or GDDR3 memory.
* Rev3 with 8 cores and 512MB-1GB of DDR3 memory (based on Tesla 2.0)
| 0x
| 0x0424 0x0422
| 0x0
| <!--2D-->{{Yes|Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 490 gearbox 505 Cube 135 Cube2 55 quake3 }}
| <!--Analogue-->{{Yes|works digital part of DVI but nothing from any display port}}
| <!--Digital-->{{Yes|output on digital 24 pin array of DDWG's DVI and hdmi}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 50W openGL 3.1 openCL - case single slot - one single-link DVI digital output, supporting up to one 1920x1080 resolution display - analog resolution 640 x 480 to 1024 x 768 16 and 24 bit color - [http://www.phoronix.com/scan.php?page=article&item=nouveau_comp_2011&num=19 runs a little hotter than expected] - G98 VP3 pci-e 2.0 512MB DDR2 -
* not working
* works Asus EN8400GS SILENT/P/512M PCIe (G98),
|-
| Geforce 8400gs (nv50) (G86) (mid-2007)
* Rev1 with 16 cores / 256MB of DDR2 memory.
| 0x
| 0x0404
| 0x0
| <!--2D-->{{Yes|Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 490 gearbox 505 Cube 135 Cube2 55 quake3 }}
| <!--Analogue-->{{Yes|works but not tested thru 4 pins of analog signal of DVI plug}}
| <!--Digital-->{{Yes|output on digital 24 pin array of DDWG's DVI and hdmi}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2008 50W openGL 3.1 openCL - case single slot - one single-link DVI digital output up to 1920x1080 resolution display - analog resolution 640 x 480 to 1024 x 768 16 and 24 bit color - [http://www.phoronix.com/scan.php?page=article&item=nouveau_comp_2011&num=19 runs a little hotter than expected] - G86 VP2 128MB -
* not working XFX PV-T86S-YAJG NVIDIA GeForce 8400 GS 512MB DDR2, Sparkle 8400GS 512MB SX84GS512D2L-DPP,
* works Asus EN8400GS SILENT/HTP/256M SILENT/HTP/512M/A,
|-
| GeForce 8400 SE
| 0x
| 0x0420
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 2.x openCL
|-
| NVidia Quadro NVS290 DMS-59
| 0x
| 0x0403
| 0x0
| <!--2D-->{{no| }}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk|DMS-59 socket}}
| <!--Digital-->{{unk|DMS-59 }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2008 21W - G86S (G86-827-A2) - 16 shading units, 8 texture mapping units, and 4 ROPs. NVIDIA has paired 256 MB DDR2 - PCIe 1.0 x16 Low Profile -
|-
| Geforce Quadro FX 4600 (SDI), 5600
| 0x
| 0x
| 0x0
| <!--2D-->{{Partial|VESA 2d}}
| <!--3D-->{{no| }}
| <!--Analogue-->{{partial| }}
| <!--Digital-->{{partial| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GeForce 9800 GX2 (NV50 family)
| 0x
| 0x0604
| 0x0
| <!--2D-->{{Partial|VESA }}
| <!--3D-->{{no| }}
| <!--Analogue-->{{Partial| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 150w - 65nm technology
|-
| GeForce 9800 GTX
| 0x10de
| 0x0612
| 0x0a2
| <!--2D-->{{Yes| }}
| <!--3D-->{{Maybe|6.11 }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 2x6pin psu -
* not working xfx on via chipset (2015),
* works xfx on chipset intel ,
|-
| GeForce 9800 GTX+
| 0x10de
| 0x0613
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res 2560 x 1920 - case dual slot - 26amp 12v rail on computer psu if 2x6pin connectors needed - 55nm version of the G92 chip - will not work with PCI-e 1.0a slots -
* not working
* works on a few models
|-
| Geforce 9800gt (nv50) (G92a) (2008)
| 0x10de
| 0x0614
| 0x0xa2
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel 495 gearbox 513 Cube 156 Cube2 120 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{partial| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL 3.1 openCL 1.x - case dual slot - 600w 26amp on both 12v rails for 2x6pin psu on gfx card - no fan control - some come with 1x6pin - renamed version of the venerable GeForce 8800 GT - randomly works
* not working Gainward 512M untested
* working Gainward CardExpert (0x0401) Green Edition NE39800TFHD02-PM8D92 1024MB (no 6pin)
|-
| Geforce gf9600 9600gt (nv5 ) (G9x) (2008)
| 0x10de
| 0x0622
| 0x0a1
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel 493 gearbox 675 Cube Cube2 100 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL 3.2 openCL but no fan control - case dual slot - 1 6pin pcie psu connector - 500 Watt or greater power supply with a minimum of 26 Amp on the +12 volt rail - Max Analog: 2048x1536 and Max Digital: 2560x1600 (Dual Link DVI Only) - PCI Express® 2.0 / 1.1 Support - g96 gpu randomly works -
* not working bfg tech ocx,
* works gigabyte gv-n96tsl-512i -
|-
| Geforce gf9500 9500gt (nv5 ) (G9x) (2008)
| 0x10de
| 0x0640
| 0x0a1
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel 480 gearbox 500 Cube Cube2 64 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.2 - case single slot - 350 Watt/400 Watt or greater power supply with a minimum of 18 Amp/22 Amp on the +12 volt rail - Max Analog: 2048x1536 and Max Digital: 2560x1600 (Dual Link DVI Only) - PCI Express® 2.0 / 1.1 Support -
* not working zotac zone fanless, Gainward USA NE29500THHD01-PM8796, PNY G9500GN2E50X+0TE,
* works xfx xne-9500t-td01-pm8596 1024mb ddr2,
|-
| GeForce 9600 GS
| 0x
| 0x0623
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res - will not work with PCI-e 1.0a slots -
* not working
* works
|-
| GeForce 9600 GSO
| 0x
| 0x0610
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res - G92 chopped down - 9600GSO is re-badged 8800GS both very power hungry cards -
|-
| GeForce 9300 GS
| 0x
| 0x06E1
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 opengl 3.x - max res
|-
| Geforce 9400 GT (nv5 ) (G86S) (2008)
| 0x
| 0x
| 0x0
| <!--2D-->{{partial|}}
| <!--3D-->{{unk|}}
| <!--Analogue-->{{unk|1x DVI, 1x VGA, 1x S-Video}}
| <!--Digital-->{{unk|1x DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 50W opengl 3.x - max res
|-
| Geforce 9xxx (nv5 ) (G9x) (2008)
| 0x
| 0x
| 0x0
| <!--2D-->{{unk|}}
| <!--3D-->{{unk|}}
| <!--Analogue-->{{unk|}}
| <!--Digital-->{{unk|}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 opengl 3.x - max res
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce GTX 280 (NV50 family)
| <!--Vendor ID-->
| <!--Product ID-->0x05E1
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res PureVideo HD 4 (Nvidia Feature Set C or "VDPAU Feature Set C), VP4 added hardware to offload MPEG-4 Advanced Simple Profile (original DivX and Xvid)
|-
| <!--Description-->GeForce GTX 260
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x05E2
| <!--Revision-->
| <!--2D-->{{partial|Vesa}}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> 2 6pin - psu pci express 2.1 -
|-
| Geforce GTS250 250GTS (g92b) (2009)
| 0x10de
| 0x0615
| 0x0a2
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 486 gearbox 508-642 Cube Cube2 80 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> 2x6pin psu VP2 - pci-e 2.x - case dual slots - 738m 1gb ddr3 -
* not working Zotac branded version GDDR3 -
* works PNY gs-250x-zdfl and Gigabyte ??, BFG Tech RGTS2501024OCE, palit ne3ts250fhd52-pm8a92 with 2x6pin on top and hdmi output port,
|-
| <!--Description-->GeForce GT 240 (GT215 family)
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0ca3
| <!--Revision-->0xa2
| <!--2D-->{{Maybe|use VESA}}
| <!--3D-->{{No|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->late 2009 openGl 3.2 - case dual slots - no 6pin psu required with VP4 - linux nouveau support added 2015 - All are pcie 2.1 cards and may not work in 1.0a slots -
* not working
* DDR3 with 512MB or 1GB -
* DDR5 -Asus ENGT240 - XFX Pine GT240XYHFC 0x3001 - Gigabyte GV-N240D5-512I rev 1.0 - Zotac AMP! with HDMI 1.3a with DisplayPort 1.1, Dual Link DVI -
* works
|-
| <!--Description-->GT220 (GT216) G220
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0a20
| <!--Revision-->0xa2
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Yes}}
| <!--Digital-->{{Yes|DVI }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> Icaros 2.0.3 GeForce GT220 1GB[[File:GT220 aros heads.png|thumb|GT220]][[File:GT220 aros tails.png|thumb|GT220]]
* untested NVIDIA Quadro® 400 512MB DDR3 GT216 DP DVI, AFox AF220 1Gb DDR3,
|-
| Geforce GT220 220GT G94 Tesla (g92b)
| 0x10de
| 0x0a20
| 0xa2
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 490 gearbox 505 cube 150 cube2 50 Quake3 }}
| <!--Analogue-->{{Unk|1x DVI, 1x VGA}}
| <!--Digital-->{{Yes|DVI but not 1x HDMI }}
| <!--Laptop LCD-->{{N/A}}
| 58W pci express 2.0 cards DDR3 - case single slot -
* not working ASUS ENGT220/DI/1GD2(LP)/V2 -
* works - gainward card expert 0x0401 GDDr3 512MB -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GT210 GT 210 210GT G210 based on Tesla 2.0 GT218S GT218-300-A2 variant, GT218-300-B1
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0a65
| <!--Revision-->0xa2
| <!--2D-->{{Yes|6.11 Pixel Text}}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{Unk|1x DVI, 1x VGA}}
| <!--Digital-->{{Maybe|DVI out works but not hdmi or 1x DisplayPort}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 31W OpenGL 3.3 pci-e 2.0 cards - single slot -
* working GT218 based Asus EN210 based silent low profile large passively cooled -
* untested MSI GeForce 210 1GB DDR3 PCIe N210-MD1GD3H/LP,
* not working
|-
| <!--Description-->Quadro NVS 295 (256 MB GDDR3), NVS 450 (256M/512 MB DDR3)
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x
| <!--Revision-->
| <!--2D-->{{yes| }}
| <!--3D-->{{unk| }}
| <!--Analogue-->
| <!--Digital-->{{partial|2 or 4 dp ports}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 25w low performance - G98s with 8 shading units, 4 texture mapping units, and 4 ROPs on PCI-Express 1.0 x16 -
*not working some NVIDIA Quadro NVS 295 2 dp ports (DELL, HP),
*working
|-
| <!--Description-->GT310 Tesla 310, 315, GT 320, GT 330 GT 340
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{Maybe|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2010 50w OpenGL 3.3 openCL all similar in performance to GT2xx except gt31x (poor)
|-
| <!--Description-->Quadro NVS310 NVIDIA NVS 310
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital--> 2 dp
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2012 25w GF119S (GF119-825-A1) 48 shading units, 8 texture mapping units, and 4 ROPs on PCI-Express 2.0 x16 - 512 MB DDR3 - PureVideo VP5 VDPAU Feature Set D -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description--> GTX 470, GTX 480 GF10 GF10* core (NVC0 family)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{Maybe| tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2010 215w 2x6 plugs - NVC0 GF100 (GF100-275-A3) Fermi 448 shading units, 56 texture mapping units, and 40 ROPs with 1,280 MB GDDR5 - OpenGL4.5 OpenCL1.1 Tessellation - case dual slots -
|-
| Geforce GTX460 460GTX (G104) 256bit, 1GB v2 192bit and GTX 465
| 0x10de
| 0x0e22
| 0xa1
| <!--2D-->{{Maybe|VESA }}
| <!--3D-->{{Maybe| tunnel gearbox cube 055-111 cube2 50}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> Hardware OpenGL 4.x - 2x6pin psu - case dual slots -
* not working evga 768MB GDDR5 192bit 01G-P3-1373-ER or 01G-P3-1372-TR
* works 1GB GDDR5 256bit 01G-P3-1371-ER
|-
| <!--Description-->Geforce GTX 460SE 192bit
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0e23
| <!--Revision-->0x91 or 0xa1
| <!--2D-->{{Yes| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->{{Yes| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> nouveau 6.11 - 2 6pin psu needed - case dual slots -
* not working
* works EVGA 01g-p3-1366-b6 et 1024MB p1041 -
|-
| Geforce GT450 GTS450 450GTS GF106
| 0x10de
| 0x0dc4
| 0x0a1
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel gearbox cube cube2 50 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes|DVI }}
| <!--Laptop LCD-->{{N/A}}
| 2010 Hardware OpenGL 4.2 but nouveau at 3.3 - most need 1x 6pin psu - case dual slots -
* not working
* DDR3 1 or 2GB - Palit NEAS450NHD41F,
* GDDR5 512Mb or 1GB - MSI MPN N450GTSM2D1GD5OC, Asus MPN ENGTS450DI1GD5,
* works Gainward Card Expert NE5S4500FHd51,
|-
| <!--Description-->GT 440 GF108 chipset or better OEM GF106
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 6.11 Pixel Text}}
| <!--3D-->{{Maybe| tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGl 4.1 opencl 1.x - no 6 pin psu - 96 cuda cores 128bit - case dual slots -
* not working
* OEM
* GDDR5 512MB to 1GB ASUSTeK ENGT440/DI/1GD5
* GDDR3 Asus 1gb to 2gb,
* works
|-
| <!--Description-->GT430 430GT (GF108)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|6.11 Pixel Text}}
| <!--3D-->{{Maybe|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->ddr3 memory 64bit or 128bit - buggy await new revision of driver
* not working
* works
|-
| <!--Description-->nVidia Quadro FX1800 768MB GDDR3 Full Height Graphics Card Workstation
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 6.11 Pixel Text}}
| <!--3D-->{{no|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->{{Maybe|DVI-I 2xDP}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->59W 768 MB GDDR3 memory using a 192-bit memory interface - OpenGL 3.3 -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GTX 590 Fermi
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->OpenGL4.4 OpenCL 1.1 - GDDR5 - 6pin and 8pin psu connectors - 512 cuda - case dual slots -
* not working
* works
|-
| <!--Description-->GTX 580,
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->PureVideo HD 5" or "VP5" (Nvidia Feature Set D or VDPAU Feature Set D) 4k UHD 3840 × 2160 H.264 decode -
|-
| <!--Description-->GTX 570,
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{Maybe|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working Zotac GTX 570, Gainward GTX560TI/570 Phantom,
* works gigabyte, evga
|-
| <!--Description-->Geforce 5xx 560gtx Fermi GTX 560,
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->opengl 4.x - 2 6pin psu - 384 cuda cores - case dual slots - will not work with PCI-e 1.0a slots -
* not working Asus ENGTX560 DC/2DI/1GD5,
* Ti LE 448 cuda GDDR5 320bit
* Ti 256bit
* works
|-
| <!--Description-->GTX 560 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working evga GTX 560Ti 01GP31560KR - Gainward GTX560TI/570 Phantom,
* works
|-
| <!--Description-->GTX 550 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x1201
| <!--Revision-->
| <!--2D-->{{Maybe|VESA Doom Doom2 Duke }}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->can hang on boot up on I2C Init or suffer random lockups on OpenGL apps - most need 1 6pin min 400W 24A on the +12V1 / +12V2 dual 12V rails of the computers' power supply unit - 192 cuda cores - case dual slots used - will not work with PCI-e 1.0a slots -
* not working eVGA GeForce GTX 550 Ti (1024 MB) (01GP31556KR) -
* untested asus Extreme, eVGA GeForce GTX 550 Ti (1024 MB) (01GP31557KR) - -
* works
|-
| <!--Description-->GT 545 and OEM GF116
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 4.2 opencl 1.x - GDDR5 with OEM only -
|-
| <!--Description-->GT530 OEM
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 6.11 Pixel Text}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->96 cuda cores - 1GB or 2GB DDR3 128bit
|-
| <!--Description-->GT520 520GT
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->untested 48 cuda cores - DDR3 64bit
|-
| <!--Description-->510, GT 530
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D 6.11 Pixel Text}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> ddr 3 - 50w max -
|-
| <!--Description-->GT610 Fermi GF119
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->NVS 315 300 GF119S
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{No|VESA}} needs special dms-59 cable
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 fermi 315 PNY VCNVS315-T 1Gb DDR3 but needs special dms-59 cable -
|-
| <!--Description-->GT630 GF108 Fermi
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->not accelerated 2015 - like the GT730 below - 96 cuda cores whilst kepler version has 384 - 128bit to keplers' 64bit bandwidth - kepler has 2GB DDR3
* not working Gigabyte
* DDR3
* GDDR5
* works
|-
| <!--Description-->Geforce GT 730
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe| use VESA 6.11 Pixel Text}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> fermi version has 96 cuda cores 128bit GF108
* not working Asus
* works
|-
| <!--Description-->nVIDIA Quadro 4000
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}} 2 dp ports
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->142W 2Gb GDDR5 - PCI Express 2.0 x16 ; full Height card with 1x 6-Pin PCIe power need - CUDA Cores 256 - OpenGL 4.5
|-
| <!--Description-->nVIDIA Quadro 5000
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2011 200W 2.5Gb GDDR5 320 bit - PCI Express 2.0 x16 full Height card with 2x 6-Pin PCIe power need -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce GTX Titan GeForce GTX Titan Black GeForce GTX Titan Z
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NVE0 GeForce 600 GeForce 700 GeForce GTX Titan Kepler
|-
| <!--Description-->GeForce GTX 780 GeForce GTX 780 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->PureVideo HD 6" or "VP6" (Nvidia Feature Set E or VDPAU Feature Set E) significantly improved performance when decoding H.264 and MPEG-2
|-
| <!--Description-->GeForce GTX 770
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->opengl 4.4 opencl 1.1
|-
| <!--Description-->GeForce GTX 760 GeForce GTX 760 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce GT 740
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce GT 730 Kepler
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> two versions fermi 96 cores 128bit GF108 and kepler 384 cores 64bit GK208
|-
| <!--Description-->680gtx GK104 core gtx680 680m
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 690 Kepler NVE0
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->pci-e 3.0, OpenGL 4.4 OpenCL 1.1
|-
| <!--Description-->GTX 670
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 660 GTX 660 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 650 GTX 650 Ti GTX 650 Ti Boost
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> most need 1 6pin psu
* not working asus ENGTX560 DC/2DI/1GD5
* works
|-
| <!--Description-->Geforce GT 640
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* 128bit DDR3
* 192bit DDR3 1.5 to 3GB 50W
* 128bit GDDR5 75W
|-
| <!--Description-->GT 620 GT 640
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NV110 GeForce 750ti, GeForce 900 Maxwell -
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->GM206 2nd gen maxwell PureVideo HD 7" or "VP7" (Nvidia Feature Set F or VDPAU Feature Set F) adds full hardware-decode of H.265 HEVC Version 1 (Main and Main 10 profiles and full fixed function VP9 (video codec) hardware decoding
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Quadro K620 quadro p620 2gb gddr5 128bit and quadro p1000 4gb gt1030 30w
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 50w slim low profile -
|-
| <!--Description-->GeForce gtx 1060, GeForce 1070
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NV130 Pascal
|-
| <!--Description-->gtx 1050ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->gtx 1650ti super
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2018 old style
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce RTX 2050 2060 2080
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2020 unified gsp-rm firmware - best starting point for Vulkan support
|-
| <!--Description-->GeForce GTX 1660 Turing
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rtx3060 3080 3050
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 av1 decoding ampere
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
|}
==== nouveau mobile integrated ====
If you purchased a notebook with an NVidia sticker on it, most of the time you have a optimus based one, ie Intel CPU+GPU melded with Nvidia GPU, Optimus was slated at one point to go into desktop PCs but the industry ended up rejecting that concept
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|-
| GeForce 6100 nForce 405
| 0x
| 0x03D1 0x0242
| 0x0
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
|
|-
| <!--Description-->GeForce 6100 nForce 400
| <!--Vendor ID-->
| <!--Product ID-->0x03D2
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce 6100 nForce 420
| <!--Vendor ID-->
| <!--Product ID-->0x03D5
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce 6150 LE
| <!--Vendor ID-->
| <!--Product ID-->0x0241
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6150SE nForce 430
| 0x
| 0x03D0
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| working
|-
| <!--Description-->GeForce 6150
| <!--Vendor ID-->
| <!--Product ID-->0x0240
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7150M / nForce 630M
| <!--Vendor ID-->
| <!--Product ID-->0x0531
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7000M / nForce 610M
| <!--Vendor ID-->
| <!--Product ID-->0x0533
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7050 PV / NVIDIA nForce 630a
| <!--Vendor ID-->
| <!--Product ID-->0x053A 0x053B
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Geforce IGP 7025 nForce 630a
| 0x
| 0x053E
| 0x0
| <!--2D-->{{Yes|some}}
| <!--3D-->{{Yes|some}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No| }}
| some support on some chipsets
|-
| GeForce 7100 / nForce 630i (C73)
| 0x10de
| 0x07e1
| 0x0a2
| <!--2D-->{{Maybe}}
| <!--3D-->{{Maybe}}
| <!--Analogue-->{{Maybe}}
| <!--Digital-->{{Maybe}}
| <!--Laptop LCD-->{{N/A}}
| Icaros 2.0.3 and Gigabyte 73-pvm-s2h rev. 1.0 but will not boot on [https://ae.amigalife.org/index.php?topic=806.msg8765#new Acer x270 with Icaros 2.3]
|-
| <!--Description-->GeForce 7150 / NVIDIA nForce 630i
| <!--Vendor ID-->
| <!--Product ID-->0x07E0
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7050 / NVIDIA nForce 610i
| <!--Vendor ID-->
| <!--Product ID-->0x07E3
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Geforce IGP 8100 (nForce 720a)
| 0x
| 0x084F
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
|
|-
| GeForce 8100P
| 0x
| 0x0847
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
|
|-
| <!--Description-->Geforce 8200 8300 nForce 730a
| <!--Vendor ID-->
| <!--Product ID-->0x084A 0x0848 (GeForce 8300) 0x0849 (GeForce 8200) 0x084B (GeForce 8200)
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->working on some 8300's with Icaros 1.5 but others untested
|-
| <!--Description-->nForce 780a SLI
| <!--Vendor ID-->
| <!--Product ID-->0x084C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->nForce 750a SLI
| <!--Vendor ID-->
| <!--Product ID-->0x084D
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Nvidia Geforce IGP 9300 (nForce MCP7a)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->works
|
|-
| <!--Description-->9400 (ION)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->If AROS detects GPU chipset, works well
|-
| <!--Description-->9700M ()
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Geforce ION 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->works well
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce Go 6150
| <!--Vendor ID-->
| <!--Product ID-->0x0244
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6100
| <!--Vendor ID-->
| <!--Product ID-->0x0247
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6200
| <!--Vendor ID-->
| <!--Product ID-->0x0164 0x0167
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6400
| <!--Vendor ID-->
| <!--Product ID-->0x0166 0x0168
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->Sony Laptop
|-
| <!--Description-->GeForce Go 6800
| <!--Vendor ID-->
| <!--Product ID-->0x00C8
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6800 Ultra
| <!--Vendor ID-->
| <!--Product ID-->0x00C9
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600
| <!--Vendor ID-->
| <!--Product ID-->0x0144
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600 TE/6200 TE
| <!--Vendor ID-->
| <!--Product ID-->0x0146
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600
| <!--Vendor ID-->
| <!--Product ID-->0x0148
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600 GT
| <!--Vendor ID-->
| <!--Product ID-->0x0149
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7200
| <!--Vendor ID-->
| <!--Product ID-->0x01D6
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7300
| <!--Vendor ID-->
| <!--Product ID-->0x01D7
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->untested
|-
| <!--Description-->GeForce Go 7400
| <!--Vendor ID-->
| <!--Product ID-->0x01D8
| <!--Revision-->
| <!--2D-->
| <!--3D-->works 2D and 3d issues though
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7800
| <!--Vendor ID-->
| <!--Product ID-->0x098
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7800 GTX
| <!--Vendor ID-->
| <!--Product ID-->0x0099
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7950 GTX
| <!--Vendor ID-->
| <!--Product ID-->0x0297
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7900 GS
| <!--Vendor ID-->
| <!--Product ID-->0x0298
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7900 GTX
| <!--Vendor ID-->
| <!--Product ID-->0x0299
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7600
| <!--Vendor ID-->
| <!--Product ID-->0x0398
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7600 GT
| <!--Vendor ID-->
| <!--Product ID-->0x0399
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 6610 XL
| <!--Vendor ID-->
| <!--Product ID-->0x0145
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 6700 XL
| <!--Vendor ID-->
| <!--Product ID-->0x0147
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce 8700M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0409
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8600M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0425
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8400M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0426
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8400M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0427
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8400M G
| <!--Vendor ID-->
| <!--Product ID-->0x0428
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8800M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x0609
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8800M GTX
| <!--Vendor ID-->
| <!--Product ID-->0x060C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9500M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0405
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8600M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0407
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9650M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0408
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9400M GT
| <!--Vendor ID-->
| <!--Product ID-->0x042C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9300M G
| <!--Vendor ID-->
| <!--Product ID-->0x042E
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9100M G
| <!--Vendor ID-->
| <!--Product ID-->0x0844
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9800M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x0628
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9700M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x062A
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9800M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x062C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9600M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0647
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9600M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0648
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9600M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0649
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9500M G
| <!--Vendor ID-->
| <!--Product ID-->0x064B
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9300M GS
| <!--Vendor ID-->
| <!--Product ID-->0x06E5
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9200M GS
| <!--Vendor ID-->
| <!--Product ID-->0x06E8
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9300M GS
| <!--Vendor ID-->
| <!--Product ID-->0x06E8
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GT 605M, GT 610M GT 620M GT 630M GT 635M GT 645M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 650M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GTX 1650 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2019 turing architecture - last old skool support pre Vulkan
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rtx 2050 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 ampere architecture best starting point for vulkan support
|-
| <!--Description-->rtx 2060 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rtx 4060 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
|}
====radeon.hidd====
Michel Shultz ''2D'' graphics driver (standard on most distributions but only for very old GPUs) and bearsofts updated 2013 around Icaros 1.3.1
3D is not implemented by AROS yet but could cover these AMD chipsets
<pre>
2014 SI AMD HD 7xxx
2016 GCN3rd AMD R5E R7E
2019 GCN5th AMD Vega 8
2022 RDNA1 AMD RX5500 desktop only
2023 RDNA2 AMD 680M 780M
2024 RDNA3 AMD 880M 890M
2025 RDNA3.5 AMD 8060S strix halo and AI
2027 RDNA4 AMD
</pre>
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! 2D
! 3D
! Analogue Output
! Digital Output
! Laptop LCD
! Comments
|-
| 7000 (r100)
| 0x1002
| 0x5159
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->{{Maybe|vga15 pin connection but not s-video}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.3
|-
| 7500 (rv200 but still r100 based)
| 0x1002
| 0x5157
| 0x
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->{{Yes|vga15}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.3
|-
| 8000 8500 (r200)
| 0x1002
| 0x514c (8500LE)
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.4
|-
| 9000 9100 9250 (r200)
| 0x1002
| 0x5964 (9000) 0x514d (9100)
| 0x0001
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->{{Maybe|VGA15 but not s-video}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.4
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| 9600 9800 (r300)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1
|-
| x300 x600 (r300)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1
|-
| x700, x800 ([http://en.wikipedia.org/wiki/Radeon_R600 r420])
| 0x
| 0x554d (R430 x800xl)
| 0x0
| <!--2D-->{{Yes|new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1 - x800 XL PCIE (problem with mouse-pointer, some part of the pointer is not transparent)
|-
| x1300 x1550 x1600 x1800 x1900 x1950 ([http://en.wikipedia.org/wiki/Radeon_R520 r520])
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes|new driver}}
| <!--3D-->{{no}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| HD2400 HD2600 HD2900 ([http://en.wikipedia.org/wiki/Radeon_R600 r600])
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|some features with new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 3.3 open CL 1.2 TeraScale architecture
|-
| HD3400 HD3600 HD3800 (r600)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|some features with new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->pci-e 2.0, openGL 3.3
|-
| HD4300 HD4500 HD4600 HD4700 HD4800 ([http://en.wikipedia.org/wiki/Radeon_R600 r700])
| 0x1002
| 0x
| 0x0
| <!--2D-->{{Maybe|but some later cards need 3D engine for faster and more flexible 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 3.3 - DDR3 - GDDR5 was one of AMD's aces for the 4800 series - 4670 liked -
|-
| HD6900 cayman series
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|some features with new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 3.3 open CL not mature (2014) -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| HD5400 Series HD5430 HD5450 HD5470
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2010 openGL 3.3 openCL - GDDR3 -
|-
| HD5500 Series HD5550 HD5570 HD5600 Series HD5650 HD5670 HD5700 Series HD5750 HD5770
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 3.3 openCL - GDDR5
|-
| HD 5800 Series HD5850 HD5870 HD5900 Series HD5950 HD5970 - HD6xxx not NI chipset ([http://en.wikipedia.org/wiki/Evergreen_(GPU_family) r800 evergreen])
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 openGL 3.3 openCL - DDR5 pci-e 2.1 best avoided for all pci-e 1.0 mobos - Ati TeraScale2 architecture -
|-
| HD6450 [http://en.wikipedia.org/wiki/Northern_Islands_(GPU_family) Northern Islands chipset]
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> - DDR3 -
|-
| HD6600 Series HD6650 HD6570 HD6600 Series HD6650 HD6670
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2011 - DDR5 -
Radeon HD 8470 11 TeraScale 2
Radeon HD 8350 11 TeraScale 2
Radeon HD 7510 11 TeraScale 2
Radeon HD 6550D 11 TeraScale 2
Radeon HD 6530D 11 TeraScale 2
Radeon HD 6410D 11 TeraScale 2
Radeon HD 6370D 11 TeraScale 2
Radeon HD 6320 11 TeraScale 2
Radeon HD 6310 11 TeraScale 2
Radeon HD 6290 11 TeraScale 2
Radeon HD 6250 11 TeraScale 2
|-
| HD6800 Series HD6850 HD6870 HD6700 Series HD6790 to HD6990
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2011 - DDR5 - AMD TeraScale3 -
|-
| <!--Description-->HD7450-HD7670
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2012 OpenGL but not Vulkan
Radeon HD 7660D 11 TeraScale 3
Radeon HD 7560D 11 TeraScale 3
Radeon HD 7540D 11 TeraScale 3
Radeon HD 7480D 11 TeraScale 3
Radeon HD 6930 11 TeraScale 3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->HD7750 HD 7770 / R7 250X HD7850 HD7870 / R9 270X HD 7950 / R9 280 HD 7970 / R9 280X [http://en.wikipedia.org/wiki/Southern_Islands_(GPU_family) Southern Islands]
*AMD Radeon R7 250XE Cape Verde XT
*AMD Radeon R7 M465X Cape Verde
*AMD Radeon R9 255 Cape Verde PRX
*AMD Radeon HD 7750 Cape Verde PRO
*AMD Radeon R7 250E Cape Verde PRO
*AMD Radeon HD 8740 Cape Verde PRO
*AMD Radeon HD 7730 Cape Verde LE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2012 pci-e 3.0 1st Gen GCN architecture -
|-
| <!--Description-->R5 430, FirePro W2100,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2015 50W+ openGL openCL 1/3 speed of gtx750ti 1st gen gcn1
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->HD7790 [ Sea Islands ]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 openGL 4.1 open CL - GCN2.0 Vulkan 1.0 introduced a Shader Engine (SE) comprising one geometry processor, up to 44 CUs (Hawaii chip), rasterizers, ROPs, and L1 cache and Graphics Command Processor for faster audio/video - suits Vulkan 1.1
|-
| <!--Description-->r5 240 240x (slow) R7 250 250x (faster) HD 7790 / R7 260 260X / R7 360 to R5 350 (fast) and last one R5 430 OEM Plus (slow again)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 50W+ openGL 4.x openCL 1.x Vulkan 1.0 GCN 1st gen -
|-
| <!--Description-->R9 290 / R9 390 R9 290X / R9 390X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2014 openGL 4.x openCL 1.x 2nd Gen GCN Vulkan 1.1 architecture -
|-
| <!--Description-->R9 Fury Nano
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2015
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->r-200 series r8 275 285 295 375 [Volcanic Islands]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 4.x openCL 1.x - GCN3 Vulkan 1.2
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Radeon™ RX 5700/5600/5500 Series and Radeon™ RX Vega Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 GCN 4 - OpenGL 4, Vulkan 1.3 -
|-
| <!--Description-->Radeon™ RX 400/500 Series like rx 580
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->Radeon™ Pro WX 9100, x200 Series and Radeon™ Pro W5700/W5500 Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Radeon™ RX 7900/7600 Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->Radeon™ RX 6900/6800/6700/6600/6500 Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|}
==== amd radeon mobile integrated ====
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|-
| <!--Description-->ATI RC410 [Radeon Xpress 200M]
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x5a62 0x5955 0x5974 (200m)
| <!--Revision-->0x00
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->
|-
| <!--Description-->Mobility Radeon 7500
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x4c57 (7500)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->
|-
| <!--Description-->Mobility Radeon 9000
| 0x1002
| 0x4966 (9000)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->
|-
| <!--Description-->Mobility Radeon 9500 9550 (rv360) 9600 (rv350)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon 9800 (rv420)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon X300 (RV370) X600 (RV380)
| 0x1002
| 0x (RV370) 0x5657 (RV380)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon X700 (RV410) X800 (RV423)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon X1200 (RS69M0)
| 0x1002
| 0x791f
| 0x0
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->X1200 IGP (RS690)
|-
| <!--Description-->Mobility Radeon X1300 X1350 X1400(rv515) X1600 (rv530) X1650 (RV535) X1800 (rv520) x1900 (rv570)
| 0x1002
| 0x71c7 (X1650)
| 0x009e
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon 2100
| 0x1002
| 0x796e (2100)
| 0x0
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{No|}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 2400 (rv610) HD2600 (rv630)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 3100 HD3200 HD3450 3470 (RS780MC RV620) 3670 (M86-XT RV635) HD3870 (M88-LXT RV670)
| 0x1002
| 0x9610 and 0x9612 (HD3200) 0x9614 (HD3300)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 4200 4250 (RV620)
| 0x1002
| 0x (HD4200) 0x9715 (HD4250)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 4330 4530 4550 (M92 RV710) 4650 (M96-XT RV730) 4670 RV730XT 4830 (M97 RV740) 4850 (M98 RV770)
| 0x1002
| 0x (HD4350) 0x9442 (RV770) 0x9490 (HD4670)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 530v (M92 RV710) HD 550v (M96 RV730)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->no support yet
|-
| <!--Description-->Mobility Radeon HD 5430 HD5650 (cedar Park LP)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->no support yet
|-
| <!--Description-->Radeon HD 6250 6290 6310 6320 6350M (Redwood Capilano PRO)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->no support yet
|-
| <!--Description-->AMD 7640G, 8450G, 8550G, 8650G Northern Islands
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 Last real support for old graphics standard before Vulkan takeover
|-
| <!--Description-->R5 M230 M240 M255 - R7 M260 M265 (Kaveri Crystal series with Mantle and HSA)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->2015 Maybe better with Vulkan
|-
| <!--Description-->R5E R7E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->2016 bristol ridge GCN 3.0 IGP (Carrizo Mobile)
|-
| <!--Description-->AMD Vega 3, 6, 8, 11 iGP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2018 raven ridge GCN 5th Gen
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->5500m 5600m 5800m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA1 NaviX1 Zen 2
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rx680m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA2 NaviX2 Zen 3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->phoenix apu 1103
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 RDNA3 NaviX3 zen 4
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
==== AMDGPU Vulkan desktop ====
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Kaveri 290 290X, 260 260X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2015 AMDGPU Vulkan
|-
| <!--Description-->R9 285 / R9 380 R9 380X Fury / Fury X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->opengl 4 opencl 1 3rd Gen GCN architecture
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX470 RX460 RX480 RX580 polaris10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3
|-
| <!--Description-->RX460 RX560D polaris11
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3
|-
| <!--Description-->RX580 polaris20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX 5000 5500 Navi 1x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RNDA 1
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX 6000 Navi 2x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RNDA 2 Mesa 21.3 decode av1
|-
| <!--Description-->RX6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX 7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 RNDA 3 navi
|-
| <!--Description-->RX7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->RX9070 rx 9060 XT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2025 rdna4 navi
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2026 udna (aka rdna5)
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
|}
==== AMDGPU Vulkan mobile ====
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->R5E R7E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->2016 bristol ridge GCN 3.0 IGP (Carrizo Mobile)
|-
| <!--Description-->Vega iGP 3, 6, 8, 11
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2018 raven ridge - Graphics Core Next (GCN) 5th gen -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->5500m 5600m 5800m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA1 NaviX1 Zen 2
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rx680m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA2 NaviX2 Zen 3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->phoenix apu 1103
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA3 NaviX3 zen 4
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
fyi if a notebooks with two graphic cards, the integrated Intel card (id 0x7d) for low power usage and a discrete Radeon card (id 0x56) which should be used for GPU-intensive applications. By default the Intel card is always used
[https://wiki.archlinux.org/title/ATI Gallium Radeon HD] is not ported yet but is [https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.9-AMDGPU-Stats really big] and complex so another solution may have to be [https://discuss.haiku-os.org/t/the-graphics-acceleration-can-of-worms/10515/5 found] like [https://discuss.haiku-os.org/t/vulkan-lavapipe-software-rendering-is-working-on-haiku/11363/10 vulkan] where support starts from very recent ISA GCN islands HD7000s cards only
*Vulkan
*Gallium
Vulkan software renderer allows to prepares the infrastructure for hardware rendering. Primary difference between software and hardware renderer is output to regular RAM vs GPU RAM, the rest is almost the same. It is possible to render to GPU RAM offscreen.
bare bones basics data flow
application,>>> api/opengl/vulkan>>>>, jit compiler, >>>>memory manger, >>>>gpu hardware
so you need to have a compiler that takes your api call/program/shaders/drawing commands and turns them into a program the gpu can render.
the vulkan to amd gpu compiler for shaders and textures is nearly os agnostic iirc as long as you have solid posix compliance
Unlike OpenGL, Vulkan does not depend on windowing system and it have driver add-on system with standardized API (Mesa also have OpenGL driver add-ons, but it have non-standard Mesa-specific API). OpenGL may need more work for windowing system related code at this point but developing Vulkan on real hardware is more strategic than developing OpenGL, since now Zink 3 running on Vulkan compensates for the lack of OpenGL support by giving performance similar to native accelerated OpenGL
RadeonGfx use client-server model with client-server thread pairs. For each client thread that calls 3D acceleration API, server side thread is created. If client thread terminates, server side thread also exit.
<pre>
GeForce RTX 5090 5070 5060 5050
GeForce RTX 4090 4070 4060 4050
GeForce RTX 2070
Radeon RX 7600
Quadro RTX 5000
Radeon PRO W6600
GeForce RTX 2060 12GB
Radeon PRO W7500
Quadro GP100
Radeon RX 6800S
GeForce RTX 3070 Laptop GPU
GeForce GTX 1080
GeForce RTX 3060 8GB
Quadro RTX 4000
Radeon Pro W5700
Radeon RX 6600
GeForce RTX 2080 (Mobile)
Radeon RX 7700S
Radeon RX 6700S
Radeon RX 6600S
Quadro RTX 5000 (Mobile)
GeForce GTX 1070 Ti
GeForce RTX 4050 Laptop GPU
Radeon Pro Vega 64X
Radeon RX 5700
Radeon RX Vega 64
GeForce RTX 2060
GeForce RTX 2070 Super with Max-Q Design
Radeon RX 6600M
GeForce GTX 1070
Radeon RX 6650M
GeForce RTX 3060 Laptop GPU
Radeon RX Vega 56
Radeon RX 6700M
GeForce RTX 2080 with Max-Q Design
Radeon RX 6800M
GeForce GTX 980 Ti
Radeon R9 Fury
GeForce GTX 980
Quadro M5500
Radeon R9 390X
Radeon RX 580
Radeon RX 5500
Radeon RX 6550M
GeForce GTX 1660 Ti with Max-Q Design
GeForce GTX 780 Ti
GeForce GTX 970
Radeon R9 290X
Radeon RX 480
Radeon RX 5600M
Quadro RTX 3000 with Max-Q Design
Radeon R9 290X / 390X
Ryzen 5 4600HS with Radeon Graphics
Radeon R9 290
Radeon Pro 5500 XT
Radeon R9 M490 *
GeForce GTX 780
Radeon RX 6500M
Quadro M5500
GeForce GTX 1060 with Max-Q Design
Radeon RX 6500
Radeon RX 5300
Intel Arc A770M
GeForce GTX 1650 Ti
Radeon Pro 580X
Radeon RX 6400
GeForce RTX 2050
Ryzen 9 4900HS with Radeon Graphics
Radeon Ryzen 9 6900HS
GeForce GTX 980M
Quadro M5000M
Radeon RX 6300
GeForce GTX 1650 Ti with Max-Q Design
Radeon Pro 570
Ryzen 9 6900HS with Radeon Graphics
GeForce GTX 1050 Ti
Quadro M4000M
Radeon R9 280X 380X
GeForce GTX 1650 with Max-Q Design
GeForce MX570
Radeon R9 280X
Radeon R9 380
Radeon 780M
GeForce GTX 960
GeForce GTX 970M
Quadro M4000M *
GeForce GTX 680
Radeon RX 6500M
Quadro M5500
Radeon Pro WX 7100
GeForce GTX 1060 with Max-Q Design
GeForce GTX 1650
Intel Arc A730M
Radeon HD 7970
Radeon R9 M395X
Radeon R9 M485X
Radeon R9 M480 *
Radeon R9 M295X
Radeon R9 M390X *
FirePro W7170M *
Radeon R9 M395
Radeon R7 370
Radeon RX 5500M
GeForce GTX 590
GeForce GTX 880M
GeForce GTX 950
Radeon R9 270X
GeForce GTX 660 Ti
GeForce GTX 760
GeForce GTX 780M
Quadro K5100M
GeForce GTX 680MX
Radeon HD 7870
GeForce GTX 965M
Quadro M3000M *
GeForce GTX 870M
Radeon R9 M290X
Radeon HD 8970M
Radeon Ryzen 7 7735U (680M), Radeon Ryzen 7 7735HS (680M 12C)
GeForce GTX 580
Radeon HD 6970
GeForce GTX 1050
GeForce GTX 680M
GeForce GTX 775M
GeForce GTX 1630
FirePro M6100
Radeon HD 7970M
Radeon R9 M390 *
GeForce GTX 750 Ti
GeForce GTX 570
GeForce GTX 480
GeForce GTX 960M
Quadro M2000M *
Quadro K5000M
Quadro K4100M
GeForce GTX 770M
GeForce GTX 860M
GeForce GTX 675MX
GeForce GTX 950M
GeForce GTX 850M
Quadro M1000M
Radeon R9 M280X
Radeon HD 7950M *
GeForce GTX 560 Ti
Radeon HD 6870
GeForce GTX 470
GeForce GT 1030
GeForce MX330
Ryzen 5 PRO 5650GE with Radeon Graphics
Ryzen 7 5800HS
FirePro 3D V8800
GeForce MX250
Radeon Pro WX 3200
Ryzen 7 PRO 5750G with Radeon Graphics
Radeon Ryzen 5 5600H
Ryzen 5 Pro 4650G with Radeon Graphics
Radeon Ryzen 7 5800U
Ryzen 7 7730U with Radeon Graphics
Radeon Ryzen 7 5825U
Radeon Pro WX 4150
Radeon Ryzen 5 PRO 4655G
Ryzen 5 4600G with Radeon Graphics
Radeon Ryzen 5 PRO 4655GE
GeForce GTX 485M
FirePro W6150M
Ryzen 7 5800U with Radeon Graphics
Ryzen 5 7530U with Radeon Graphics
Ryzen 7 4800U with Radeon Graphics
Radeon R9 M470
Ryzen 3 PRO 5350G with Radeon Graphics
Radeon RX Vega Ryzen 3 5300U
Ryzen 7 5825U with Radeon Graphics
Ryzen 5 PRO 4400G with Radeon Graphics
Radeon Ryzen 7 PRO 4750GE
Radeon Ryzen 7 4800U
FirePro V7900
Radeon HD 5970
Radeon Ryzen 7 7700X 8-Core
Radeon Ryzen 5 PRO 5650G
Radeon Ryzen 5 4400G
Radeon Ryzen 5 PRO 5650GE
Radeon RX 550X
FirePro V8800
Radeon RX Vega Ryzen 5 5500U
GeForce MX150
Quadro K3100M
Ryzen 7 PRO 5850U with Radeon Graphics
Radeon HD 6970M
Radeon R7 250X
Intel HD 5600
Ryzen 3 4300GE with Radeon Graphics
GeForce GTX 460
Ryzen 7 5700U with Radeon Graphics
Radeon Ryzen 5 7530U
Quadro K620
Ryzen 3 PRO 5350GE with Radeon Graphics
Intel Iris Pro P580
Intel UHD Graphics P630
Ryzen 5 4600H with Radeon Graphics
Ryzen 5 PRO 7530U with Radeon Graphics
Radeon HD 5870
Radeon HD 6870
Ryzen 7 4700G with Radeon Graphics
Ryzen 5 5600U with Radeon Graphics
Radeon HD 7770
Ryzen 3 Pro 4350G with Radeon Graphics
Radeon Ryzen 5 5625U
GeForce GTX 745
Radeon Ryzen 7 4850U Mobile
Radeon Ryzen 3 PRO 7330U
Quadro M600M
Radeon Ryzen 5 5500U
Ryzen 5 5560U with Radeon Graphics
Ryzen 7 4800H with Radeon Graphics
GeForce 945M
Ryzen 5 PRO 4650GE with Radeon Graphics
FirePro M5100
Radeon Ryzen 5 5600U
Radeon Ryzen 5 PRO 4500U
GeForce GTX 580M
Ryzen 7 PRO 5875U with Radeon Graphics
Ryzen 3 5300GE with Radeon Graphics
Radeon R9 M385
Quadro 5000M
Radeon Ryzen 7 4700U
Ryzen 5 PRO 5650U with Radeon Graphics
Radeon Ryzen 7 PRO 4750U
Ryzen 7 4700U with Radeon Graphics
Ryzen 7 PRO 4750U with Radeon Graphics
FirePro V7800
Radeon R9 350
Ryzen 3 4300G with Radeon Graphics
Radeon Vega 11 Ryzen 5 PRO 3350G
Radeon Ryzen 5 5560U
GeForce GTX 460 SE
Radeon Pro W5500M
Radeon Vega 11 Ryzen 5 PRO 3400G
Ryzen 5 5500U with Radeon Graphics
Ryzen 5 PRO 4500U with Radeon Graphics
GeForce GT 645
GeForce GTX 765M
Radeon R9 M385X
Ryzen 5 5625U with Radeon Graphics
Ryzen 3 PRO 7330U with Radeon Graphics
Radeon HD 5850
Radeon Vega 11 Ryzen 5 PRO 2400G
Intel Iris Pro 580
Radeon HD 6850
Intel Iris Xe MAX
Radeon Ryzen 7 PRO 5875U
Radeon Ryzen 5 7600 6-Core
GeForce GTX 470M
Ryzen 3 5300G with Radeon Graphics
GeForce GTX 670MX
Radeon RX 640
Qualcomm Adreno Gen 3
Radeon R7 450
GeForce GTX 675M
Radeon Pro WX 4130
Intel Iris Xe MAX 100
Quadro 5000
Radeon RX 570X
Radeon HD 7700-serie
Ryzen 5 4600U with Radeon Graphics
Ryzen 3 PRO 4350GE with Radeon Graphics
Radeon Vega 8
GeForce MX230
GeForce GTX 765M
Quadro K4000M
Iris Pro Graphics P580 *
Iris Pro Graphics 580 *
GeForce GTX 645
Quadro M520
GeForce GTX 570M
GeForce MX130
Radeon RX 540
Radeon Ryzen 5 PRO 5675U
Intel UHD Graphics 770
Radeon RX Vega 11 Ryzen 7 3750H
Radeon Vega 11 Ryzen 5 PRO 3400GE
Radeon HD 5850
GeForce GTX 675M
GeForce GTX 580M
Radeon HD 6990M
Radeon R9 M385X *
Radeon R9 M470X *
Radeon R9 M470 *
Radeon R9 M385 *
Radeon R9 M380 *
Radeon R9 M370X
Radeon R9 M275
Radeon HD 7770
GeForce GTX 485M
GeForce GTX 460 768MB
Radeon HD 6790
GeForce GTX 285M SLI
Quadro K3100M
FirePro W5170M *
GeForce GTX 670MX
Quadro 5010M
GeForce GTX 760M
GeForce GTX 670M
GeForce 940MX *
Maxwell GPU (940M, GDDR5)
FirePro M8900
Radeon HD 6970M
Radeon R9 M270
Radeon HD 8870M
Radeon HD 7870M
Quadro K3000M
GeForce GTX 570M
FirePro M6000
FirePro M5100
Quadro K2100M
Radeon HD 5770
GeForce GTX 550 Ti
GeForce GTX 280M SLI
Radeon HD 6950M
Radeon R7 250
GeForce GT 755M
GeForce GTX 660M
GeForce 845M
Radeon HD 8850M
Radeon R9 M365X
Radeon R9 M265X
Ryzen 5 PRO 4400GE with Radeon Graphics
FirePro W5130M *
Radeon Vega 8 Ryzen 5 3500U
Radeon Vega 6 Ryzen 3 3300U
Radeon HD 7850M
Radeon HD 8790M
FirePro W4170M
FirePro W4190M
FirePro W4100
Quadro 4000M
GeForce GTX 470M
GeForce GTX 480M
GeForce GT 750M
Iris Pro Graphics 6200
Quadro K1100M
GeForce 940M
Radeon R9 M375
GeForce 930MX *
Radeon R7 M380 *
Radeon R7 M370
Quadro M600M *
GeForce GT 650M
Quadro K620M
GeForce 840M
Radeon R7 M275DX
GeForce GT 745M
Radeon HD 7770M
GeForce GTX 560M
Radeon R7 512 Cores (Kaveri Desktop)
Radeon R7 384 Cores (Kaveri Desktop)
Radeon R7 (Carrizo) *
Iris Pro Graphics 5200
GeForce GT 740M
GeForce 930M
Radeon HD 4850
Iris Graphics 550 *
GeForce 830M
Iris Graphics 540
Quadro M500M *
Quadro K2000M
GeForce GTS 450
GeForce GTX 260M SLI
GeForce GT 735M
Mobility Radeon HD 5870
GeForce 825M
Quadro 5000M
FirePro M4000
FirePro M7820
Radeon HD 6870M
GeForce 9800M GTX SLI
Radeon HD 8830M *
Radeon HD 8770M
Radeon R7 M260X
GeForce GTX 460M
GeForce 920MX *
GeForce GT 730M
Radeon HD 7750M
GeForce GT 645M *
FirePro M4100
Radeon HD 8750M
Radeon R6 A10-9600P 4C+6G
Quadro 3000M
Radeon R7 M270
Radeon R7 M265
Quadro FX 3800M
GeForce GTX 285M
Mobility Radeon HD 4870
GeForce GT 640M
Radeon R7 (Kaveri)
Radeon R8 M365DX
Radeon R7 M460 *
Radeon HD 7730M
Radeon R7 M360
GeForce GTX 280M
Radeon HD 8690M
Quadro FX 3700M
Radeon R7 M340
GeForce 920M
Radeon R6 M340DX
HD Graphics 530
HD Graphics P530
Tegra X1 Maxwell GPU
Radeon R7 M260
Radeon R6 (Carrizo)
Mobility Radeon HD 4860
FirePro M7740
Mobility Radeon HD 4850
GeForce GTX 260M
GeForce 9800M GTX
Quadro FX 2800M
Radeon HD 8670D
Radeon HD 7690M XT
FirePro M5950
GeForce GT 640M LE
Radeon R6 (Kaveri)
Radeon HD 8650M *
Radeon HD 8730M
Radeon HD 6770M
GeForce GT 635M
GeForce GT 555M
Radeon R7 A10 PRO-7800B
Radeon HD 5670
Mobility Radeon HD 5850
Radeon HD 6850M
Quadro 2000M
GeForce 9800M GT
GeForce 8800M GTX
Quadro FX 3600M
GeForce GT 445M
GeForce GTS 360M
GeForce GT 240
Radeon R7 PRO A10-9700
Radeon HD 7690M
HD Graphics 5600
Radeon HD 8570D
Radeon HD 8670M
Radeon R6 M255DX
Radeon HD 7660D
Radeon HD 6750M
Quadro K1000M
GeForce GT 550M
Radeon HD 8590M *
GeForce GTS 260M
GeForce GTS 160M
GeForce 9800M GTS
GeForce GT 430
Radeon HD 6830M
Mobility Radeon HD 5830
Radeon HD 6730M *
GeForce 9800M GS
Mobility Radeon HD 4830
Mobility Radeon HD 5770
Radeon HD 6570M
Radeon HD 8650G
Radeon HD 7670M
GeForce GT 630M
Radeon HD 7560D
GeForce GTS 150M *
Radeon R5 M335
Radeon R5 M430 *
Radeon R5 M330
Radeon R5 M255
Radeon Vega 3
Quadro 1000M
GeForce 820M
FirePro W2100
HD Graphics 520 620
Iris Graphics 6100
GeForce GT 720M
GeForce 8800M GTS
Radeon R5 M240
Radeon R5 M320 *
Radeon R5 M230
Radeon R5 M315 *
Mobility Radeon HD 5750 *
Radeon HD 8570M
Radeon R7 PRO A10-8850B
HD Graphics 6000
Quadro K610M
Radeon HD 8550M
Iris Graphics 5100
GeForce GT 540M
Mali-T880 MP12 *
Radeon HD 8610G *
Radeon HD 6650M
HD Graphics 4600
Mobility Radeon HD 5730
HD Graphics 5500
Radeon R5 (Carrizo) *
Radeon R5 (Kaveri)
FirePro M5800
NVS 5400M
GeForce 710M
Radeon HD 7660G
GeForce GT 435M
HD Graphics 5000
Quadro K510M *
Radeon HD 5570
Radeon HD 6550M
Radeon HD 7590M *
GeForce GTS 350M
GeForce GTS 250M
Radeon HD 6630M
Radeon HD 7650M
FirePro M2000
Radeon HD 7570M
Radeon HD 7630M
Quadro FX 1800M
Mobility Radeon HD 5650
Radeon HD 8510G *
Radeon HD 6530M
Radeon HD 8550G
Quadro K500M *
GeForce GT 625M *
GeForce GT 620M
GeForce GT 525M
Radeon HD 6550D *
Radeon HD 7610M
Radeon HD 7620G
Radeon HD 8470D
Radeon HD 7640G
Adreno 530
GeForce ULP K1 (Tegra K1 Kepler GPU)
HD Graphics 4400
HD Graphics 510 515 *
NVS 5200M
Mobility Radeon HD 565v
Radeon HD 7550M
Mobility Radeon HD 4670
GeForce GT 425M
GeForce 9700M GTS
Radeon HD 6645G2 *
Quadro FX 2700M
GeForce GT 335M
Radeon HD 7600G
Mobility Radeon HD 3870
Mobility Radeon HD 4650
GeForce GT 220
GeForce GT 420M
Radeon HD 7530M *
Mobility Radeon HD 3850
GeForce GT 330M
Quadro FX 880M
Quadro NVS 5100M
GeForce GT 240M
Radeon HD 7490M *
HD Graphics 5300
Radeon HD 7510M *
GeForce Go 7950 GTX
Quadro FX 3500M
GeForce 8700M GT SLI
GeForce 9700M GT
GeForce GT 230M
Mobility Radeon HD 550v
Radeon HD 7480D
HD Graphics 4000
Mali-T760 MP8
Radeon HD 6620G
HD Graphics (Broadwell) *
Adreno 430
Radeon R5 (Beema/Carrizo-L)
Radeon R4 (Beema) (Kaveri)
HD Graphics (Skylake) *
Radeon HD 6450 GDDR5
Radeon HD 7500G
Radeon HD 8450G
Radeon HD 7470M
Radeon HD 6490M
Radeon HD 8400
Mali-T880 MP4
GeForce GT 520MX
Radeon HD 7520G
GeForce GT 325M
GeForce Go 7800 GTX SLI
GeForce 8600M GT SLI
GeForce Go 7900 GS SLI
GeForce GT 130M
NVS 4200M
GeForce Go 7900 GTX
Quadro FX 2500M
Radeon HD 8350G
Radeon HD 8330
GeForce 9650M GS
GeForce 9650M GT
Radeon R3 (Mullins/Beema)
GeForce 8700M GT
Quadro FX 1700M
Quadro FX 1600M
GeForce Go 7800 GTX
GeForce Go 7900 GS
Quadro NVS 320M
Quadro FX 1500M
GeForce 9600M GT
GeForce GT 220M
Quadro FX 770M
GeForce GT 120M
Radeon HD 7450M
GeForce 610M
GeForce 705M
Mali-T760 MP6
Radeon HD 6470M
FirePro M3900 *
GeForce GT 520M
Radeon HD 7420G
Mobility Radeon HD 3670
Mobility FireGL V5725
PowerVR GX6450
Adreno 420
HD Graphics (Haswell)
Radeon HD 6520G
Radeon HD 8310G *
GeForce 320M
GeForce GT 320M
Mobility Radeon HD 2600 XT
Mobility Radeon X1900
Mobility Radeon X1800XT
Mobility Radeon X1800
GeForce Go 6800 Ultra
GeForce Go 7800
GeForce 9600M GS
GeForce 9500M GS
Radeon HD 7400G
Radeon HD 6480G *
Mobility Radeon HD 2700
GeForce GT 415M
GeForce 410M
Radeon HD 7370M
Adreno 418
HD Graphics (Cherry Trail)
Radeon HD 6370M
Radeon HD 8280
Mobility Radeon HD 5470
Radeon HD 6450M
Radeon HD 7430M *
Mobility Radeon HD 3650
Mobility FireGL V5700
Mobility Radeon HD 5145
Mobility Radeon HD 545v
Radeon R6 (Mullins) *
Radeon HD 8240
Radeon HD 8250
Mobility Radeon HD 4570
Quadro FX 570M
Mobility Radeon HD 5450 *
Radeon R2 (Mullins/Beema) *
GeForce 8600M GT
Mobility Radeon HD 2600
HD Graphics 3000
Quadro FX 380M
GeForce 310M
GeForce G210M
NVS 3100M
GeForce 405M
GeForce 315M
GeForce Go 7600 GT
GeForce 9500M G
GeForce 8600M GS
NVS 2100M
GeForce Go 7700
GeForce Go 6800
Quadro FX Go 1400
Mobility Radeon X800XT
Radeon HD 6430M *
Radeon HD 6380G *
Mobility Radeon HD 5430
Radeon HD 8210
Mobility Radeon HD 540v
Mobility Radeon HD 4550
HD Graphics 2500
HD Graphics (Ivy Bridge)
Quadro NVS 310
Radeon HD 7350M *
Radeon HD 6350M *
Mobility Radeon HD 4530
Mobility Radeon HD 4350
Radeon HD 4350
GeForce 305M
Mobility Radeon X1700
Mobility FireGL V5250
Mobility Radeon X2500
GeForce Go 7600
Quadro NVS 300M
Mobility Radeon X800
Mobility Radeon X1600
Mobility FireGL V5200
Mobility Radeon 9800
GeForce Go 6600
Mobility Radeon X1450
Mobility Radeon X700
Mobility FireGL V5000
GeForce G 110M
Quadro NVS 295
Radeon HD 6330M *
Mobility Radeon HD 4330
GeForce 8400M GT
Quadro NVS 140M
HD Graphics 2000
GeForce 9500M GE *
GeForce 9400M (G) / ION (LE)
HD Graphics (Sandy Bridge) *
Adreno 330
PowerVR G6430
PowerVR GX6250
PowerVR G6400
HD Graphics (Bay Trail)
Mali-T628 MP6
Mali-T760 MP4
Chrome9HD *
Radeon HD 7340
Radeon HD 6320 *
Radeon HD 7310
Radeon HD 6310 *
Radeon HD 8180
Mobility Radeon HD 3470
GeForce 9300M G
ION 2 *
GeForce 9300M GS
Quadro FX 370M
Quadro NVS 160M
GeForce 9200M GS
Mobility Radeon HD 3450
Mobility Radeon HD 3430
Mobility Radeon HD 3410
Mobility Radeon HD 2400 XT
Radeon HD 4270
Radeon HD 4250
Radeon HD 7290 *
Radeon HD 6290 *
Radeon HD 4200
Graphics Media Accelerator (GMA) HD Graphics
Radeon HD 6250
Quadro NVS 150M
Quadro FX 360M
Mobility Radeon X1350
Mobility Radeon X1400
GeForce 9100M G
GeForce 8400M GS
Quadro NVS 135M
Mobility Radeon HD 2400
Radeon HD 3200
Radeon HD 4225 *
Radeon HD 4100 *
SGX554MP4
Mali-T628 MP4
Mobility Radeon HD 3400 *
Radeon HD 3100
GeForce 8400M G
Mali-T860 MP2
Quadro NVS 130M
GeForce 8200M G
Graphics Media Accelerator (GMA) 4700MHD
Graphics Media Accelerator (GMA) 4500MHD
Graphics Media Accelerator (GMA) 4500M
Mali-T604 MP4
GeForce Go 7400
Quadro FX 350M
Quadro NVS 120M
GeForce Go 7300
GeForce Tegra 4 *
PowerVR G6200
Adreno 405 *
Quadro NVS 110M
Mobility Radeon X600
Mobility FireGL V3200
Mobility FireGL V3100
Mobility Radeon HD X2300
Mobility Radeon 9700
Mobility FireGL T2e
Mobility Radeon X1300
GeForce4 4200 Go
Mobility Radeon 9600
Mobility FireGL T2
Mobility Radeon 9550
GeForce Go 7200
GeForce Go 6400
Mobility Radeon X300
GeForce Go 6250
GeForce Go 6200
GeForce FX Go 5700
Quadro FX Go 1000
GeForce FX Go 5600 / 5650
Radeon Xpress X1270
Radeon Xpress X1250
Radeon Xpress X1200
Graphics Media Accelerator (GMA) X3100
Mali-T624
Adreno 320 *
Mali-T760 MP2
Mali-T720 MP4
Mali-450 MP4
Graphics Media Accelerator (GMA) 3650 *
GeForce 7190M *
GeForce 7150M
Radeon Xpress 1150
GeForce Go 6150
GeForce Go 6100
GeForce 7000M
Graphics Media Accelerator (GMA) 3600 *
Mobility Radeon 9200
Mobility FireGL 9000
GeForce FX Go 5200
Mobility Radeon 9000
GeForce 4 488 Go
GeForce 4 460 Go
GeForce 4 440 Go
GeForce 4 420 Go
Graphics Media Accelerator (GMA) 3150
Graphics Media Accelerator (GMA) 950
SGX545 SGX544MP2 SGX543MP2 *
Mali-T720 MP2
Mali-T720
Adreno 302 304 305 306
Mobility Radeon 7500
Mobility FireGL 7800
Graphics Media Accelerator (GMA) 900
Radeon Xpress 200M
Radeon Xpress 1100
Mirage 3+ 672MX
Mirage 3 671MX
Mali-400 MP4 *
GeForce ULP (Tegra 3) *
VideoCore-IV *
Adreno 220 225*
Vivante GC1000+ Dual-Core
Mali-400 MP2 *
GeForce ULP (Tegra 2) *
Graphics Media Accelerator (GMA) 600 *
SGX540 *
Graphics Media Accelerator (GMA) 500
Adreno 205 *
Adreno 203 *
GC800 *
SGX535
SGX531
SGX530
Adreno 200 *
Mali-200 *
GeForce 3 Go *
GeForce 2 Go 200 / 100
Mobility Radeon 9100 IGP
Mobility Radeon 9000 IGP
Mobility Radeon M7
Mobility Radeon M6
Chrome9 HC
Extreme Graphics 2
Mobility Radeon 7000 IGP
Radeon IGP 340M
Radeon IGP 320M
S3G UniChrome Pro II
S3G UniChrome Pro
Castle Rock
Mirage 2 M760
Mirage M661FX
S3 Graphics ProSavage8
Mobility 128 M3
SM502 *
</pre>
Not supported on AROS
*OpenGL4 GPU must have 64-bit floating point FP64 math support, which is a hard requirement for GL 4.0. The max last revision opengl 4.6 (2017) on [https://wiki.gentoo.org/wiki/AMDGPU AMDGPU] RX 5000's / 6000s ([https://forum.batocera.org/d/7491-enable-opengl-46-and-vulkan-for-an-old-radeon-video-card RDNA] might come to AROS) but Intel UHD, Iris Plus or Xe, Nvidia RTX (will not)
*OpenGL3 last revision 3.3 (2011)
Some support on AROS
*OpenGL2 nvidia-nouveau,
*OpenGL1 intel gma950,
Kernel-space drivers like '''radeon''' (older AMD driver for older GPUs), '''amdgpu''' (newer driver for newer GPUs, allows using a few new features), i915, nouveau and a few others. They are what handles the gory details of talking to the GPU itself (writing to proper registers, handling its memory directly, configuring outputs, and so on). Unfortunately most of what they're exposing can be only consumed by a single user of that GPU, which is why we need...
DRM and DRI (Direct Rendering Manager/Infrastructure) controls access to the GPUs, provides interfaces for talking to the GPU concurrently by multiple apps at once (without them breaking each other) and lets the system perform the most basic tasks like setting proper resolution and such if no userspace apps understand how to talk to the GPU exposed. DRI and DRM expose the GPU interfaces mostly as-is, not in a "vendor-neutral" portable way - if you don't have an application developed specifically for a GPU you have, it won't work.
"let's create a vendor-neutral interface for graphics so that apps can ignore the GPU-specific bits and get right to the drawing!" - which is what OpenGL is. User-space drivers implement the OpenGL specification and expose it as an OpenGL library to apps (like games, browsers, etc) instead of the GPU. Mesa is the most popular collection of open-source user-space drivers and contains a few user-space drivers for different GPU families: '''radeonsi''' for most modern AMD GPUs (and '''r600g''', r300g and others for older ones), '''i915/i965''' for old/new Intel GPUs and '''nouveau''' for Nvidia GPUs.
There's also Gallium, which is a bunch of utilities and common code shared among these drivers - if certain things can be done once and work everywhere, they'll land in Gallium and benefit all the drivers. Most Mesa drivers use Gallium (radeonsi, nouveau, software renderers), some don't (intel after gma950).
Displaying 2D windows supports device-specific 2D drivers as well, but nowadays most of these are no longer needed as the modesetting can handle most hardware on its own. As the DRM/DRI got some additional interfaces for what used to be hardware-specific (setting resolutions, refresh rates, etc) and software requiring accelerated 2D drawing was optimized OpenGL-based renderers, dedicated 2D acceleration is slowly going away. Since around 2012, the 3D part of the graphics card deals with 2D operations.
Modern GPUs can also decode video!? There's VDPAU (NVIDIA & AMD GPUs) and VA-API (AMD & Intel GPUs) that can also talk to the GPU exposed via DRM/DRI and issue proper commands to decode/encode a given video stream. Those drivers are GPU-specific too.
So let's say you have some example GPUs, here's how example stacks could look like:
* AMD Radeon HD8750: amdgpu -> DRM/DRI -> Mesa (radeonsi)
* AMD Radeon HD4850: radeon kernel driver -> DRM/DRI -> Mesa (r600g) -> games/apps/etc.
* NVIDIA GeForce 460: nouveau kernel driver -> DRM/DRI -> Mesa (nouveau) -> games/apps.
* Intel GMA950: i915 kernel driver -> DRM/DRI -> Mesa (i945) -> games/apps.
{| class="wikitable sortable" width="90%"
! width="15%" | Description
! width="15%" | Analog Output
! width="15%" | Digital Output
! width="15%" | Laptop LCD
! width=30%" | Comments
|-
| <!--Description-->Fudomi GC888A
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->1080p 100in throw projector
|-
| <!--Description-->Vamvo VF320 (720P)
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->720p 90in
|-
| <!--Description-->Happrun H1
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->1080p 90in
|-
| <!--Description-->Umbolite Magcubic HIPPUS HY320 Mini
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->720p 100in
|-
| <!--Description-->Zentality A10 Plus
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->720p 110in
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->nexigo nova mini
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->nebula mars 3
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->epson lifestudio flex plus portable projector
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->dangbei freedo
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->benq gv50
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
Unless your computer uses a Firewire chipset manufactured by Texas Instruments, FireWire interfaces are likely to act buggy.
AROS is unlikely to ever support FireWire.
Bluetooth is similarly unlikely to be ever supported due to huge cost to be certified.
No, x86 PCMCIA card.resource at the moment. Writing card.resource would be a similar amount of work to writing a typical driver. However, it might be complicated by having to support a variety of PCMCIA-controller chipsets like TI PCI1225, PCI1410, PCI1420, 1450, PCIxx12 and O2, etc. m68k card.resource does not really have many higher level functions, most functions are really simple or poke Gayle registers directly. only exception is CopyTuple(). Amiga card.resource has one significant flaw: it's single-unit. would need card.resource and pccard.library. There was talk in the past of designing a new API for PCMCIA because card.resource only supports one slot, but since most modern laptops only have one slot anyway, I think it might be worthwhile to implement card.resource as-is (at least as a first step). pccard.library would be trivial to port. So, a new API is needed.
<pre>
HDMI (licensing fee)
1.4 4K @ 30Hz
2.0 4K @ 60Hz
2.1 48Gbs for 4K @ 120Hz, 8K @ , VRR, etc
</pre>
<pre>
DisplayPort (VESA introduced)
1.4 4K @ 60Hz
2.1 96Gbs for 4K @ 240Hz, 8K @ 120Hz. MST daisy chain multiple monitors,
</pre>
6xl8zjsh4n2domlrjrei4epf8aytojy
4634647
4634644
2026-05-07T13:46:34Z
Jeff1138
301139
4634647
wikitext
text/x-wiki
Google translation into [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support French], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Hindi],
[http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Chinese Simplified],
[http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Polish],
[http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Russian],
{{ArosNav}}
[[#Audio Chipsets]]
[[#Graphic GFX Chipsets]]
[[#Future]]
==x86 Native Environment==
AROS should run on almost any i386 PC hardware so long as the CPU is newer than an i486, and has a "Floating Point Unit (FPU)". Ideally around 700Mhz and above with at least 256MB of memory is recommended for desktops and around 1GHz and at least 256MB for laptops/notebooks/netbooks. For web browsing, etc above 1GB is usually needed and offers the option to run web browsers, media players and other hard disk heavy usage from RAM: disk.
Most hardware support covers the period between 2000 and 2010
Motherboards supported
* Most Intel mobos are supported (Skt 775 is ok but newer is better) - additional pci / pci-e cards may be needed for networking, audio, etc
* AMD based socket 939 am2 am2+ am3+, fusion and am4 ryzen based systems work but additional pci / pci-e cards may be needed
Motherboard support gets diminished after 2010 due to the introduction of SATA/AHCI and UEFI (mobos and disks) and further with USB3 from 2014 onwards
Supported graphics cards (gfx)
* Nvidia 2D and 3D 2005-2011. 64bit AROS Nouveau covers 8xxxgs and higher. 32bit AROS supports '''2D''' from TNT through to fermi gtx5xx and '''3D''' acceleration fx5xxx to gtx4xx. It's worth noting however that support isn't guaranteed. Nor will potential power of a card reflect its performance under AROS.
* Intel 2D and 3D 2006-2009. '''2D''' for many old netbooks and motherboards. '''3D''' for many early netbooks and motherboards
* AMD/ATI 2D only and '''no 3D'''. 1999-2005. Desktop ie external monitor support only (no laptop internal support) for very early Radeon 7000 through to x600. Experimental 2D version for up to HD3xxx came later
* VESA 2D fallback modes for all graphic cards (GPUs) and with [http://www.youtube.com/watch?v=HKCHZFYj9Kk screen dragging].
Sound wise there are
* HDaudio support for onboard intel and AMD netbooks, ultrabooks, notebooks and motherboards (2005 to 2020)
* some AC97 codec support for very old motherboards and laptops (ie pre 2004)
* PCI and some PCI-E C-Media CMI8738 for desktop plugin cards
* PCI Creative Soundblaster EMU10K1 cards [http://amigaworld.net/modules/news/article.php?storyid=2512 SBLive]
* PCI semi professional some early VIA Envy24 desktop sound cards
* PCI Sound Blaster 128 aka SB16
Supported [http://en.wikibooks.org/wiki/Aros/Platforms/x86_Network_support network] which could be desktop, laptop, etc
* PCI-E Realtek rtl8169 which also includes the rtl8111 and rtl8110
* PCI Realtek rtl8139 and includes rtl8101 and rtl8100
* PCI intel pro100
* Broadcom 44xx 10/100 integrated in laptops around 2005
* VIA 10/100
* 3com Etherlink 10/100
* Realtek rtl8029 10mbit
Wireless wifi
* atheros 5000 wireless
*realtek 8187 usb
It is very hard to recommend a completely supported motherboard because as soon as newer motherboards arrive so their features change subtly, often introducing non supported parts like ethernet and audio. It is a moving target.
* mini-itx motherboard will only get you 1 pci or pci-e slot
* micro mATX or uATX will have more, typically 2 pci-e or pci slots which helps if any onboard features are not supported.
* full atx will have more slots available
'''N.B''' It is frustrating when a piece of hardware is not supported. Hardware documentation can run to over 100 pages and a lot of hardware do not have any public documentation anyway. Chips from different manufacturers for sound, graphics, SATA, etc. vary just as much, unless they follow a standard such as [https://github.com/acidanthera/AppleALC/wiki/Supported-codecs HDAudio codecs], AHCI etc.
Coding drivers is a far cry from Hello World programs or even a port of existing software. If you do actually want to try then get a hold of documentation on the relevant hardware and start there. Alternatively you could try to find some '''BSD''', MIT or MPL licence drivers as a point of reference. Please , do not think you can just adapt strings in a driver for different strings, it does not work that way. You will '''need''' to start from scratch for each new bit of hardware. Device driver programming require '''embedded''' skills, like manipulation of bits within registers, good debugging skills, dealing with interrupts, lots of patience, etc.
The following specific chipsets and drivers are also available - use Tools/PCITool to confirm Vendor and Product IDs - Please let us know any mistakes or any information to be added, to this General Chat list on [https://arosworld.org/ AROS World]
: Brief Timeline
: 2000-12-06 HIDD first mouse.hidd completed ([http://msaros.blogspot.com/ Michal Schulz])
: 2001-03-31 BOOT first boot from floppy disk with IDE device
: 2001-10-30 BOOT first cd bootable version
: 2002-01-27 HIDD first pci.hidd added (Michal Schulz)
: 2002-04-13 BOOT software HDToolBox added ()
: 2003-04-03 HIDD vesa2.hidd graphic modes added ()
: 2004-03-08 HIDD new pci and ata (pata) devices worked on (Michal Schulz)
: 2004-03-17 HIDD nVidia 2D driver appears (Michal Schulz)
: 2005-01-05 AHI AHI v6 audio system ported (Martin Blom)
: 2005-01-06 AHI SBLive SoundBlaster Live driver ported (Georg Steger)
: 2005-02-04 AHI AC97 playback only driver added (Michal Schulz)
: 2005-06-27 NIC amiTCP stack ported with 3com, NE2000, prism2 drivers (Neil Cafferkey)
: 2005-08-25 NIC nForce2 support added (Michal Schulz)
: 2005-12-24 NIC Intel Pro100 network driver added (Neil Cafferkey)
: 2006-03-25 HIDD ATI radeon 2D driver added (Michal Schulz)
: 2007-03-06 HIDD vesa 1.0 video driver added (Pavel Fedin)
: 2007-03-08 HIDD dospackets and FAT filesystem (Rob Norris)
: 2007-03-21 HIDD usb initial commit (Michal Schulz)
: 2007-10-01 BOOT Installer added (Neil Cafferkey)
: 2007-11-29 PORT 64bit x86 added (Michal Schulz)
: 2008-04-12 BOOT GRUB2 added (Alain Greppin and Nick Andrews)
: 2008-08-26 NIC RTL8139 added ([http://kalamatee.blogspot.com/ Nick Andrews])
: 2008-10-22 PORT to SAM440ep (ppc) (Michal Schulz)
: 2009-02-25 PORT to efika (ppc) (Michal Schulz)
: 2009-05-18 HIDD poseidon usb2.0 stack ported to AROS (Chris Hodges)
: 2009-11-18 NIC RTL8169 network driver arrived (Nick Andrews and [http://pagesperso-orange.fr/franck.charlet/oldnews.html Franck Charlet])
: 2009-12-23 AHI HDAudio based Atom CPU and netbook audio driver arrived (Davy Wentzler)
: 2010-03-09 BOOT USB pendrive stick booting available (Neil Cafferkey)
: 2010-05-26 HIDD Intel GMA900 2D graphics card support (Michal Schulz)
: 2010-09-03 NIC Wireless PCI based NIC arrived (Neil Cafferkey)
: 2011-04-30 HIDD Nvidia 2D and 3D nouveau graphics card support (Deadwood)
: 2011-08-30 HIDD Radeon 2D enhanced AMD driver arrives (Bearsoft)
: 2011-09-17 NIC Wireless USB realtek arrives (Neil Cafferkey)
: 2011-12-09 HIDD Intel 945G 3D Gallium graphics support (Sami)
: 2013-02-25 AHI AC97 VIA 686 audio support (Davy Wentzler and Neil Cafferkey)
: 2013-03-31 PORT early Raspberry PI native support (Nik Andrews)
: 2014-01-16 AHI Envy24 audio chipset support (Davy Wentzler and Neil Cafferkey)
: 2017-02-17 PORT Symmetric MultiProcessing smp added for x86 64bit (Michal Schulz)
: 2018-10-20 PORT Big Endian ARM
: 2021-11-26 NIC Broadcom 44xx ethernet (Neil Cafferkey)
: 2023-01-12 NIC Nvidia MCP61 ethernet (Neil Cafferkey)
: 2025-11 HIDD xHCI USB3 and isoc (Nik Andrews)
[[#top|...to the top]]
===Audio Chipsets===
'''If sound beeps in AHI prefs after Music set then some support is there. Select more than one channel for multiple audio streams, set frequency up to 44 kHz or higher and set the volume if not already set. Ensure you set the music unit 0 to 3 which allows the extra features of the audio card like microphone, line-out, etc).'''
====1996-2000 sb128.audio aka SB16 PCI====
*2021 5.27
as per CREATIVE's website, the model number is the first two digits on the front and first two digits on the back. my card says CT4810 and 161TK110B 995; this translates to CT4816 as the model.
The original AudioPCI 3000 card with the ES1370 had a master clock crystal for 44.1 kHz (22.5792 MHz), used an AKM codec (AK4531, non-AC97) and had 4 channel output; Creative later modified the design with a crystal for 48 kHz (24.576 MHz) and Sigmatel AC97 codec (a CT4700 SB128 with a CT5507 chip, AK4531, 22.5792 MHz crystal and TDA7360 speaker power amp). The issue with these cards involved never quite eliminate the effects of resampling on the 64V, it also shows signs of undersized coupling caps. These Ensoniq cards automatically engaged headphone amplifier (with a 4565 opamp).
Porting involved [http://repo.or.cz/w/AROS.git/commit/b60abd12967144a844980c422ea9e99c056eabca 40897], [http://repo.or.cz/w/AROS.git/commit/b7d6511fca6430a63fbaaa390b4f51bf0203a460 40898 configure], [http://repo.or.cz/w/AROS.git/commit/f51034cd22759a4ec3a2547bddb3a7169d956eaa 40900 bugs], [http://repo.or.cz/w/AROS.git/commit/4f43fc38e3489ea45d12b7b5ba6fff50b69c5746 40901 further bugs], [http://repo.or.cz/w/AROS.git/commit/d23c78aec75f049484b6916d27b6804ce858bb2c 40913 memory IO fixes], [http://repo.or.cz/w/AROS.git/commit/d256860fe3035016952e88d143c6f2611997f2f3 40914 irq fix].
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| Ensoniq AudioPCI 1000
| 0x1274
| 0x5000
|
| {{unk}}
| {{unk}}
| untested - es1370 (u?) AK4531 (u?)
|-
| Ensoniq AudioPCI
| 0x1274
| 0x5000
| 0x00
| {{yes}}
| {{maybe}}
|
|-
| CT4700 Sound Blaster PCI 64 (audioPCI 3000)
| 0x1274
| 0x5000
| 0x7c
| {{yes}}
| {{maybe}}
| works - opamp JRC4565(u?) [http://en.wikipedia.org/wiki/Ensoniq_ES1370 es1370] (u?)
|-
| CT4750 Sound Blaster 64/PCI
|
|
|
| {{unk}}
| {{unk}}
| untested - 4565-1056W (u1) stac9708t(u2) [http://arstechnica.com/civis/viewtopic.php?f=6&t=916891 ct5880-dcq] (u3) 24wc012 (u4)
|-
| CT4751 (SB128PCI)
| 0x1274
| 0x8001
|
| {{unk}}
| {{unk}}
| untested - [http://en.wikipedia.org/wiki/Sound_Blaster#Ensoniq_AudioPCI-based_cards es1371] (u?)
|-
| CT4810 Creative AudioPCI64V
| 0x1274
| 0x1371
| 0x06
| {{yes}}
| {{maybe}}
| works
|-
| CT4811 (SB Vibra 128)
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4812 (Vibra 128)
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4813
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4815
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4816 es1373 (vibra 128)
|
|
|
| {{unk}}
| {{unk}}
| untested but this card has creative's ES1373 as the main chip(U1). it is also different from the other CT4810 (vibra128) in that it does not have a second chip in U2 position. Also there is only one jumper JP1 (2X3).
|-
| CT5801 HP
|
|
|
| {{unk}}
| {{unk}}
| untested - es1373 (u3)
|-
| CT5803 Gateway
| 0x1274
| 0x1371
| 0x08
| {{yes}}
| {{maybe}}
| works 4565-0005b jrc (u1) 4297a-jq ztae0c0002 (u2) es1373 (u3)
|-
| CT4740
| 0x1274
| 0x1371
| 0x08
| {{yes}}
| {{yes}}
|
|-
| CT5805 Compaq OEM Premier Sound Presario 7
|
|
|
| {{unk}}
| {{unk}}
| untested - es1373 (u3)
|-
| CT5806 (Sound Blaster AudioPCI 128D)
|
|
|
| {{unk}}
| {{unk}}
| untested - 4297A-JO EP (u?) ZTAPWC9933 (u2) es1373 (u3)
|-
| CT5807 Dell OEM Dimension 8100
|
|
|
| {{unk}}
| {{unk}}
| untested - es1373 (u?)
|-
| CT5808
|
|
|
| {{unk}}
| {{unk}}
| untested
|-
| CT4730 Sound Blaster AudioPCI 64V Ectiva EV1938
| 0x1102
| 0x8938
|
| {{unk}}
| {{unk}}
| untested
|-
| CT5880 on various motherboards
| 0x1274
| 0x5880
|
| {{unk}}
| {{unk}}
| untested [http://www.xbitlabs.com/articles/mainboards/display/ga-6rx.html Gigabyte GA-6RX] (VIA ApolloPro 266 2001], Gigabyte GA-6VM7-4E mobo, [http://active-hardware.com/english/reviews/mainboard/ga-7vtx.htm Gigabyte GA-7VTX] (KT266 2001), Gigabyte [http://www.amdboard.com/gigabytega7vtxh.html GA-7VTXH] (KT266A 2001), [http://www.amdboard.com/gigabytega7vrxp.html Gigabyte 7VRXP] mobo (KT333 2002), MSI MS-6309, MS-6318, MS-6337 (815E Pro), MS-6339 (850Pro) and MS-6340, PCChips Motherboard M571 TXPRO, Soltek SL-65ME+,
|-
| VMware Virtual Workstation(TM)
| 0x1274
| 0x1371
| 0x02
| {{Yes|but not Hi-Fi modes}}
| {{maybe}}
| works
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
<pre>
Revision 0x04 = ES1371 REV_ES1373_A
Revision 0x06 = ES1371 REV_ES1373_B
Revision 0x07 = ES1371 REV_CT5880_A
Revision 0x02 = CT5880 REV_CT5880_C
Revision 0x03 = CT5880 REV_CT5880_D
Revision 0x04 = CT5880 REV_CT5880_E
Revision 0x09 = ES1371 REV_ES1371_B
Revision 0x00 = EV1938 REV_EV1938_A
Revision 0x08 = ES1371 REV_ES1373_8
</pre>
====1999-2001 via-ac97.audio====
*2021 5.10
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| <!--Description-->694X with 686A KT133 PM133 or 693A with VT8231
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3058
| <!--Revision-->
| <!--Playback-->{{Yes| }} redirects earphones correctly
| <!--Recording-->{{Yes| }}
| <!--Comments-->audio controller works but depends on the underlying invisible codec used see AC97 section
|-
| <!--Description-->686B KT133A with VT8231
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3058
| <!--Revision-->0x50
| <!--Playback-->{{Yes|}} reroutes ear pieces right
| <!--Recording-->{{Yes|}}
| <!--Comments-->audio controller works but depends on the underlying codec used see AC97 section below
|-
| <!--Description-->686C
| <!--Vendor ID-->0x1106
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->untested
|-
| <!--Description-->KM266 or KT266 with VT8233, KT266A with VT8233A, VT8233C
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3059
| <!--Revision-->0x10
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->KM333 KT333 with VT8235
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3059
| <!--Revision-->0x30
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
| <!--Description-->KM400 KT400 with VT8237, KT600 with VT8237R,
| <!--Vendor ID-->0x1106
| <!--Product ID-->0x3059
| <!--Revision-->0x40 0x50 0x60
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
|}
====1998-2003 emu10kx.audio - Creative Labs SoundBlaster Live! and Audigy====
*2021 6.5
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| PCI512 CT4790 (emu10k1)
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested (1st Gen)
|-
| Live CT4620
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Live CT4760
| 0x1102
| 0x0002
| 0x07
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| playback works
|-
| Live Value CT4670
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| works plays stereo (2nd Gen)
|-
| Live Value DELL CT4780
| 0x1102
| 0x0002
| 0x06
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| plays/records stereo - untested 4.1mode
|-
| Live Value Compaq CT4830
| 0x1102
| 0x0002
| 0x0
| <!--Playback--> {{Maybe}}
| <!--Recording--> {{unk}}
| not working
|-
| Live Value CT4831
| 0x1102
| 0x0002
| 0x00
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Live Value CT4832
| 0x1102
| 0x0002
| 0x07
| <!--Playback--> {{yes}}
| <!--Recording--> {{partial|Line-In only}}
| works
|-
| Live Value CT4832
| 0x1102
| 0x0002
| 0x08
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| works
|-
| Live Value HP CT4870
| 0x1102
| 0x0002
|
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| Works
|-
| Live Value Gateway CT4871
| 0x1102
| 0x0002
|
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Live! Platinum 5.1 SB0060
| 0x1102
| 0x0002
| 0x00
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
| plays audio/records, untested 5.1 (3rd Gen)
|-
| Live 5.1 SB0100 -SFF
| 0x1102
| 0x0002
| 0x00
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| works
|-
| Live 5.1 Player SB0220
| 0x1102
| 0x0002
| 0x0a
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
| plays audio/records stereo, untested 5.1
|-
| Live 5.1 Digital SB0228
| 0x1102
| 0x0002
| 0x0a
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
| working
|-
| Audigy SB0090 (emu10k2)
| 0x1102
| 0x0004
|
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| <!--Description-->Audigy SB0230
| <!--Vendor ID-->0x1102
| <!--Product ID-->0x0004
| <!--Revision-->0x03
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Yes|Mic only}}
| <!--Comments-->5th Dec 2012 - untested optical tos link. contains also IEEE1394/Firewire (untested)
|-
| Audigy 2 Platinum 6.1 SB0240 SB0250 EMU10K2.5
| 0x1102
| 0x0004
| 0x04
| <!--Playback--> {{yes}}
| <!--Recording--> {{maybe}}
| works
|-
| Audigy 2 PRO SB0280 EMU10K2.5
| 0x1102
| 0x0004
|
| <!--Playback--> {{unk}}
| <!--Recording--> {{unk}}
| untested
|-
| Audigy 2 ZS SB0350
| 0x1102
| 0x0004
| 0x04
| <!--Playback--> {{yes}}
| <!--Recording--> {{yes}}
|
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| Live 5.1 DELL SB0200 SB0203 emu10kx
| 0x1102
| 0x0006
| 0x0
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
|
|-
| Live 24bit SB0410
| 0x1102
| 0x0007
| 0x
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Live 24bit DELL SB0413
| 0x1102
| 0x0007
| 0x
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy LS SB0310
| 0x1102
| 0x0007
| 0x0
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy SE 7.1 SB0570
| 0x1102
| 0x0007
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 2 ZS SB0320 SB0360 (PRO)
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 2 VALUE SB0400
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 4 VALUE SB0610
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| Audigy 4 PRO SB0380
| 0x1102
| 0x0008
|
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver
|-
| EMU E-MU 0404 PCI (not USB) EM8852
| 0x1102
| 0x000
| 0x0
| <!--Playback-->{{no}}
| <!--Recording-->{{no}}
| no driver but linux support needs firmware
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
the green jack is for the main speaker pair AND headphones, so manual switching will be required
If your card is wired for the "AC97" standard, then it's up to your headphone jack to switch the green speaker output in and out
the headphone jack has Normally-closed contacts that will open on insertion, which breaks the signal path back to the sound card (FP_RETURN)
====2000-2010 cmi8738.audio - C-Media====
*2021 5.20
;Read [http://amigaworld.net/modules/news/article.php?storyid=2512 more] and imported on [http://repo.or.cz/w/AROS.git/commit/aff741d60160c6a9d7d39c9e004a25ea3aa13847 20th July 2011] and [http://alsa.opensrc.org/Cmipci alsa docs].
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| Audiotrak MAYA EX5
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| cmi8738-sx 4ch
| 0x13f6
| 0x0111
| 0x10
| <!--Playback-->
| <!--Recording-->
| untested
|-
| e3dx hsp56 CMedia 8738-sx 4ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| EDio SC3000D 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Genius SoundMaker Value PCI C3DX
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Guillemot Maxi Sound Muse
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Hercules Gamesurround Muse LT
| 0x13f6
| 0x0111
| 0x10
| <!--Playback--> {{yes}}
| <!--Recording--> {{no}}
|
|-
| Hercules Gamesurround Muse XL LT 5.1
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Inno audio extreme 5.1 cmi8738/lx pci 6ch
| 0x13f6
| 0x0111
| 0x
| <!--Playback-->
| <!--Recording-->
| untested
|-
| M-Audio (Midiman) DiO 2448
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Sabrent SBT-SP6C 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| StarTech PCISOUND4CH 8738sx 4ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Sweex SC012 CMI8738-lx 4ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Terratec 5.1 PCI
| 0x13f6
| 0x0111
| 0x10
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Terratec Aureon Fun 5.1
|
|
|
| <!--Playback--> {{yes}}
| <!--Recording--> {{unk}}
| Has SPDIF
|-
| Trust Sound Expert Digital Surround 5.1 (cm8738-mx 6ch)
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Turtle Beach Riviera CMI8738-MX 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| XSonic CMI 8738 6ch
|
|
|
| <!--Playback-->
| <!--Recording-->
| untested
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->CMI8738 6ch PCI-E PCI Express version
| <!--Vendor ID-->0x13f6
| <!--Product ID-->0x0111
| <!--Revision-->0x10
| <!--Playback-->{{Yes|}}
| <!--Recording-->{{Maybe|}}
| <!--Comments-->Chinese based card with playback tested so far
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
====2001-2005 ac97.audio====
*6.4 27-12-2008
The AC97 chips were designed to be pinout interchangeable so that the sound support could change easily and quickly without motherboard redesigns
the green jack is for the main speaker pair AND headphones, so manual switching will be required
If your card is wired for the "AC97" standard, then it's up to your headphone jack to switch the green speaker output in and out, the headphone jack has Normally-closed contacts that will open on insertion, which breaks the signal path back to the sound card (FP_RETURN)
The ProductID and VendorID are for the audio controller only - the important additional codec is '''NOT''' so easily identified.
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| <!--Description-->Avance Logic (now Realtek) ALC100 and ALC101 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->ALC200 and ALC201 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->ALC201A and ALC202 and ALC202A codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->ALC650
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| <!--Comments-->most Nforce2 boards plays audio only - Abit NF7, Asus A7N8X, MSI K7N2, Epox 8RDA+, DFI
|-
| <!--Description-->ALC850 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{No}}
| <!--Comments-->no support for via P4P800 chipset on ASUS A8V-E SE Deluxe mobo - ICaros 1.3
|-
| <!--Description-->Realtek ALC653 codec and ALC655 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested Acorp 7NFU400
|-
| <!--Description-->Realtek ALC658 codec ALC658D
| <!--Vendor ID-->0x8080
| <!--Product ID-->0x24c5
| <!--Revision-->0x0
| <!--Playback-->{{Yes|Prefs Music and Units 0-3 set volume control - playback}}
| <!--Recording-->{{No}}
| <!--Comments-->MSI Motherboard on NB 22-09-2012
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->AD1881 SoundMAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->Analog Devices first AC97
|-
| <!--Description-->AD1881A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Yes}}
| <!--Revision-->
| <!--Comments-->works with VIA Controller - untested Intel etc
|-
| <!--Description-->AD1881B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1885 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{No}}
| <!--Comments-->Playback only with issues on D845HV but not working on MS-6367 because Units 0-3 have masked volume control
|-
| <!--Description-->AD1886
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1887
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->ADI AD1888 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no}}
| <!--Recording-->{{No}}
| <!--Comments--> Icaros 1.51
|-
| <!--Description-->AD1980 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->AD1981A codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested IBM X30
|-
| <!--Description-->Analog Devices SoundMax(TM) AD1981B codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| <!--Comments-->plays back only on IBM T41 Thinkpad
|-
| <!--Description-->AD1985 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{No}}
| <!--Comments-->not working ahi prefs freezes on D865GLC mobo ([http://www.xbitlabs.com/articles/multimedia/display/int-sound2_3.html ]
|-
| <!--Description-->AD1986 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{No}}
| <!--Comments-->untested [http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/Boards/Motherboards/Fujitsu/D1931/D1931.htm D1931] but works (Acer Aspire 3610 laptop)
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->Crystal Semiconductors CS4205, CS4202 codecs
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Cirrus Logic CrystalWare 4236
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->Cirrus Logic CrystalClear SoundFusion CS4297 CS4299 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested IBM T23
|-
| <!--Description-->conexant Cx20468-31 codec (id 30)
| <!--Vendor ID-->0x103c
| <!--Product ID-->0x3085
| <!--Revision-->
| <!--Playback-->{{No|AC97 appears in AHI Prefs}}
| <!--Recording-->{{No}}
| <!--Comments-->Tested AspireOS 1.8 on Gateway W322
|-
| <!--Description-->ESS Technology ES1921 AC'97 2.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->CMI 6501 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested on ASROCK SKT-AM2 AM2NF3-VSTA
|-
| <!--Description-->codec CMI9738
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->codec CMI9739
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->C-Media CMI 9739A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments--> untested on EPoX 8RDA3+
|-
| <!--Description-->CMedia CMI 9761A codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested ASRocK K7NF2-RAID
|-
| <!--Description-->C-Media CMI9880
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->National Semi conductor (now TI) LM4540, LM4543, LM4545, LM4546, LM4548, LM4549, LM4550 LM4560
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->STAC9708T codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->SigmaTel (now IDT) C-Major STAC 9460 (D/A only), 9461, 9462, 9463, 9200, 9202, 9250, 9251, 9220, 9221, 9223, 9750
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AKM (Asahi Kasei Microsystems) AK 4540, 4543, 4544A, 4545
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->codec VT1616 (VIA Six-TRAC Vinyl Audio)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->VIA VT1612, VT82C686
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->ESStech ESS ES1968 maestro-2
| <!--Vendor ID-->0x125d
| <!--Product ID-->0x1968
| <!--Revision-->0x
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->ESStech ESS ES1978 maestro2e
| <!--Vendor ID-->0x125d
| <!--Product ID-->0x1978
| <!--Revision-->0x
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->ESStech ESS ES1988 maestro3 allegro-1 codec
| <!--Vendor ID-->0x125d
| <!--Product ID-->0x1988
| <!--Revision-->0x12
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->Yamaha AC97 ymf-743 YMF752 YMF753 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->{{No}}
| <!--Comments-->untested ymf-753
|-
| <!--Description-->YMF724 YMF744 YMF-754 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->{{No}}
| <!--Comments-->untested
|-
| SIS 7018 / Trident 4dwave DX/NX / ALi 5451
| 0x1039 (0x1023 Trident)
| 0x7018 (0x2000 Trident DX) (0x2001 Trident NX)
| 0x02
| <!--Playback-->{{No}}
| <!--Recording-->{{No}}
| no support - introduced early 2000s
|-
| SIS 7012
| 0x1039
| 0x7012
|
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| working through 1 speaker only took over from SIS7018 (2002 onwards)
|-
| <!--Description-->Wolfson (now Cirrus Logic) WM9701, WM9701A (AC'97 1.03 spec), WM9703, WM9704 (AC'97 2.1), WM9705, WM9706, WM9707, WM9708
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->WM9709, WM9710, WM9711, WM9712, WM971
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->first Microsoft(TM) Xbox DAC sound chip (AC Link compliant D/A converter)
|-
| <!--Description-->Wolfson WM9717
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| Parallels
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested
|-
| VirtualBox
|
|
|
| <!--Playback-->{{Yes}}
| <!--Recording-->{{No}}
| working
|-
| VirtualPC
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested
|-
| <!--Description-->Intel 82801AA Proxmox
| <!--Vendor ID-->0x8086
| <!--Product ID-->0x
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Recording-->{{unk| }}
| <!--Comments-->
|-
|}
====2005-20xx HDAUDIO.audio====
*6.36 2025 [https://github.com/aros-development-team/AROS/commit/43b33a9280b10963ca659de2cc3d1cf289b43a87 reset handler]
*6.35 202 []
*6.34 2019 AROS One 1.5 upwards
*6.29 2018
*6.27 2017 update
*6.25 2014 used for most Icaros 2.x
*6.20 July 2012
*6.17 Nov 2011
*6.15 Jun 2011
*[http://www.clusteruk.com/SitePortalPage.aspx?siteid=1&did=109 6.13] Sep 2010
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| <!--Description-->ALC260
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| <!--Description-->ALC262
* ALC262-VD2-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->LQFP-48
|-
| ALC268 codec
| 0x
| 0x
| 0x
| <!--Playback-->{{Yes|Version 6.17 Acer AOA110 and AOA150 netbooks), works (Dell Mini Inspiron 9 and 10v, }}
| <!--Recording-->{{Yes|Version 6.17 remove QUERY and select 'Mic 1' as input. Tested with 6.15 as well using QuickRecord and AE 4.0.23 under Icaros 1.4.}}
| <!--Comments-->AHI UNITS and Music are set to: hdaudio:HiFi 16 bit stereo++ / Frequency 48000 Hz, Volume +0.0 dB. The hdaudio.config in SYS:Prefs/Env-Archive is WITHOUT the QUERY-line. After changing and saving the config-file turn off and start again the computer. Switch from internal loudspeaker to headphone you must turn off the music before plug in the headphone-cable, otherwise there is no output on the socket. Back from line-out to internal speakers it is the same.
|-
| [http://blog.foool.net/wp-content/uploads/linuxdocs/sound.pdf Linux docs ALC269]
* ALC269Q-GR
* ALC269QSRS-GR
* ALC269W-GR
| 0x
| 0x
| 0x
| <!--Playback-->{{Maybe| }}
| <!--Recording-->{{Unk| }}
| <!--Comments-->TQFP 48 pin Power IC Chip From [https://patchwork.kernel.org/project/alsa-devel/patch/1408118123-15849-1-git-send-email-tiwai@suse.de/ ALC269 & co have many vendor-specific setups with COEF verbs, result in the codec stalling]
|-
| [http://www.alsa-project.org/db/?f=0321f8479fd670cd510f9912b1120fe7edcf2e07 ALC269VB]
* ALC269Q-VB5-GR
* ALC269Q-VB6-CG
* ALC269Q-VB6-GR
| 0x10ec
| 0x0269
| 0x100004, 0x100100, 0x100202
| <!--Playback-->{{Maybe|some versions work}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* v1 works Asus eee PC netbook 901/1000HA 1005HA/1008HA, 1001P,
* v2 maybe working Lenovo S9 S10 S10-2 S10-3 under HDAudio version 6.13
* v3 maybe dell wyse 7010
|-
| [http://alsa-project.org/db/?f=9c1746c5957b0ce72ff9cfffa312e97d14baf785 ALC269VC aka ALC3202]
* ALC269Q-VC2-GR
* ALC269Q-VC3-GR
| 0x10ec
| 0x0269
| 0x100203,
| <!--Playback-->{{Maybe|some versions work}}
| <!--Recording-->{{Unk}}
| <!--Comments-->SMT SMD QFN-48 -
* v1 unknown
* v2 unknown
* v3 x230, dell wyse,
|-
| ALC272
* ALC272-VA4-GR
| 0x10ec
| 0x0272
| 0x0
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Unk}}
|
* works Acer AOD150 and Acer AOD250 works [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33755&forum=28#616910 Samsung NP-NC10], works Samsung NF210-A02] netbooks,
|-
| <!--Description-->ALC273
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| <!--Description-->ALC270
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC282
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x
| <!--Revision-->
| <!--Playback-->{{No|Version 6.17}}
| <!--Recording-->{{No|Version 6.17}}
| <!--Comments-->needs retest
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC660 ALC660-VD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes| }}
| <!--Recording-->
| <!--Comments-->
* works asus F9s, F9e
* untested asus w7j, M51SN, A6Tc, A8Sr,
|-
| <!--Description-->ALC661-GR (2011)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| ALC662
| 0x1043
| 0x82a1
| 0x0
| <!--Playback-->{{Yes|Version 6.17 if QUERY added to top of hdaudio.config}}
| <!--Recording-->{{No|Version 6.17 not working for eee pc 900}}
|
* works Asus eee PC netbook 700/701/900, Atom 270 and 330 mobos, odd clicks (D410 NM10 PineTrail),
|-
| <!--Description-->[http://outpost.fr/rmaa/ALC663.htm ALC663]
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0861
| <!--Revision-->
| <!--Playback-->{{No|Version 6.13}}
| <!--Recording-->{{Unk}}
| <!--Comments-->not bad output like headphone amp part of the codec actually works well but messed up by undersized coupling capacitors to actually support such a low impedance
* not working Asus n50vn x71vn,
|-
| <!--Description-->ALC665
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC666
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC667
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC668
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC670
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->ALC880
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->some 915 and 925 chipset mobos
|-
| <!--Description-->ALC882M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| Realtek ALC883 ALC883-GR ALC883D-GR ALC883DTS-GR ALC883DD-GR codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe|some early versions work }}
| <!--Recording-->{{Unk| }}
| 2005 to 2007 HD Audio codec untested (Asus ),
|-
| Codec ALC885
| 0x10ec
| 0x0885
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
|-
| ALC888
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
|
|-
| ALC888s
* ALC888S-VD2-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}} MSI Wind U90/U100,
| <!--Recording-->{{Unk}}
| LQFP-48
|-
| ALC888b
| 0x8086
| 0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| untested (D510 NM10 Dual Core PineTrail mobo),
|-
| ALC888-VD
| 0x8086
| 0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| untested
|-
| ALC889A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes|works if QUERY added to the top of hdaudio.config in Prefs drawer/directory}}
| <!--Recording-->{{Unk}}
|
|-
| ALC889 Gr
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}} with crackles
| <!--Recording-->{{Unk}}
|
|-
| ALC889
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
| Tested with MSI H55 board
|-
| ALC887 ALC887-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
|
* working on ASUS P5KPL/EPU and Gigabyte GA-E350N-Win8 Rev1.0
|-
| ALC887-VD-CG
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0887
| <!--Revision-->0x100302
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}} Subsystem Id: 0x1458a002
|
|-
| ALC887-VD
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0887 0x1458
| <!--Revision-->0xa002
| <!--Playback-->{{Maybe}}
| <!--Recording-->{{Unk}} index = 2
| ALC887 does not have any volume control ability on the mixer NIDs, so put the volume controls on the dac NIDs instead
* working with intermittent corrupting pop popping skipping stuttering sound issues MSI 760GM-P23 (FX),
* not working Gigabyte H61MA-D3V, AT3IONT-I Deluxe,
|-
| ALC887-VD2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
| 3jacks
|-
| ALC887-VD2-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
|-
| ALC887-
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
|
|-
| ALC892-CG rev
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| 2011 48-pin LQFP Green package -
|-
| ALC892 ALC892-DTS-CG rev
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
| 2009 introduced
* works
* not working
* untested
|-
| ALC892 rev
| <!--Vendor ID-->0x0x10ec
| <!--Product ID-->0x0892
| <!--Revision-->0x100302
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| 2014
|-
| Realtek ALC886-GR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| LQFP-48
|-
| Codec ALC861 ALC861-VD
| 0x10ec
| <!--Product ID-->0x0663
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
|
* not working Toshiba Tecra A7
|-
| <!--Description-->ALC1200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| ALC898
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk}}
| not working
|-
| <!--Description-->ALC1500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC3232 (aka ALC292)
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0292
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC3234 aka ALC255
| <!--Vendor ID-->0x10ec
| <!--Product ID-->0x0255
| <!--Revision-->003
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC3287 aka ALC257
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes| }}
| <!--Recording-->{{no| }}
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->ALC aka ALC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->AD1882
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1883 HD Codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| <!--Description-->AD1884
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Playback-->
| <!--Recording-->
| <!--Revision-->
| <!--Comments-->
|-
| Analog Devices SoundMAX AD1981
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| IBM Thinkpad T60,
|-
| AD1984 hp-m4 codec
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
* audio not working on Lenovo X61, Thinkpad T61,
|-
| AD1986
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
|
|-
| AD1988
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->{{No}}
| <!--Recording-->{{Unk}}
|
|-
| <!--Description-->AD1988A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->Cirrus Logic CS4207
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->
| <!--Recording-->
|
|-
| <!--Description-->Cirrus Logic CS4208
| <!--Vendor ID-->0x0
| <!--Product ID-->0x0
| <!--Revision-->0x0
| <!--Playback-->
| <!--Recording-->
|
|-
| <!--Description-->Conexant CX20549 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Maybe|very very very low volume}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested Fujitsu Amilo SI 1510 1520 no datasheet for the general public
|-
| <!--Description-->Conexant CX20549-12Z codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested HP 530
|-
| <!--Description-->Conexant CX20561 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* working lenovo x200s
* untested Lenovo Essential G555 Notebook, HP Pavilion dv6700,
|-
| <!--Description-->Conexant CX20582 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX2059x CX20590 CX20594-21Z codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX20585 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* working Lenovo Thinkpad T410,
|-
| <!--Description-->Conexant CX20672 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX20671 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX20751-21Z codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes| }}
| <!--Recording-->{{Unk}}
| <!--Comments-->
|-
| <!--Description-->Conexant CX11852 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant CX11880 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->untested
|-
| <!--Description-->Conexant after 2015 up to 2018 CX7501 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver codec}}
| <!--Recording-->{{no|no driver codec}}
| <!--Comments-->Conexant bought by synaptics 2019
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->C-Media CMI9880 codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| <!--Comments-->Gigabyte GA-8GPNXP
|-
| <!--Description-->Silicon Labs 3054
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| VIA 1708A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| untested,
|-
| VIA VT1708B
| <!--Vendor ID-->
| <!--Product ID-->
| 0x0010
| <!--Playback-->{{No|VIA PicoITX}}
| <!--Recording-->{{Unk}}
|
|-
| VIA 1708S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
|
|-
| <!--Description-->VT2021 10ch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->Gigabyte Z77MX-D3H, GA-H61M-S2H S2P,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Creative CA0110-IBG
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->SigmaTel STAC 9220 9221 9223 8ch (7+1)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{Unk| }}
| <!--Recording-->{{Unk| }}
| <!--Comments-->ECS 945GCT/M-1333 (version 3.0),
|-
| IDT SigmaTec [http://explorer.cekli.com/articles/pdf/hd-audio STAC9227] /28/29/30 codec
| <!--Vendor ID-->0x8384
| <!--Product ID-->0x7626
| <!--Revision-->0x0002
| <!--Playback-->{{Yes| }}
| <!--Recording-->{{Unk}}
|
* works HP Compaq mini 110
* untested HP Pavilion HDX9000 CTO Notebook, Intel DG33TL mobo, Dell E520, Intel DP35DP mobo, Dell E6410 Laptop,
|-
| IDT (formerly SigmaTel) IDC STAC 9271/71D
| <!--Vendor ID-->0x8384
| <!--Product ID-->0x7626
| <!--Revision-->0x0002
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
|
|-
| <!--Description-->IDC STAC 9272 9273 9274
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->Intel D5400XS,
|-
| <!--Description-->IDT 92HD73C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{yes}}
| <!--Recording-->
| <!--Comments-->headphones only Asus AT4NM10 mobo
|-
| <!--Description-->IDT 92HD75B
| <!--Vendor ID-->0x111d
| <!--Product ID-->0x7608
| <!--Revision-->
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Unk}}
| <!--Comments-->
* working [http://koti.kapsi.fi/jvaltane/aros/hdaudio/ HP Compaq Mini 700 Netbook - feedback required]
* untested HP Mini 5103 and 5102, HP Compaq 610, HP ProBook Laptop 4520s 4525s 6450b 6550b 6555b, HP EliteBook 2540p 2740p 8440p, Mobile Workstation 8540w 8740w, Pavilion NoteBook DV8,
|-
| <!--Description-->IDC 92HD81XX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC 92HD83XX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC STAC 92HD89XX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->IDC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Wolfson (now Cirrus Logic) WM8850
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Wolfson WM8860
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->Intel High Definition Audio Revision 1.0. - 4-Channel DAC, 4-channel ADC. - DAC sampling
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
Using Prefs/AHI ensure you set the music unit and at least Units 0 (where most audio comes from) in top left drop down menu to HDaudio - HIFI in the section below. Set Units 1 or 2 to microphone or other outputs. Plus allow more than one channel for multiple audio streams and set frequency up to 44 kHz or higher on the right hand side of the ahi prefs. If sound beeps when you press the test button then all should be OK.
Output <- Codec <- Audio Controller (HDA) <-> Computer
codecs and exact hardware identifier. As mentioned above, HDA is only part of the work here, it gets the audio out of the main chipset in digital format (on a bus called I2S). This is not enough, there is another step needed which is routing that I2S signal to the output, converting it to actual audio, amplifying it, etc. This is handled by a separate chip called a "codec". Sometimes it is initialized by the BIOS, but this is not always the case.
Most audio drivers are made up of two parts a [http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt Controller + a Codec]. The ProductID and VendorID are for the audio controller only - the important additional codec is '''NOT''' so easily identified.
Some newer versions of codecs are missing at the moment.
Things to try if sound not working
* try to connect something to the audio jack, maybe it is not playing on internal speakers or vice versa
* make sure you try and select all music units e.g. unit0, unit1....
* even if PCI ID's are in Prefs/Env-Archive/HDaudio.config, this doesn't mean it is working, it is the codec that matters
* it might be internally muted
<pre>
add debug=memory to grub boot line - continue booting with F10
Open a shell
Tools/Debug/Bifteck > RAM:audio.txt
</pre>
or
<pre>
Open a shell
Tools/Debug/Sashimi > RAM:audio.txt
Run ahi prefs
Click test tone button
Stop sashimi with Ctrl-C
</pre>
If the boot sound is enabled, you have to use Bifteck to capture AHI debug output. In the GRUB menu, press E on your selected entry, then add "debug=memory" to the options (alongside ATA=, vesa= etc.). Then F10 or Ctrl-X to boot. Once booted, run Tools/Debug/Bifteck again.
or
* try adding QUERYD to the start of ENVARC:hdaudio.config file (also known as Prefs/Env-Archive/) ie. on the first line
* '''OR''' try removing QUERY and QUERYD from the start of the hdaudio.config file
* Reboot
* open a shell
* type: sys:tools/debug/sashimi > ram:debug.txt
* open ahi prefs
* select one of the audio modes - HIFI or otherwise
* press the 'test sound' button
* press ctrl-c in the shell
* post the results to Aros-World
The HD Audio standard was designed to be hardware pinout interchangeable so that the sound support could change easily and quickly. HDA is a standard around particular chips. Each kind of chip has a certain number of DACs and pins, and even the same chip could be hooked up in different ways on different motherboards. The chips are programmable and the operating system can adjust how things are routed. Some pins aren’t even hooked up, so it makes no sense to route sound to them. Also some pins have sensors that can tell when something is plugged in, so that for example the speakers in a laptop can be muted when headphones are plugged in. Pins are also grouped, so for example all the outputs for a 5.1 sound system are grouped. Generally the HDA driver in the operating system is supposed to read the pin set up and figure out a reasonable way to set things up, and disconnected pins should be ignored, etc.
HDAudio standard has headphones on a separate DAC, and it's up to the driver.. it can even send different audio to the headphones without interrupting the main (green) outputs
====Envy24 series ====
A little history. VIA bought the ICE created Envy chipsets [http://www.via.com.tw/en/products/audio/controllers/comparison_controller.jsp VT1712] first. A few years later, they created several cheaper variants VT1724 (mixer missing), VT1721 (low end cut down), VT1720 (embedded on motherboard) and lastly the VT1723 (no support apart from Windows Envy24DT like SYBA SD-PEX63034).
There are PCI Express versions appearing.
The Envy24 is the base product that was originally designed by ICEnsemble, and it supports multi-channel hardware mixing, which is great for professional use. The HT version removes the hardware mixer (unimportant for non-professional uses). The [http://www.avsforum.com/t/364771/envy24ht-s-the-definitive-source HT-S] version is almost exactly the same as the HT, it just uses cheaper DACs. The PT version is exactly the same as the HT-S version, it is just the edition used for on-board audio on motherboards.
N.B. [http://www.soundonsound.com/sos/dec04/articles/pcnotes.htm PCI slot identification] and [http://hsi.web.cern.ch/HSI/s-link/devices/s32pci64/slottypes.html 3.3v PCI].
=====[http://www.opensound.com/readme/README.Envy24.html envy24.audio] - [http://www.anime.net/~goemon/alsa/ VT1712] =====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Playback
! Recording
! Comments
|-
| M-Audio Delta 66 - Rev B 1999
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested AK4524VF CS8404A-CS - needs Delta Series break out box with D-sub lead -
|-
| [http://ixbtlabs.com/articles/maudioaudiophile/index.html Audiophile 2496] Rev A 2000
| 0x14
| 0x
|
| <!--Playback-->{{unk| }}
| <!--Recording-->{{unk| }}
| works audio out on - I2S stereo codec AKM AK4528VF with the 24bit/96kHz DAC and ADC; CS8427 digital transceiver
|-
| [http://ixbtlabs.com/articles/maudioaudiophile/index.html Audiophile 2496] Rev B 2003
| 0x14
| 0x
|
| <!--Playback-->{{Yes }}
| <!--Recording-->
| works well - I2S stereo codec AKM AK4528VF with the 24bit/96kHz DAC and ADC; CS8427 digital transceiver
|-
| M-Audio Delta 410 - 2001 2001 REV-B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested for D-A AK4529VQ converters with CS8427-CS 5532 1158B or Event Echo Gina 20-Bit Multitrack Interface Breakout Box -
|-
| M-Audio Delta 1010
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested AK5383 and AK4393 - 25 pin dsub -
|-
| M-Audio Delta 1010LT 1010E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested for D-A AK4529 converters with 2 XLR Microphone inputs with pre amps
* be aware of redesign in 2007 - possible issues
|-
| M Audio Delta 44 - Rev A 2002 - Rev B 2003 - Rev D 2003
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested ICE1712G AK4524VF needs breakout box with 15 pin D-sub lead -
|-
| M-Audio Delta 66 Rev E 2006 - Omni Studio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested needs break out box with 15 pin D-sub lead -
|-
| <!--Description-->M-Audio Delta DiO 2496
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| Terratec EWX24/96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| [http://ixbtlabs.com/articles2/terratecdmx6fire/index.html TerraTec 6fire DMX 24/96]
| <!--Vendor ID-->0x1412
| <!--Product ID-->0x1712
| <!--Revision-->0x02
| <!--Playback-->{{No|tried line 1-2 3-4 5-6 7-8 }}
| <!--Recording-->{{No| }}
| untested - AKM and codec
|-
| <!--Description-->Terratec EWSA88MT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| [http://lists.freebsd.org/pipermail/freebsd-multimedia/2007-March/006087.html Audiotrak Prodigy HD2] 24/96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| Audiotrak (ESI) Maya 1010 1010L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| EMU 1212M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| EMU 1616M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| untested
|-
| <!--Description-->Terratec EWS 88MT EWS 88D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Hoontech Soundtrack DSP 24
Soundtrack DSP 24 Value
Soundtrack DSP 24 Media 7.1
Event Electronics EZ8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Digigram VX442
Lionstracs
Mediastation
Terrasoniq TS 88
Roland/Edirol DA-2496
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
|}
=====envy24ht.audio - VIA VT1724=====
{| class="wikitable sortable" width="90%"
! width="10%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Recording
! width="35%" |Comments
|-
| ESI Juli@
| 0x3031
| 0x4553
| 0x0
| <!--Playback-->{{Yes}}
| <!--Recording-->{{Yes}}
| reported working years ago [http://envy24.svobodno.com/ Envy24HT-S] - AKM 4358 DAC - AKM 4114/4112 DIT
|-
| ESI Juli@ Ego Igo rev K
| 0x3031
| 0x
| 0x0
| <!--Playback-->{{Unk}}
| <!--Recording-->{{Unk}}
| AK4358? DAC - AK4114 AK4112 DIT
|-
| [http://ixbtlabs.com/articles2/multimedia/m-audio-revolution51.html M-Audio Revolution 5.1]
| 0x1412
| 0x3631
| 0x0
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| reported working years ago but discontinued - (Envy24GT) - 3ch AKM 4358 DAC - ADC AKM 5365 -
|-
| [http://ixbtlabs.com/articles2/m-audio-revolution71/index.html M-Audio Revolution 7.1] 24/192
| 0x1412
| 0x3630 0x1724
| 0x0
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| not working - illegal semaphore - 6ch ADC AKM AK4355 24-bit 192 kHz - 2ch DAC AKM AK4381 24-bit 192 kHz - ADC AKM AK5380
|-
| Terratec Aureon Sky 5.1
| 0x153b
| 0x1147
| 0x
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - discontinued
|-
| [http://ixbtlabs.com/articles2/terratec-aureon71/index.html Terratec Aureon Space 7.1]
| 0x153b
| 0x1145
| 0x0
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - Wolfson WM8770 DAC, AC'97 codec SigmaTel STAC9744
|-
| Terratec Aureon Universe 7.1
| 0x153b
| 0x1153 (rev x) 0x1724 (rev3)
| 0x0
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| not working - semaphore error on rev 3 - DAC ADC
|-
| Terratec Phase 22
| 0x153b
| 0x1150
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - Envy24HT-S - AK4524
|-
| Terratec Phase 28
| 0x153b
| 0x1149
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| untested - Envy24HT-S - AK4524
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Playback
| Recording
| Revision
| Comments
|-
| Audiotrak (ESI) Prodigy 7.1
| 0x4933
| 0x4553
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - Wolfson WM8770 and AC'97 SigmaTel STAC9744 codec
|-
| Audiotrak (ESI) Prodigy 7.1 LT
| 0x3132
| 0x4154
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver -
|-
| [http://ixbtlabs.com/articles2/sound/audiotrak-prodigy192.html Audiotrak (ESI) Prodigy 192] 24/96
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - STAC9460S codec
|-
| <!--Description-->Echo Layla 24/96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
| [http://www.bit-tech.net/custompc/labs/80752/hercules-gamesurround-fortissimo-4.html Hercules Gamesurround Fortissimo 4]
|
|
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - Wolfson WM8776 Codec and WM8766 DAC
|-
| [http://ixbtlabs.com/articles2/multimedia/m-audio-audiophile192.html M-Audio Audiophile Delta AP 192k]
| 0x1412
| 0x3632
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver - Stereo ADC AKM AK5385A 24-bit 192 kHZ - 8-channel DAC AKM AK4358 24-bit 192 kHz - AKM 4114/4112 DIT
|-
| ONKYO SE-150PCI
| 0x160b
| 0x0001
|
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| no driver
|-
| <!--Description-->ESI Waveterminal 192x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
| <!--Description-->Quartet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments--> - AKM 4114/4112 DIT
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk}}
| <!--Recording-->{{unk}}
| <!--Comments-->
|-
|}
====hdmiaudio.audio - hdmi no support====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Recording
| Comments
|-
| <!--Description-->ATI R6xx HDMI Audio codec support output
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x9840
| <!--Revision-->
| <!--Playback-->{{No| }}
| <!--Recording-->{{No| }}
| <!--Comments-->Not detected
|-
| <!--Description-->NVidia HDMI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Intel Series 6 CougarPoint HDMI codec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->Intel HDMI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Recording-->
| <!--Comments-->
|}
[[#top|...to the top]]
===Graphic GFX Chipsets===
PCIe is defacto on 64bit AROS and recommended on 32bit.
AGP works but faster transfers through the AGP slot are only available on a few supported motherboard chipsets
* Faster AGP Working = SIS 650 board, Intel 865pe AGP slot on MSI 6788-050,
* Not Supported = NForce2 chipsets, most Intel 815/820 chipsets, VIA chipsets, ALi chipsets,
The fallback for all graphics modes is vesa if any native support does not work. There is a choice of very low resolution vga as the last resort
2D tests performed with [http://download.aros3d.org/software/gfxbench.zip gfxbench] in the shell type gfxbench > out.txt (40 seconds blank screen is part of the test), via FreeDoom via limit-removing engine like odamex, chocolate or vanilla doom -timedemo demo1 or doom2 -timedemo demo1, doom.exe -iwad doom2 -file mymap.wad, Duke DNRATE 640x480 windowed
3D tests performed with Demos/Mesa/ , Cube 1080p, Cube 2 windowed not fullscreen 1920 x 1025, Quake3 ~ cl_drawFPS 1, Xonotic , [http://shinh.skr.jp/sdlbench/showtestgl.cgi test gl],
HDMI, DVI and DisplayPort monitors have a native resolution of 480p, 720p, 1080i, 1080p and up
* HDMI 1.2 720p res.
* HDMI 1.3 1080 resolution
* HDMI 1.4 above 1080 res.
* HDMI 2.0
* HDMI 2.1
* HDMI 2.2 ultra96
====vga.hidd====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Comments
|-
|
| 0x
| 0x
| 0x0
| Generic VGA Driver, limited to 640x480 in 16 colours - no 3D support
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Comments-->
|-
|}
====vesa.hidd====
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! Comments
|-
|
| 0x
| 0x
| 0x0
| 2D support for VBE1, VBE2 and VBE3 (most cards) - various resolutions and 24bit colour - no 3D support
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Comments-->
|-
|}
[[#top|...to the top]]
====[[w:en:Intel GMA|Intel GMA]]====
DVI output is not supported at the moment.
If having problems:
* Ensure the latest version is being used.
* Set GMA_MEM to 128 or 256 to test
* Try the FORCEGMA ToolType for 2D, and try the FORCEGALLIUM ToolType for 3D acceleration after 2D is verified to work. ToolTypes should be applied to the Devs/Monitors/IntelGMA monitor icon.
If still having problems:
* At GRUB boot screen edit boot line and add option: debug=memory
* Boot.
* Use shell command: tools/debug/bifteck > RAM:debug.txt
* And post [GMA MONITOR DETECTION] and other related debug lines
{| class="wikitable sortable" width="90%"
! width="5%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="3%" |Rev
! width="5%" |2D
! width="5%" |3D
! width="5%" |Analog Output
! width="5%" |Digital Output
! width="5%" |Laptop LCD
! width="30%" |Comments
|-
| 910GL 82910GL GMCH + ICH6
| 0x8086
| 0x2582 0x2592
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| 910GML 82910 GML GMCH + ICH6 Mobile
| 0x8086
| 0x2582 0x2592
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| may need to add forceGMA to grub boot line to work
|-
| 915G 82915G GMCH + ICH6-M
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
|
|-
| 915GL 82915GL GMCH
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
|
|-
| 915GV 82915GV GMCH
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Yes|}}
| <!--3D-->{{No|}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{N/A}}
| HP DC5100 small form factor
|-
| 915GM GMA900
| 0x8086
| 0x
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| tunnel gearbox }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes}}
| asus eee pc 900
|-
| 915GMS
| 0x8086
| 0x
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| tunnel }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes| }}
|
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| [http://www.notebookcheck.net/Intel-Graphics-Media-Accelerator-950.2177.0.html 945GU] - 133 MHz (Lake port for Intel A100 and A110)
| 0x8086
| 0x2772
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| Fujitsu LifeBook U1010,
|-
| 945GMS - 166 MHz / 250 MHz (1.05V)
| 0x8086
| 0x27a2
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Unk| }}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes}}
| Dell D430
|-
| 945GSE - 166 MHz (for Atom)
| 0x8086
| 0x27ae
| 0x0
| <!--2D--> {{Yes| }}
| <!--3D--> {{Yes|[http://www.x.org/wiki/GalliumStatus]}}
| {{Yes}}
| {{No|dvi port}}
| {{Yes| }}
| for atom motherboards and most 2008/2009 netbooks
* 3D Works - AOA110 AOA150, Dell Mini 9, Samsung NC10, Toshiba NB100,
|-
| 945G 82945G GMCH + ICH7
| 0x8086
| 0x27a6
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| untested 2D and 3D
|-
| 945GC 82945GC MCH
| 0x8086
| 0x27a6
| 0x0
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| untested 2D and 3D
|-
| 945PM
| 0x8086
| 0x
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
| Dell D420, Compaq nc6400,
|-
| 945GMS - 250 MHz Calistoga
| 0x8086
| 0x
| 0x0
| <!--2D--> {{Yes}}
| <!--3D--> {{Yes|most models}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->{{Yes}}
|
* 3D Works Dell Latitude 2100, HP Compaq nc6320, Lenovo 3000, Lenovo T60, Samsung Q35, Dell D620, Dell D820,
* 3D untested Toshiba Satellite L100-120, Toshiba Portege M400,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Unk}}
| <!--3D-->{{Unk}}
| <!--Analogue Output-->
| <!--Digital Output-->
| <!--Laptop LCD-->
|
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GMA 3100 G31
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works 2D but no 3D
|-
| GMA 3100 G33
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works 2D but no 3D
|-
| [http://en.wikipedia.org/wiki/Intel_GMA GMA 3150] netbooks and nettops
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works 2D but no 3D. no vga, dvi or hdmi output for nettops
|-
| <!--Description--> G965
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments-->
|-
| <!--Description--> Q965
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x2992
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{No}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments--> Only tested with VGA output.
|-
| 965GM X3100 (500 MHz)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| some support 2D but no hardware 3D - could not get it to work with VGA or dvi output
* untested Apple MacBook Air, Lenovo Thinkpad X300, Dell Inspiron 1525, Toshiba M9,
|-
| 960GM X3100 (400 MHz)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
|
|-
| 965M X3100 (400 MHz)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| Dell D830,
|-
| 965PM ??
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| Toshiba A9 works with limited 2D acceleration but no hardware 3D
|-
| GL965
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works with limited 2D acceleration but no hardware 3D
|-
| GM965
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works with limited 2D acceleration but no hardware 3D
|-
| GMA X3500 G35
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->X4500M G41 G43 G45 (400Mhz) Mobile 4 Series
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x2a42 0x2a43
| <!--Revision-->0x07
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue--> {{No|}}
| <!--Digital--> {{No|}}
| <!--Laptop LCD--> {{Yes| VESA}}
| <!--Comments-->works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->GMA 4500M HD (533 MHz)
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments-->works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->GMA 4700M HD (640MHZ)
| <!--Vendor ID--> 0x8086
| <!--Product ID--> 0x2a42
| <!--Revision-->
| <!--2D-->{{Maybe|}}
| <!--3D-->{{No|}}
| <!--Analogue-->{{Unk}}
| <!--Digital-->{{Unk}}
| <!--Laptop LCD-->{{Unk}}
| <!--Comments-->works with limited 2D acceleration but no hardware 3D
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
====[http://nouveau.freedesktop.org/wiki/FeatureMatrix nouveau].hidd ([http://web.aros3d.org/index.php/projects nvidia pci, agp, pci-e desktop])====
PCIe based nvidia graphics (gfx 8xxx) are the base level for 64bit AROS but earlier models still has some support on 32bit AROS
*Desktop, more likely hit rather than miss on '''very''' early nvidia
*Laptop, limited support for '''very''' early non-optimus (i.e. just Nvidia gfx only so no Intel and nvidia gfx combinations)
Please note that the nouveau project is reverse engineering a graphics driver due to nVidia's limited information and design decisions (closed firmware, etc)
* 2026-05 - DEVS
* 2011-10 - DEVS 6.11 Nouveau.hidd 7.4 Gallium.hidd 9.4 Softpipe - LIBS 2.3 Gallium 1.3 GLU 19.0 Mesa OpenCL 1.x
* 2011-04 - DEVS 5.31 Nouveau.hidd 7.3 Gallium.hidd 9.3 Softpipe - LIBS 2.2 Gallium 1.1 GLU 18.0 Mesa OpenCL n/a
[https://comparisoncpu.com/gpu/list Nouveau support for AROS] is limited to OpenGL 2.1 compliance even for modern GL4 capable GPUs - OpenCL supports the older NV50 (8000 9000) cards, less support in newer NVC0 cards (300 upwards)
ADoom3 graphic details ultra, benchmark while playing press the "`" key and type "Timedemo demo1" in the console
{| class="wikitable sortable" width="90%"
! width="5%" | Graphic Card
! width="5%" | 1024 x 768
! width="5%" | 800 x 600
! width="2%" | 640 x 480
|-
| Asus EN8400GS SILENT/P/512M PCIe (G98) || || ||
|-
| 8400gs || || ||
|-
| Gigabyte 8500 GT 256M || 42,6 || 57,2 || 68,6
|-
| Geforce 9500GT 512M || 43 || 53 || 57
|-
| gt210 || || ||
|-
| Palit GT220 Sonic 512M || 39,7 || 55,8 || 63,7
|-
| gt218 || || ||
|-
| HostGL Ryzen 5 4600H - Nvidia 1650 - Linux mint 21.1 || 150fps || 154fps || 155fps
|-
| || || ||
|-
|}
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|-
| <!--Description-->tnt1 (nv04) tnt2 (nv05) m64 value (1998)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|very slow}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| NV04 Riva TNT TNT2 Fahrenheit freezes on via motherboard chipset so rename agp.hidd in SYS:Devs/Drivers or Monitors
|-
| <!--Description-->tnt vanta lt (nv06) 1998 /9
| 0x10de
| 0x002c
| 0x15
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|slow}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| <!--Description-->Geforce 256 (nv10) (2000)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|slow }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| untested Geforce256
|-
| <!--Description-->Geforce 2 Geforce 3 Geforce 4 (nv20) 2000 / 2
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{No|slow }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| works for some PCI and AGP Geforce2 Geforce3 Geforce4
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| Geforce FX5200 nv34 (2003)
| 0x10DE
| 0x0322 0x
| 0xA1
| <!--2D-->{{Maybe| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->{{Maybe|VGA15 }}
| <!--Digital-->{{Maybe|DVI}}
| <!--Laptop LCD-->{{N/A}}
| NV30 GeForce 5 FX Rankine Hardware OpenGL 1.5 - slower than GF MX 4000 for 2D - max 1024 x768
* not working [https://eab.abime.net/showthread.php?t=92328&page=8 mobos with VIA chipsets 2018]
* working (MSI 0x9174) the previous nouveau 5.x driver
* Others work with 6.x series XFX PV-T34K-NA, ASUS V9520-X/TD
|-
| Geforce FX5500 (nv34) (2003)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{Maybe| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| works
|-
| Geforce 5100 (NV34)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce FX 5200LE (NV34)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5200 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce FX5600 (nv31) (2004)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Maybe| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| works
|-
| GeForce FX 5600 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5600SE
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5600XT
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce FX5700 (nv36) (2004)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes|some}}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{Maybe| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5700VE
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5700 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5700LE
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5800 (NV30)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5800 Ultra (NV30)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900 (NV35)
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900XT
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5900ZT
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce FX 5950 Ultra
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce 5xxx
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
|
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| Geforce 6200 (nv44) (2005)
| 0x
| 0x00F3 0x014F
| 0x0
| <!--2D-->{{Yes|5.28 Pixel Text}}
| <!--3D-->{{Maybe| use 5.28}}
| <!--Analogue-->{{Yes|VGA15 and s-video - plain 4pin cable lead will work with 7pin}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| NV40 GeForce 6 GeForce 7 Curie AGP Hardware OpenGL 2.1 needing previous 5.x version as regression arose 2011-10
|-
| Geforce 6200 (nv44a) (2006)
| 0x
| 0x0221
| 0x0
| <!--2D-->{{Yes|5.28 Pixel Text }}
| <!--3D-->{{Yes|}}
| <!--Analogue-->{{Yes|VGA15}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| Hardware OpenGL 2.1, PCI version tested OK in 2014-01-02 - Icaros 1.5.2
* not working
*working
|-
| GeForce 6200 with Turbo Cache (NV43)
| 0x
| 0x0161
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
|
|-
| GeForce 6200SE with Turbo Cache (NV44)
| 0x
| 0x0162
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
|
|-
| Geforce 6200 LE
| 0x10de
| 0x0163
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| PCI-E
|-
| GeForce 6600 LE
| 0x
| 0x00F4 0x0142
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6600
| 0x
| 0x00F2 0x0141
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| 2006 PureVideo HD 1 or VP1 re-used the MPEG-1/MPEG-2 decoding pipeline from FX
|-
| Geforce 6600gt (nv4x) (2005)
| 0x
| 0x00F1 0x0140
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Yes| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| OpenGL tests -
|-
| Geforce 6800 (nv40) (2005)
| 0x
| 0x0041 0x00C1 0x00F0 0x0211
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Yes| }}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 XE (NV4x)
| 0x
| 0x0043
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 LE
| 0x
| 0x0042 0x00C2 0x0212
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 GT (quadro fx 1400)
| 0x
| 0x0045 0x0046 0x0215
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 6800 GS
| 0x
| 0x0047 0x00C0 0x00F6
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6800 GTS NV40
| 0x
| 0x0040 0x0F9
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 6800XT
| 0x
| 0x0044 0x0048 0x00C3 0x0218
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6600 VE
| 0x
| 0x0143
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6500 NV44
| 0x
| 0x0160
| 0x0
| <!--2D-->{{unk| }}
| <!--3D-->{{unk| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6250
| 0x
| 0x0169
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 6xxx
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GeForce 7800 GTX
| 0x
| 0x0090 0x0091
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| tunnel gearbox cube cube2 25}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> 256MB DDR3 - 1 6pin psu connector -
* not working asus en7800gtx/2dhtv/256m/osp/a -
* Works XFX PV-T70F-UDD7 Works in steve jones' scrap pc aros build 2010 2 DVI-I ports
* Untested
|-
| GeForce 7800 GT
| 0x
| 0x0092
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7600gt (G8 ) (nv4 ) (2006)
| 0x
| 0x02E0 0x0391
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL 2.1
* not working
* working
|-
| GeForce 7800 SLI
| 0x
| 0x0095
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GTX
| 0x
| 0x0290
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GT GTO
| 0x
| 0x0291
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GS
| 0x10de
| 0x0292
| 0x0a1
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working
* Works with a few glitches with XFX Pine 0x2218
|-
| GeForce 7950 GX2
| 0x10de
| 0x0293 0x0294
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| GeForce 7950 GT
| 0x
| 0x0295 0x02E4
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7900 GS
| 0x
| 0x02E3
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7600 GS
| 0x
| 0x02E1 0x0392
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7650 GS
| 0x
| 0x0390
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7600 LE
| 0x
| 0x0394
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7800GS (G8 ) (nv4 ) (2006)
| 0x
| 0x0093 0x00F5
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working
* works if AGP motherboard chipset is supported - Hardware OpenGL 2.1
|-
| GeForce 7100 GS
| 0x
| 0x016A
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7350 LE
| 0x
| 0x01D0
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7300le (G8 ) (nv4 ) (2006)
| 0x
| 0x01D1
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7300SE 7200GSGF-7200GS-N-B1 variant (G72)
| 0x10de
| 0x01D3
| 0x0a1
| <!--2D-->
| <!--3D-->
| <!--Analogue-->{{Unk|1x DVI, 1x VGA, 1x S-Video}}
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2007 40W pci-e 1.0 VP1 no unified shaders -
* not working Asus on via chipset (2015),
* works Asus on intel chipset (2015),
|-
| Geforce 7300gt (G8 ) (nv4 ) (2006)
| 0x
| 0x0395 0x0393
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working
* works
|-
| GeForce 7300 GS
| 0x
| 0x01DF
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 7500 LE
| 0x
| 0x01DD
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| Geforce 7xxx
| 0x
| 0x
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GeForce 8800 Ultra (NV50 family)
| 0x
| 0x0194
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NV50 GeForce 8 to GeForce 200s opengl 3.x - max res - 80nm technology - PureVideo HD 2 or VP2 Nvidia VDPAU Feature Set A (absent from ultra and some 8800gt?) added a dedicated bitstream processor (BSP) and enhanced video processor for H.264, VC-1 acceleration
|-
| Geforce 8800gts (nv50) (G8x) (2007)
| 0x
| 0x0400 0x0600 0x0193
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2007 200w openGL3 openCL - 2x6pin psu
* not working 0x0193 models (2015) on via chipsets,
* works
|-
| Geforce 8800gtx (nv5 ) (G8x) (2007)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2008 200W 1x 6pin connector,
* not working
* working
* untested XFX PV-T88P-YDF4, Alpha Dog Edition runs extremely hot - Gigabyte GV-NX88T512H,
|-
| GeForce 8800 GT
| 0x
| 0x0602 0x0611 0x0193
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes}}
| <!--Analogue-->
| <!--Digital-->DVI up to 2500 x 1600
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - 6pin psu power connector required
* not working
* untested Asus EN8800GT/HTDP/256M EN8800GT/HTDP/512M EN8800GT/G/HTDP/512M
* works
|-
| GeForce 8800 GT (G92)
| 0x10de
| 0x0611
| 0x0a2
| <!--2D-->{{Yes|6.11 Pixel Text}}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{N/A}}
| <!--Digital-->{{Yes}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3 pci-e 2.0 8800GT 512MB on Icaros 2.0.3 [[File:8800GT aros heads.png|thumb|8800GT]] [[File:8800GT aros tails.png|thumb|8800GT detail]]
|-
| Geforce 8600gt (nv5 ) (G8x) (2007)
| 0x
| 0x0401 0x0402
| 0x0
| <!--2D-->{{Yes|Pixel Text}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res
* not working
* works
|-
| GeForce 8500 GT
| 0x
| 0x0421
| 0x0
| <!--2D-->{{Yes| some color }}
| <!--3D-->{{yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL tests - max opengl 3.x but 2.1 offered - max res
* not working
* works Gigabyte 8500 GT,
|-
| GeForce 8800 GS
| 0x
| 0x0606 0x060D
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res
|-
| GeForce 8600GS
| 0x
| 0x0403
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 3.x VP3 offers complete hardware-decoding for all 3 video codecs of the Blu-ray Disc format: MPEG-2, VC-1, and H.264 - Nvidia VDPAU Feature Set B
|-
| GeForce 8300 GS
| 0x
| 0x0423
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res
|-
| Geforce 8400gs G98GS (end 2007) GT218 (2009)
* Rev2 with 8/16 cores and 128-512MB of DDR2 or GDDR3 memory.
* Rev3 with 8 cores and 512MB-1GB of DDR3 memory (based on Tesla 2.0)
| 0x
| 0x0424 0x0422
| 0x0
| <!--2D-->{{Yes|Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 490 gearbox 505 Cube 135 Cube2 55 quake3 }}
| <!--Analogue-->{{Yes|works digital part of DVI but nothing from any display port}}
| <!--Digital-->{{Yes|output on digital 24 pin array of DDWG's DVI and hdmi}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 50W openGL 3.1 openCL - case single slot - one single-link DVI digital output, supporting up to one 1920x1080 resolution display - analog resolution 640 x 480 to 1024 x 768 16 and 24 bit color - [http://www.phoronix.com/scan.php?page=article&item=nouveau_comp_2011&num=19 runs a little hotter than expected] - G98 VP3 pci-e 2.0 512MB DDR2 -
* not working
* works Asus EN8400GS SILENT/P/512M PCIe (G98),
|-
| Geforce 8400gs (nv50) (G86) (mid-2007)
* Rev1 with 16 cores / 256MB of DDR2 memory.
| 0x
| 0x0404
| 0x0
| <!--2D-->{{Yes|Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 490 gearbox 505 Cube 135 Cube2 55 quake3 }}
| <!--Analogue-->{{Yes|works but not tested thru 4 pins of analog signal of DVI plug}}
| <!--Digital-->{{Yes|output on digital 24 pin array of DDWG's DVI and hdmi}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2008 50W openGL 3.1 openCL - case single slot - one single-link DVI digital output up to 1920x1080 resolution display - analog resolution 640 x 480 to 1024 x 768 16 and 24 bit color - [http://www.phoronix.com/scan.php?page=article&item=nouveau_comp_2011&num=19 runs a little hotter than expected] - G86 VP2 128MB -
* not working XFX PV-T86S-YAJG NVIDIA GeForce 8400 GS 512MB DDR2, Sparkle 8400GS 512MB SX84GS512D2L-DPP,
* works Asus EN8400GS SILENT/HTP/256M SILENT/HTP/512M/A,
|-
| GeForce 8400 SE
| 0x
| 0x0420
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 2.x openCL
|-
| NVidia Quadro NVS290 DMS-59
| 0x
| 0x0403
| 0x0
| <!--2D-->{{no| }}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk|DMS-59 socket}}
| <!--Digital-->{{unk|DMS-59 }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2008 21W - G86S (G86-827-A2) - 16 shading units, 8 texture mapping units, and 4 ROPs. NVIDIA has paired 256 MB DDR2 - PCIe 1.0 x16 Low Profile -
|-
| Geforce Quadro FX 4600 (SDI), 5600
| 0x
| 0x
| 0x0
| <!--2D-->{{Partial|VESA 2d}}
| <!--3D-->{{no| }}
| <!--Analogue-->{{partial| }}
| <!--Digital-->{{partial| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| GeForce 9800 GX2 (NV50 family)
| 0x
| 0x0604
| 0x0
| <!--2D-->{{Partial|VESA }}
| <!--3D-->{{no| }}
| <!--Analogue-->{{Partial| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 150w - 65nm technology
|-
| GeForce 9800 GTX
| 0x10de
| 0x0612
| 0x0a2
| <!--2D-->{{Yes| }}
| <!--3D-->{{Maybe|6.11 }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 2x6pin psu -
* not working xfx on via chipset (2015),
* works xfx on chipset intel ,
|-
| GeForce 9800 GTX+
| 0x10de
| 0x0613
| 0x0
| <!--2D-->{{Yes| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res 2560 x 1920 - case dual slot - 26amp 12v rail on computer psu if 2x6pin connectors needed - 55nm version of the G92 chip - will not work with PCI-e 1.0a slots -
* not working
* works on a few models
|-
| Geforce 9800gt (nv50) (G92a) (2008)
| 0x10de
| 0x0614
| 0x0xa2
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel 495 gearbox 513 Cube 156 Cube2 120 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{partial| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL 3.1 openCL 1.x - case dual slot - 600w 26amp on both 12v rails for 2x6pin psu on gfx card - no fan control - some come with 1x6pin - renamed version of the venerable GeForce 8800 GT - randomly works
* not working Gainward 512M untested
* working Gainward CardExpert (0x0401) Green Edition NE39800TFHD02-PM8D92 1024MB (no 6pin)
|-
| Geforce gf9600 9600gt (nv5 ) (G9x) (2008)
| 0x10de
| 0x0622
| 0x0a1
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel 493 gearbox 675 Cube Cube2 100 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> OpenGL 3.2 openCL but no fan control - case dual slot - 1 6pin pcie psu connector - 500 Watt or greater power supply with a minimum of 26 Amp on the +12 volt rail - Max Analog: 2048x1536 and Max Digital: 2560x1600 (Dual Link DVI Only) - PCI Express® 2.0 / 1.1 Support - g96 gpu randomly works -
* not working bfg tech ocx,
* works gigabyte gv-n96tsl-512i -
|-
| Geforce gf9500 9500gt (nv5 ) (G9x) (2008)
| 0x10de
| 0x0640
| 0x0a1
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel 480 gearbox 500 Cube Cube2 64 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.2 - case single slot - 350 Watt/400 Watt or greater power supply with a minimum of 18 Amp/22 Amp on the +12 volt rail - Max Analog: 2048x1536 and Max Digital: 2560x1600 (Dual Link DVI Only) - PCI Express® 2.0 / 1.1 Support -
* not working zotac zone fanless, Gainward USA NE29500THHD01-PM8796, PNY G9500GN2E50X+0TE,
* works xfx xne-9500t-td01-pm8596 1024mb ddr2,
|-
| GeForce 9600 GS
| 0x
| 0x0623
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res - will not work with PCI-e 1.0a slots -
* not working
* works
|-
| GeForce 9600 GSO
| 0x
| 0x0610
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res - G92 chopped down - 9600GSO is re-badged 8800GS both very power hungry cards -
|-
| GeForce 9300 GS
| 0x
| 0x06E1
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 opengl 3.x - max res
|-
| Geforce 9400 GT (nv5 ) (G86S) (2008)
| 0x
| 0x
| 0x0
| <!--2D-->{{partial|}}
| <!--3D-->{{unk|}}
| <!--Analogue-->{{unk|1x DVI, 1x VGA, 1x S-Video}}
| <!--Digital-->{{unk|1x DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 50W opengl 3.x - max res
|-
| Geforce 9xxx (nv5 ) (G9x) (2008)
| 0x
| 0x
| 0x0
| <!--2D-->{{unk|}}
| <!--3D-->{{unk|}}
| <!--Analogue-->{{unk|}}
| <!--Digital-->{{unk|}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 opengl 3.x - max res
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce GTX 280 (NV50 family)
| <!--Vendor ID-->
| <!--Product ID-->0x05E1
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> opengl 3.x - max res PureVideo HD 4 (Nvidia Feature Set C or "VDPAU Feature Set C), VP4 added hardware to offload MPEG-4 Advanced Simple Profile (original DivX and Xvid)
|-
| <!--Description-->GeForce GTX 260
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x05E2
| <!--Revision-->
| <!--2D-->{{partial|Vesa}}
| <!--3D-->{{no| }}
| <!--Analogue-->{{unk| }}
| <!--Digital-->{{unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> 2 6pin - psu pci express 2.1 -
|-
| Geforce GTS250 250GTS (g92b) (2009)
| 0x10de
| 0x0615
| 0x0a2
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 486 gearbox 508-642 Cube Cube2 80 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes| DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> 2x6pin psu VP2 - pci-e 2.x - case dual slots - 738m 1gb ddr3 -
* not working Zotac branded version GDDR3 -
* works PNY gs-250x-zdfl and Gigabyte ??, BFG Tech RGTS2501024OCE, palit ne3ts250fhd52-pm8a92 with 2x6pin on top and hdmi output port,
|-
| <!--Description-->GeForce GT 240 (GT215 family)
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0ca3
| <!--Revision-->0xa2
| <!--2D-->{{Maybe|use VESA}}
| <!--3D-->{{No|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->late 2009 openGl 3.2 - case dual slots - no 6pin psu required with VP4 - linux nouveau support added 2015 - All are pcie 2.1 cards and may not work in 1.0a slots -
* not working
* DDR3 with 512MB or 1GB -
* DDR5 -Asus ENGT240 - XFX Pine GT240XYHFC 0x3001 - Gigabyte GV-N240D5-512I rev 1.0 - Zotac AMP! with HDMI 1.3a with DisplayPort 1.1, Dual Link DVI -
* works
|-
| <!--Description-->GT220 (GT216) G220
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0a20
| <!--Revision-->0xa2
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes}}
| <!--Analogue-->{{Yes}}
| <!--Digital-->{{Yes|DVI }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> Icaros 2.0.3 GeForce GT220 1GB[[File:GT220 aros heads.png|thumb|GT220]][[File:GT220 aros tails.png|thumb|GT220]]
* untested NVIDIA Quadro® 400 512MB DDR3 GT216 DP DVI, AFox AF220 1Gb DDR3,
|-
| Geforce GT220 220GT G94 Tesla (g92b)
| 0x10de
| 0x0a20
| 0xa2
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Yes| tunnel 490 gearbox 505 cube 150 cube2 50 Quake3 }}
| <!--Analogue-->{{Unk|1x DVI, 1x VGA}}
| <!--Digital-->{{Yes|DVI but not 1x HDMI }}
| <!--Laptop LCD-->{{N/A}}
| 58W pci express 2.0 cards DDR3 - case single slot -
* not working ASUS ENGT220/DI/1GD2(LP)/V2 -
* works - gainward card expert 0x0401 GDDr3 512MB -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GT210 GT 210 210GT G210 based on Tesla 2.0 GT218S GT218-300-A2 variant, GT218-300-B1
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0a65
| <!--Revision-->0xa2
| <!--2D-->{{Yes|6.11 Pixel Text}}
| <!--3D-->{{Yes| }}
| <!--Analogue-->{{Unk|1x DVI, 1x VGA}}
| <!--Digital-->{{Maybe|DVI out works but not hdmi or 1x DisplayPort}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 31W OpenGL 3.3 pci-e 2.0 cards - single slot -
* working GT218 based Asus EN210 based silent low profile large passively cooled -
* untested MSI GeForce 210 1GB DDR3 PCIe N210-MD1GD3H/LP,
* not working
|-
| <!--Description-->Quadro NVS 295 (256 MB GDDR3), NVS 450 (256M/512 MB DDR3)
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x
| <!--Revision-->
| <!--2D-->{{yes| }}
| <!--3D-->{{unk| }}
| <!--Analogue-->
| <!--Digital-->{{partial|2 or 4 dp ports}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 25w low performance - G98s with 8 shading units, 4 texture mapping units, and 4 ROPs on PCI-Express 1.0 x16 -
*not working some NVIDIA Quadro NVS 295 2 dp ports (DELL, HP),
*working
|-
| <!--Description-->GT310 Tesla 310, 315, GT 320, GT 330 GT 340
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{Maybe|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2010 50w OpenGL 3.3 openCL all similar in performance to GT2xx except gt31x (poor)
|-
| <!--Description-->Quadro NVS310 NVIDIA NVS 310
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital--> 2 dp
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2012 25w GF119S (GF119-825-A1) 48 shading units, 8 texture mapping units, and 4 ROPs on PCI-Express 2.0 x16 - 512 MB DDR3 - PureVideo VP5 VDPAU Feature Set D -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description--> GTX 470, GTX 480 GF10 GF10* core (NVC0 family)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{Maybe| tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2010 215w 2x6 plugs - NVC0 GF100 (GF100-275-A3) Fermi 448 shading units, 56 texture mapping units, and 40 ROPs with 1,280 MB GDDR5 - OpenGL4.5 OpenCL1.1 Tessellation - case dual slots -
|-
| Geforce GTX460 460GTX (G104) 256bit, 1GB v2 192bit and GTX 465
| 0x10de
| 0x0e22
| 0xa1
| <!--2D-->{{Maybe|VESA }}
| <!--3D-->{{Maybe| tunnel gearbox cube 055-111 cube2 50}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> Hardware OpenGL 4.x - 2x6pin psu - case dual slots -
* not working evga 768MB GDDR5 192bit 01G-P3-1373-ER or 01G-P3-1372-TR
* works 1GB GDDR5 256bit 01G-P3-1371-ER
|-
| <!--Description-->Geforce GTX 460SE 192bit
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x0e23
| <!--Revision-->0x91 or 0xa1
| <!--2D-->{{Yes| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->{{Yes| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> nouveau 6.11 - 2 6pin psu needed - case dual slots -
* not working
* works EVGA 01g-p3-1366-b6 et 1024MB p1041 -
|-
| Geforce GT450 GTS450 450GTS GF106
| 0x10de
| 0x0dc4
| 0x0a1
| <!--2D-->{{Yes| Doom Doom2 Duke }}
| <!--3D-->{{Maybe| tunnel gearbox cube cube2 50 Quake3 }}
| <!--Analogue-->
| <!--Digital-->{{Yes|DVI }}
| <!--Laptop LCD-->{{N/A}}
| 2010 Hardware OpenGL 4.2 but nouveau at 3.3 - most need 1x 6pin psu - case dual slots -
* not working
* DDR3 1 or 2GB - Palit NEAS450NHD41F,
* GDDR5 512Mb or 1GB - MSI MPN N450GTSM2D1GD5OC, Asus MPN ENGTS450DI1GD5,
* works Gainward Card Expert NE5S4500FHd51,
|-
| <!--Description-->GT 440 GF108 chipset or better OEM GF106
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 6.11 Pixel Text}}
| <!--3D-->{{Maybe| tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGl 4.1 opencl 1.x - no 6 pin psu - 96 cuda cores 128bit - case dual slots -
* not working
* OEM
* GDDR5 512MB to 1GB ASUSTeK ENGT440/DI/1GD5
* GDDR3 Asus 1gb to 2gb,
* works
|-
| <!--Description-->GT430 430GT (GF108)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|6.11 Pixel Text}}
| <!--3D-->{{Maybe|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->ddr3 memory 64bit or 128bit - buggy await new revision of driver
* not working
* works
|-
| <!--Description-->nVidia Quadro FX1800 768MB GDDR3 Full Height Graphics Card Workstation
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 6.11 Pixel Text}}
| <!--3D-->{{no|6.11 tunnel gearbox}}
| <!--Analogue-->
| <!--Digital-->{{Maybe|DVI-I 2xDP}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->59W 768 MB GDDR3 memory using a 192-bit memory interface - OpenGL 3.3 -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GTX 590 Fermi
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->OpenGL4.4 OpenCL 1.1 - GDDR5 - 6pin and 8pin psu connectors - 512 cuda - case dual slots -
* not working
* works
|-
| <!--Description-->GTX 580,
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->PureVideo HD 5" or "VP5" (Nvidia Feature Set D or VDPAU Feature Set D) 4k UHD 3840 × 2160 H.264 decode -
|-
| <!--Description-->GTX 570,
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{Maybe|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working Zotac GTX 570, Gainward GTX560TI/570 Phantom,
* works gigabyte, evga
|-
| <!--Description-->Geforce 5xx 560gtx Fermi GTX 560,
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->opengl 4.x - 2 6pin psu - 384 cuda cores - case dual slots - will not work with PCI-e 1.0a slots -
* not working Asus ENGTX560 DC/2DI/1GD5,
* Ti LE 448 cuda GDDR5 320bit
* Ti 256bit
* works
|-
| <!--Description-->GTX 560 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* not working evga GTX 560Ti 01GP31560KR - Gainward GTX560TI/570 Phantom,
* works
|-
| <!--Description-->GTX 550 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->0x1201
| <!--Revision-->
| <!--2D-->{{Maybe|VESA Doom Doom2 Duke }}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->can hang on boot up on I2C Init or suffer random lockups on OpenGL apps - most need 1 6pin min 400W 24A on the +12V1 / +12V2 dual 12V rails of the computers' power supply unit - 192 cuda cores - case dual slots used - will not work with PCI-e 1.0a slots -
* not working eVGA GeForce GTX 550 Ti (1024 MB) (01GP31556KR) -
* untested asus Extreme, eVGA GeForce GTX 550 Ti (1024 MB) (01GP31557KR) - -
* works
|-
| <!--Description-->GT 545 and OEM GF116
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 4.2 opencl 1.x - GDDR5 with OEM only -
|-
| <!--Description-->GT530 OEM
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 6.11 Pixel Text}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->96 cuda cores - 1GB or 2GB DDR3 128bit
|-
| <!--Description-->GT520 520GT
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->untested 48 cuda cores - DDR3 64bit
|-
| <!--Description-->510, GT 530
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D 6.11 Pixel Text}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> ddr 3 - 50w max -
|-
| <!--Description-->GT610 Fermi GF119
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No|6.11 }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->NVS 315 300 GF119S
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{No|VESA}} needs special dms-59 cable
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 fermi 315 PNY VCNVS315-T 1Gb DDR3 but needs special dms-59 cable -
|-
| <!--Description-->GT630 GF108 Fermi
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->not accelerated 2015 - like the GT730 below - 96 cuda cores whilst kepler version has 384 - 128bit to keplers' 64bit bandwidth - kepler has 2GB DDR3
* not working Gigabyte
* DDR3
* GDDR5
* works
|-
| <!--Description-->Geforce GT 730
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe| use VESA 6.11 Pixel Text}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> fermi version has 96 cuda cores 128bit GF108
* not working Asus
* works
|-
| <!--Description-->nVIDIA Quadro 4000
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}} 2 dp ports
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->142W 2Gb GDDR5 - PCI Express 2.0 x16 ; full Height card with 1x 6-Pin PCIe power need - CUDA Cores 256 - OpenGL 4.5
|-
| <!--Description-->nVIDIA Quadro 5000
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2011 200W 2.5Gb GDDR5 320 bit - PCI Express 2.0 x16 full Height card with 2x 6-Pin PCIe power need -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce GTX Titan GeForce GTX Titan Black GeForce GTX Titan Z
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NVE0 GeForce 600 GeForce 700 GeForce GTX Titan Kepler
|-
| <!--Description-->GeForce GTX 780 GeForce GTX 780 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->PureVideo HD 6" or "VP6" (Nvidia Feature Set E or VDPAU Feature Set E) significantly improved performance when decoding H.264 and MPEG-2
|-
| <!--Description-->GeForce GTX 770
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->opengl 4.4 opencl 1.1
|-
| <!--Description-->GeForce GTX 760 GeForce GTX 760 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce GT 740
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce GT 730 Kepler
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> two versions fermi 96 cores 128bit GF108 and kepler 384 cores 64bit GK208
|-
| <!--Description-->680gtx GK104 core gtx680 680m
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 690 Kepler NVE0
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->pci-e 3.0, OpenGL 4.4 OpenCL 1.1
|-
| <!--Description-->GTX 670
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 660 GTX 660 Ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 650 GTX 650 Ti GTX 650 Ti Boost
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> most need 1 6pin psu
* not working asus ENGTX560 DC/2DI/1GD5
* works
|-
| <!--Description-->Geforce GT 640
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
* 128bit DDR3
* 192bit DDR3 1.5 to 3GB 50W
* 128bit GDDR5 75W
|-
| <!--Description-->GT 620 GT 640
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{Unk| }}
| <!--Digital-->{{Unk| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NV110 GeForce 750ti, GeForce 900 Maxwell -
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->GM206 2nd gen maxwell PureVideo HD 7" or "VP7" (Nvidia Feature Set F or VDPAU Feature Set F) adds full hardware-decode of H.265 HEVC Version 1 (Main and Main 10 profiles and full fixed function VP9 (video codec) hardware decoding
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Quadro K620 quadro p620 2gb gddr5 128bit and quadro p1000 4gb gt1030 30w
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 50w slim low profile -
|-
| <!--Description-->GeForce gtx 1060, GeForce 1070
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->NV130 Pascal
|-
| <!--Description-->gtx 1050ti
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->gtx 1650ti super
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2018 old style
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce RTX 2050 2060 2080
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2020 unified gsp-rm firmware - best starting point for Vulkan support
|-
| <!--Description-->GeForce GTX 1660 Turing
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rtx3060 3080 3050
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No| }}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 av1 decoding ampere
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->0x10de
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
|}
==== nouveau mobile integrated ====
If you purchased a notebook with an NVidia sticker on it, most of the time you have a optimus based one, ie Intel CPU+GPU melded with Nvidia GPU, Optimus was slated at one point to go into desktop PCs but the industry ended up rejecting that concept
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|-
| GeForce 6100 nForce 405
| 0x
| 0x03D1 0x0242
| 0x0
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
|
|-
| <!--Description-->GeForce 6100 nForce 400
| <!--Vendor ID-->
| <!--Product ID-->0x03D2
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce 6100 nForce 420
| <!--Vendor ID-->
| <!--Product ID-->0x03D5
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GeForce 6150 LE
| <!--Vendor ID-->
| <!--Product ID-->0x0241
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| GeForce 6150SE nForce 430
| 0x
| 0x03D0
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| working
|-
| <!--Description-->GeForce 6150
| <!--Vendor ID-->
| <!--Product ID-->0x0240
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7150M / nForce 630M
| <!--Vendor ID-->
| <!--Product ID-->0x0531
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7000M / nForce 610M
| <!--Vendor ID-->
| <!--Product ID-->0x0533
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7050 PV / NVIDIA nForce 630a
| <!--Vendor ID-->
| <!--Product ID-->0x053A 0x053B
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Geforce IGP 7025 nForce 630a
| 0x
| 0x053E
| 0x0
| <!--2D-->{{Yes|some}}
| <!--3D-->{{Yes|some}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No| }}
| some support on some chipsets
|-
| GeForce 7100 / nForce 630i (C73)
| 0x10de
| 0x07e1
| 0x0a2
| <!--2D-->{{Maybe}}
| <!--3D-->{{Maybe}}
| <!--Analogue-->{{Maybe}}
| <!--Digital-->{{Maybe}}
| <!--Laptop LCD-->{{N/A}}
| Icaros 2.0.3 and Gigabyte 73-pvm-s2h rev. 1.0 but will not boot on [https://ae.amigalife.org/index.php?topic=806.msg8765#new Acer x270 with Icaros 2.3]
|-
| <!--Description-->GeForce 7150 / NVIDIA nForce 630i
| <!--Vendor ID-->
| <!--Product ID-->0x07E0
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 7050 / NVIDIA nForce 610i
| <!--Vendor ID-->
| <!--Product ID-->0x07E3
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Geforce IGP 8100 (nForce 720a)
| 0x
| 0x084F
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
|
|-
| GeForce 8100P
| 0x
| 0x0847
| 0x0
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
|
|-
| <!--Description-->Geforce 8200 8300 nForce 730a
| <!--Vendor ID-->
| <!--Product ID-->0x084A 0x0848 (GeForce 8300) 0x0849 (GeForce 8200) 0x084B (GeForce 8200)
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->working on some 8300's with Icaros 1.5 but others untested
|-
| <!--Description-->nForce 780a SLI
| <!--Vendor ID-->
| <!--Product ID-->0x084C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->nForce 750a SLI
| <!--Vendor ID-->
| <!--Product ID-->0x084D
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Nvidia Geforce IGP 9300 (nForce MCP7a)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe| }}
| <!--3D-->{{Maybe| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->works
|
|-
| <!--Description-->9400 (ION)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->If AROS detects GPU chipset, works well
|-
| <!--Description-->9700M ()
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| Geforce ION 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Yes| }}
| <!--3D-->{{Yes| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->works well
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce Go 6150
| <!--Vendor ID-->
| <!--Product ID-->0x0244
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6100
| <!--Vendor ID-->
| <!--Product ID-->0x0247
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6200
| <!--Vendor ID-->
| <!--Product ID-->0x0164 0x0167
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6400
| <!--Vendor ID-->
| <!--Product ID-->0x0166 0x0168
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->Sony Laptop
|-
| <!--Description-->GeForce Go 6800
| <!--Vendor ID-->
| <!--Product ID-->0x00C8
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6800 Ultra
| <!--Vendor ID-->
| <!--Product ID-->0x00C9
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600
| <!--Vendor ID-->
| <!--Product ID-->0x0144
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600 TE/6200 TE
| <!--Vendor ID-->
| <!--Product ID-->0x0146
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600
| <!--Vendor ID-->
| <!--Product ID-->0x0148
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 6600 GT
| <!--Vendor ID-->
| <!--Product ID-->0x0149
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7200
| <!--Vendor ID-->
| <!--Product ID-->0x01D6
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7300
| <!--Vendor ID-->
| <!--Product ID-->0x01D7
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->untested
|-
| <!--Description-->GeForce Go 7400
| <!--Vendor ID-->
| <!--Product ID-->0x01D8
| <!--Revision-->
| <!--2D-->
| <!--3D-->works 2D and 3d issues though
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7800
| <!--Vendor ID-->
| <!--Product ID-->0x098
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7800 GTX
| <!--Vendor ID-->
| <!--Product ID-->0x0099
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7950 GTX
| <!--Vendor ID-->
| <!--Product ID-->0x0297
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7900 GS
| <!--Vendor ID-->
| <!--Product ID-->0x0298
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7900 GTX
| <!--Vendor ID-->
| <!--Product ID-->0x0299
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7600
| <!--Vendor ID-->
| <!--Product ID-->0x0398
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce Go 7600 GT
| <!--Vendor ID-->
| <!--Product ID-->0x0399
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 6610 XL
| <!--Vendor ID-->
| <!--Product ID-->0x0145
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 6700 XL
| <!--Vendor ID-->
| <!--Product ID-->0x0147
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GeForce 8700M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0409
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8600M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0425
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8400M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0426
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8400M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0427
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8400M G
| <!--Vendor ID-->
| <!--Product ID-->0x0428
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8800M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x0609
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8800M GTX
| <!--Vendor ID-->
| <!--Product ID-->0x060C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9500M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0405
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 8600M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0407
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9650M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0408
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9400M GT
| <!--Vendor ID-->
| <!--Product ID-->0x042C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9300M G
| <!--Vendor ID-->
| <!--Product ID-->0x042E
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9100M G
| <!--Vendor ID-->
| <!--Product ID-->0x0844
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9800M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x0628
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9700M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x062A
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9800M GTS
| <!--Vendor ID-->
| <!--Product ID-->0x062C
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9600M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0647
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9600M GS
| <!--Vendor ID-->
| <!--Product ID-->0x0648
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9600M GT
| <!--Vendor ID-->
| <!--Product ID-->0x0649
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9500M G
| <!--Vendor ID-->
| <!--Product ID-->0x064B
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9300M GS
| <!--Vendor ID-->
| <!--Product ID-->0x06E5
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9200M GS
| <!--Vendor ID-->
| <!--Product ID-->0x06E8
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->GeForce 9300M GS
| <!--Vendor ID-->
| <!--Product ID-->0x06E8
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GT 605M, GT 610M GT 620M GT 630M GT 635M GT 645M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->GTX 650M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->GTX 1650 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2019 turing architecture - last old skool support pre Vulkan
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rtx 2050 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 ampere architecture best starting point for vulkan support
|-
| <!--Description-->rtx 2060 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Rev
| 2D
| 3D
| Analog Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rtx 4060 mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
|}
====radeon.hidd====
Michel Shultz ''2D'' graphics driver (standard on most distributions but only for very old GPUs) and bearsofts updated 2013 around Icaros 1.3.1
3D is not implemented by AROS yet but could cover these AMD chipsets
<pre>
2014 SI AMD HD 7xxx
2016 GCN3rd AMD R5E R7E
2019 GCN5th AMD Vega 8
2022 RDNA1 AMD RX5500 desktop only
2023 RDNA2 AMD 680M 780M
2024 RDNA3 AMD 880M 890M
2025 RDNA3.5 AMD 8060S strix halo and AI
2027 RDNA4 AMD
</pre>
{| class="wikitable"
! Description
! Vendor ID
! Product ID
! Revision
! 2D
! 3D
! Analogue Output
! Digital Output
! Laptop LCD
! Comments
|-
| 7000 (r100)
| 0x1002
| 0x5159
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->{{Maybe|vga15 pin connection but not s-video}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.3
|-
| 7500 (rv200 but still r100 based)
| 0x1002
| 0x5157
| 0x
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->{{Yes|vga15}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.3
|-
| 8000 8500 (r200)
| 0x1002
| 0x514c (8500LE)
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.4
|-
| 9000 9100 9250 (r200)
| 0x1002
| 0x5964 (9000) 0x514d (9100)
| 0x0001
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->{{Maybe|VGA15 but not s-video}}
| <!--Digital-->{{Yes|DVI}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 1.4
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| 9600 9800 (r300)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1
|-
| x300 x600 (r300)
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1
|-
| x700, x800 ([http://en.wikipedia.org/wiki/Radeon_R600 r420])
| 0x
| 0x554d (R430 x800xl)
| 0x0
| <!--2D-->{{Yes|new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1 - x800 XL PCIE (problem with mouse-pointer, some part of the pointer is not transparent)
|-
| x1300 x1550 x1600 x1800 x1900 x1950 ([http://en.wikipedia.org/wiki/Radeon_R520 r520])
| 0x
| 0x
| 0x0
| <!--2D-->{{Yes|new driver}}
| <!--3D-->{{no}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 2.1
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| HD2400 HD2600 HD2900 ([http://en.wikipedia.org/wiki/Radeon_R600 r600])
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|some features with new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 3.3 open CL 1.2 TeraScale architecture
|-
| HD3400 HD3600 HD3800 (r600)
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|some features with new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->pci-e 2.0, openGL 3.3
|-
| HD4300 HD4500 HD4600 HD4700 HD4800 ([http://en.wikipedia.org/wiki/Radeon_R600 r700])
| 0x1002
| 0x
| 0x0
| <!--2D-->{{Maybe|but some later cards need 3D engine for faster and more flexible 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 3.3 - DDR3 - GDDR5 was one of AMD's aces for the 4800 series - 4670 liked -
|-
| HD6900 cayman series
| 0x
| 0x
| 0x0
| <!--2D-->{{Maybe|some features with new driver}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> openGL 3.3 open CL not mature (2014) -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| HD5400 Series HD5430 HD5450 HD5470
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2010 openGL 3.3 openCL - GDDR3 -
|-
| HD5500 Series HD5550 HD5570 HD5600 Series HD5650 HD5670 HD5700 Series HD5750 HD5770
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 3.3 openCL - GDDR5
|-
| HD 5800 Series HD5850 HD5870 HD5900 Series HD5950 HD5970 - HD6xxx not NI chipset ([http://en.wikipedia.org/wiki/Evergreen_(GPU_family) r800 evergreen])
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2009 openGL 3.3 openCL - DDR5 pci-e 2.1 best avoided for all pci-e 1.0 mobos - Ati TeraScale2 architecture -
|-
| HD6450 [http://en.wikipedia.org/wiki/Northern_Islands_(GPU_family) Northern Islands chipset]
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments--> - DDR3 -
|-
| HD6600 Series HD6650 HD6570 HD6600 Series HD6650 HD6670
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2011 - DDR5 -
Radeon HD 8470 11 TeraScale 2
Radeon HD 8350 11 TeraScale 2
Radeon HD 7510 11 TeraScale 2
Radeon HD 6550D 11 TeraScale 2
Radeon HD 6530D 11 TeraScale 2
Radeon HD 6410D 11 TeraScale 2
Radeon HD 6370D 11 TeraScale 2
Radeon HD 6320 11 TeraScale 2
Radeon HD 6310 11 TeraScale 2
Radeon HD 6290 11 TeraScale 2
Radeon HD 6250 11 TeraScale 2
|-
| HD6800 Series HD6850 HD6870 HD6700 Series HD6790 to HD6990
| 0x
| 0x
| 0x0
| <!--2D-->{{No|needs 3D engine for accelerated 2D now}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2011 - DDR5 - AMD TeraScale3 -
|-
| <!--Description-->HD7450-HD7670
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2012 OpenGL but not Vulkan
Radeon HD 7660D 11 TeraScale 3
Radeon HD 7560D 11 TeraScale 3
Radeon HD 7540D 11 TeraScale 3
Radeon HD 7480D 11 TeraScale 3
Radeon HD 6930 11 TeraScale 3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->HD7750 HD 7770 / R7 250X HD7850 HD7870 / R9 270X HD 7950 / R9 280 HD 7970 / R9 280X [http://en.wikipedia.org/wiki/Southern_Islands_(GPU_family) Southern Islands]
*AMD Radeon R7 250XE Cape Verde XT
*AMD Radeon R7 M465X Cape Verde
*AMD Radeon R9 255 Cape Verde PRX
*AMD Radeon HD 7750 Cape Verde PRO
*AMD Radeon R7 250E Cape Verde PRO
*AMD Radeon HD 8740 Cape Verde PRO
*AMD Radeon HD 7730 Cape Verde LE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2012 pci-e 3.0 1st Gen GCN architecture -
|-
| <!--Description-->R5 430, FirePro W2100,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2015 50W+ openGL openCL 1/3 speed of gtx750ti 1st gen gcn1
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->HD7790 [ Sea Islands ]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 openGL 4.1 open CL - GCN2.0 Vulkan 1.0 introduced a Shader Engine (SE) comprising one geometry processor, up to 44 CUs (Hawaii chip), rasterizers, ROPs, and L1 cache and Graphics Command Processor for faster audio/video - suits Vulkan 1.1
|-
| <!--Description-->r5 240 240x (slow) R7 250 250x (faster) HD 7790 / R7 260 260X / R7 360 to R5 350 (fast) and last one R5 430 OEM Plus (slow again)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 50W+ openGL 4.x openCL 1.x Vulkan 1.0 GCN 1st gen -
|-
| <!--Description-->R9 290 / R9 390 R9 290X / R9 390X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2014 openGL 4.x openCL 1.x 2nd Gen GCN Vulkan 1.1 architecture -
|-
| <!--Description-->R9 Fury Nano
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2015
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->r-200 series r8 275 285 295 375 [Volcanic Islands]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->openGL 4.x openCL 1.x - GCN3 Vulkan 1.2
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Radeon™ RX 5700/5600/5500 Series and Radeon™ RX Vega Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 GCN 4 - OpenGL 4, Vulkan 1.3 -
|-
| <!--Description-->Radeon™ RX 400/500 Series like rx 580
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->Radeon™ Pro WX 9100, x200 Series and Radeon™ Pro W5700/W5500 Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Radeon™ RX 7900/7600 Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->Radeon™ RX 6900/6800/6700/6600/6500 Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|}
==== amd radeon mobile integrated ====
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|-
| <!--Description-->ATI RC410 [Radeon Xpress 200M]
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x5a62 0x5955 0x5974 (200m)
| <!--Revision-->0x00
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->
|-
| <!--Description-->Mobility Radeon 7500
| <!--Vendor ID-->0x1002
| <!--Product ID-->0x4c57 (7500)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->
|-
| <!--Description-->Mobility Radeon 9000
| 0x1002
| 0x4966 (9000)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->
|-
| <!--Description-->Mobility Radeon 9500 9550 (rv360) 9600 (rv350)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon 9800 (rv420)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon X300 (RV370) X600 (RV380)
| 0x1002
| 0x (RV370) 0x5657 (RV380)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon X700 (RV410) X800 (RV423)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon X1200 (RS69M0)
| 0x1002
| 0x791f
| 0x0
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->X1200 IGP (RS690)
|-
| <!--Description-->Mobility Radeon X1300 X1350 X1400(rv515) X1600 (rv530) X1650 (RV535) X1800 (rv520) x1900 (rv570)
| 0x1002
| 0x71c7 (X1650)
| 0x009e
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon 2100
| 0x1002
| 0x796e (2100)
| 0x0
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{No|}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 2400 (rv610) HD2600 (rv630)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 3100 HD3200 HD3450 3470 (RS780MC RV620) 3670 (M86-XT RV635) HD3870 (M88-LXT RV670)
| 0x1002
| 0x9610 and 0x9612 (HD3200) 0x9614 (HD3300)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 4200 4250 (RV620)
| 0x1002
| 0x (HD4200) 0x9715 (HD4250)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 4330 4530 4550 (M92 RV710) 4650 (M96-XT RV730) 4670 RV730XT 4830 (M97 RV740) 4850 (M98 RV770)
| 0x1002
| 0x (HD4350) 0x9442 (RV770) 0x9490 (HD4670)
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->untested
|-
| <!--Description-->Mobility Radeon HD 530v (M92 RV710) HD 550v (M96 RV730)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->no support yet
|-
| <!--Description-->Mobility Radeon HD 5430 HD5650 (cedar Park LP)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->no support yet
|-
| <!--Description-->Radeon HD 6250 6290 6310 6320 6350M (Redwood Capilano PRO)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No}}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{No}}
| <!--Comments-->no support yet
|-
| <!--Description-->AMD 7640G, 8450G, 8550G, 8650G Northern Islands
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2013 Last real support for old graphics standard before Vulkan takeover
|-
| <!--Description-->R5 M230 M240 M255 - R7 M260 M265 (Kaveri Crystal series with Mantle and HSA)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->2015 Maybe better with Vulkan
|-
| <!--Description-->R5E R7E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->2016 bristol ridge GCN 3.0 IGP (Carrizo Mobile)
|-
| <!--Description-->AMD Vega 3, 6, 8, 11 iGP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA 2D}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2018 raven ridge GCN 5th Gen
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->5500m 5600m 5800m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA1 NaviX1 Zen 2
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rx680m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA2 NaviX2 Zen 3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->phoenix apu 1103
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 RDNA3 NaviX3 zen 4
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
==== AMDGPU Vulkan desktop ====
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->Kaveri 290 290X, 260 260X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2015 AMDGPU Vulkan
|-
| <!--Description-->R9 285 / R9 380 R9 380X Fury / Fury X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->opengl 4 opencl 1 3rd Gen GCN architecture
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX470 RX460 RX480 RX580 polaris10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3
|-
| <!--Description-->RX460 RX560D polaris11
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3
|-
| <!--Description-->RX580 polaris20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX 5000 5500 Navi 1x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RNDA 1
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX 6000 Navi 2x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RNDA 2 Mesa 21.3 decode av1
|-
| <!--Description-->RX6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->RX 7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2022 RNDA 3 navi
|-
| <!--Description-->RX7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->{{No| }}
| <!--Digital-->{{No|nothing}}
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->RX9070 rx 9060 XT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2025 rdna4 navi
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2026 udna (aka rdna5)
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
|}
==== AMDGPU Vulkan mobile ====
{| class="wikitable sortable" width="90%"
! width="5%" | Description
! width="5%" | Vendor ID
! width="5%" | Product ID
! width="2%" | Rev
! width="5%" | 2D
! width="5%" | 3D
! width="5%" | Analog Output
! width="5%" | Digital Output
! width="5%" | Laptop LCD
! width=40%" | Comments
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->R5E R7E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->2016 bristol ridge GCN 3.0 IGP (Carrizo Mobile)
|-
| <!--Description-->Vega iGP 3, 6, 8, 11
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->2018 raven ridge - Graphics Core Next (GCN) 5th gen -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->5500m 5600m 5800m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA1 NaviX1 Zen 2
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->rx680m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA2 NaviX2 Zen 3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->phoenix apu 1103
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->{{Maybe|VESA}}
| <!--3D-->{{No| }}
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->RDNA3 NaviX3 zen 4
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->{{N/A}}
| <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| 2D
| 3D
| Analogue Output
| Digital Output
| Laptop LCD
| Comments
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--2D-->
| <!--3D-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
fyi if a notebooks with two graphic cards, the integrated Intel card (id 0x7d) for low power usage and a discrete Radeon card (id 0x56) which should be used for GPU-intensive applications. By default the Intel card is always used
[https://wiki.archlinux.org/title/ATI Gallium Radeon HD] is not ported yet but is [https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.9-AMDGPU-Stats really big] and complex so another solution may have to be [https://discuss.haiku-os.org/t/the-graphics-acceleration-can-of-worms/10515/5 found] like [https://discuss.haiku-os.org/t/vulkan-lavapipe-software-rendering-is-working-on-haiku/11363/10 vulkan] where support starts from very recent ISA GCN islands HD7000s cards only
*Vulkan
*Gallium
Vulkan software renderer allows to prepares the infrastructure for hardware rendering. Primary difference between software and hardware renderer is output to regular RAM vs GPU RAM, the rest is almost the same. It is possible to render to GPU RAM offscreen.
bare bones basics data flow
application,>>> api/opengl/vulkan>>>>, jit compiler, >>>>memory manger, >>>>gpu hardware
so you need to have a compiler that takes your api call/program/shaders/drawing commands and turns them into a program the gpu can render.
the vulkan to amd gpu compiler for shaders and textures is nearly os agnostic iirc as long as you have solid posix compliance
Unlike OpenGL, Vulkan does not depend on windowing system and it have driver add-on system with standardized API (Mesa also have OpenGL driver add-ons, but it have non-standard Mesa-specific API). OpenGL may need more work for windowing system related code at this point but developing Vulkan on real hardware is more strategic than developing OpenGL, since now Zink 3 running on Vulkan compensates for the lack of OpenGL support by giving performance similar to native accelerated OpenGL
RadeonGfx use client-server model with client-server thread pairs. For each client thread that calls 3D acceleration API, server side thread is created. If client thread terminates, server side thread also exit.
<pre>
GeForce RTX 5090 5070 5060 5050
GeForce RTX 4090 4070 4060 4050
GeForce RTX 2070
Radeon RX 7600
Quadro RTX 5000
Radeon PRO W6600
GeForce RTX 2060 12GB
Radeon PRO W7500
Quadro GP100
Radeon RX 6800S
GeForce RTX 3070 Laptop GPU
GeForce GTX 1080
GeForce RTX 3060 8GB
Quadro RTX 4000
Radeon Pro W5700
Radeon RX 6600
GeForce RTX 2080 (Mobile)
Radeon RX 7700S
Radeon RX 6700S
Radeon RX 6600S
Quadro RTX 5000 (Mobile)
GeForce GTX 1070 Ti
GeForce RTX 4050 Laptop GPU
Radeon Pro Vega 64X
Radeon RX 5700
Radeon RX Vega 64
GeForce RTX 2060
GeForce RTX 2070 Super with Max-Q Design
Radeon RX 6600M
GeForce GTX 1070
Radeon RX 6650M
GeForce RTX 3060 Laptop GPU
Radeon RX Vega 56
Radeon RX 6700M
GeForce RTX 2080 with Max-Q Design
Radeon RX 6800M
GeForce GTX 980 Ti
Radeon R9 Fury
GeForce GTX 980
Quadro M5500
Radeon R9 390X
Radeon RX 580
Radeon RX 5500
Radeon RX 6550M
GeForce GTX 1660 Ti with Max-Q Design
GeForce GTX 780 Ti
GeForce GTX 970
Radeon R9 290X
Radeon RX 480
Radeon RX 5600M
Quadro RTX 3000 with Max-Q Design
Radeon R9 290X / 390X
Ryzen 5 4600HS with Radeon Graphics
Radeon R9 290
Radeon Pro 5500 XT
Radeon R9 M490 *
GeForce GTX 780
Radeon RX 6500M
Quadro M5500
GeForce GTX 1060 with Max-Q Design
Radeon RX 6500
Radeon RX 5300
Intel Arc A770M
GeForce GTX 1650 Ti
Radeon Pro 580X
Radeon RX 6400
GeForce RTX 2050
Ryzen 9 4900HS with Radeon Graphics
Radeon Ryzen 9 6900HS
GeForce GTX 980M
Quadro M5000M
Radeon RX 6300
GeForce GTX 1650 Ti with Max-Q Design
Radeon Pro 570
Ryzen 9 6900HS with Radeon Graphics
GeForce GTX 1050 Ti
Quadro M4000M
Radeon R9 280X 380X
GeForce GTX 1650 with Max-Q Design
GeForce MX570
Radeon R9 280X
Radeon R9 380
Radeon 780M
GeForce GTX 960
GeForce GTX 970M
Quadro M4000M *
GeForce GTX 680
Radeon RX 6500M
Quadro M5500
Radeon Pro WX 7100
GeForce GTX 1060 with Max-Q Design
GeForce GTX 1650
Intel Arc A730M
Radeon HD 7970
Radeon R9 M395X
Radeon R9 M485X
Radeon R9 M480 *
Radeon R9 M295X
Radeon R9 M390X *
FirePro W7170M *
Radeon R9 M395
Radeon R7 370
Radeon RX 5500M
GeForce GTX 590
GeForce GTX 880M
GeForce GTX 950
Radeon R9 270X
GeForce GTX 660 Ti
GeForce GTX 760
GeForce GTX 780M
Quadro K5100M
GeForce GTX 680MX
Radeon HD 7870
GeForce GTX 965M
Quadro M3000M *
GeForce GTX 870M
Radeon R9 M290X
Radeon HD 8970M
Radeon Ryzen 7 7735U (680M), Radeon Ryzen 7 7735HS (680M 12C)
GeForce GTX 580
Radeon HD 6970
GeForce GTX 1050
GeForce GTX 680M
GeForce GTX 775M
GeForce GTX 1630
FirePro M6100
Radeon HD 7970M
Radeon R9 M390 *
GeForce GTX 750 Ti
GeForce GTX 570
GeForce GTX 480
GeForce GTX 960M
Quadro M2000M *
Quadro K5000M
Quadro K4100M
GeForce GTX 770M
GeForce GTX 860M
GeForce GTX 675MX
GeForce GTX 950M
GeForce GTX 850M
Quadro M1000M
Radeon R9 M280X
Radeon HD 7950M *
GeForce GTX 560 Ti
Radeon HD 6870
GeForce GTX 470
GeForce GT 1030
GeForce MX330
Ryzen 5 PRO 5650GE with Radeon Graphics
Ryzen 7 5800HS
FirePro 3D V8800
GeForce MX250
Radeon Pro WX 3200
Ryzen 7 PRO 5750G with Radeon Graphics
Radeon Ryzen 5 5600H
Ryzen 5 Pro 4650G with Radeon Graphics
Radeon Ryzen 7 5800U
Ryzen 7 7730U with Radeon Graphics
Radeon Ryzen 7 5825U
Radeon Pro WX 4150
Radeon Ryzen 5 PRO 4655G
Ryzen 5 4600G with Radeon Graphics
Radeon Ryzen 5 PRO 4655GE
GeForce GTX 485M
FirePro W6150M
Ryzen 7 5800U with Radeon Graphics
Ryzen 5 7530U with Radeon Graphics
Ryzen 7 4800U with Radeon Graphics
Radeon R9 M470
Ryzen 3 PRO 5350G with Radeon Graphics
Radeon RX Vega Ryzen 3 5300U
Ryzen 7 5825U with Radeon Graphics
Ryzen 5 PRO 4400G with Radeon Graphics
Radeon Ryzen 7 PRO 4750GE
Radeon Ryzen 7 4800U
FirePro V7900
Radeon HD 5970
Radeon Ryzen 7 7700X 8-Core
Radeon Ryzen 5 PRO 5650G
Radeon Ryzen 5 4400G
Radeon Ryzen 5 PRO 5650GE
Radeon RX 550X
FirePro V8800
Radeon RX Vega Ryzen 5 5500U
GeForce MX150
Quadro K3100M
Ryzen 7 PRO 5850U with Radeon Graphics
Radeon HD 6970M
Radeon R7 250X
Intel HD 5600
Ryzen 3 4300GE with Radeon Graphics
GeForce GTX 460
Ryzen 7 5700U with Radeon Graphics
Radeon Ryzen 5 7530U
Quadro K620
Ryzen 3 PRO 5350GE with Radeon Graphics
Intel Iris Pro P580
Intel UHD Graphics P630
Ryzen 5 4600H with Radeon Graphics
Ryzen 5 PRO 7530U with Radeon Graphics
Radeon HD 5870
Radeon HD 6870
Ryzen 7 4700G with Radeon Graphics
Ryzen 5 5600U with Radeon Graphics
Radeon HD 7770
Ryzen 3 Pro 4350G with Radeon Graphics
Radeon Ryzen 5 5625U
GeForce GTX 745
Radeon Ryzen 7 4850U Mobile
Radeon Ryzen 3 PRO 7330U
Quadro M600M
Radeon Ryzen 5 5500U
Ryzen 5 5560U with Radeon Graphics
Ryzen 7 4800H with Radeon Graphics
GeForce 945M
Ryzen 5 PRO 4650GE with Radeon Graphics
FirePro M5100
Radeon Ryzen 5 5600U
Radeon Ryzen 5 PRO 4500U
GeForce GTX 580M
Ryzen 7 PRO 5875U with Radeon Graphics
Ryzen 3 5300GE with Radeon Graphics
Radeon R9 M385
Quadro 5000M
Radeon Ryzen 7 4700U
Ryzen 5 PRO 5650U with Radeon Graphics
Radeon Ryzen 7 PRO 4750U
Ryzen 7 4700U with Radeon Graphics
Ryzen 7 PRO 4750U with Radeon Graphics
FirePro V7800
Radeon R9 350
Ryzen 3 4300G with Radeon Graphics
Radeon Vega 11 Ryzen 5 PRO 3350G
Radeon Ryzen 5 5560U
GeForce GTX 460 SE
Radeon Pro W5500M
Radeon Vega 11 Ryzen 5 PRO 3400G
Ryzen 5 5500U with Radeon Graphics
Ryzen 5 PRO 4500U with Radeon Graphics
GeForce GT 645
GeForce GTX 765M
Radeon R9 M385X
Ryzen 5 5625U with Radeon Graphics
Ryzen 3 PRO 7330U with Radeon Graphics
Radeon HD 5850
Radeon Vega 11 Ryzen 5 PRO 2400G
Intel Iris Pro 580
Radeon HD 6850
Intel Iris Xe MAX
Radeon Ryzen 7 PRO 5875U
Radeon Ryzen 5 7600 6-Core
GeForce GTX 470M
Ryzen 3 5300G with Radeon Graphics
GeForce GTX 670MX
Radeon RX 640
Qualcomm Adreno Gen 3
Radeon R7 450
GeForce GTX 675M
Radeon Pro WX 4130
Intel Iris Xe MAX 100
Quadro 5000
Radeon RX 570X
Radeon HD 7700-serie
Ryzen 5 4600U with Radeon Graphics
Ryzen 3 PRO 4350GE with Radeon Graphics
Radeon Vega 8
GeForce MX230
GeForce GTX 765M
Quadro K4000M
Iris Pro Graphics P580 *
Iris Pro Graphics 580 *
GeForce GTX 645
Quadro M520
GeForce GTX 570M
GeForce MX130
Radeon RX 540
Radeon Ryzen 5 PRO 5675U
Intel UHD Graphics 770
Radeon RX Vega 11 Ryzen 7 3750H
Radeon Vega 11 Ryzen 5 PRO 3400GE
Radeon HD 5850
GeForce GTX 675M
GeForce GTX 580M
Radeon HD 6990M
Radeon R9 M385X *
Radeon R9 M470X *
Radeon R9 M470 *
Radeon R9 M385 *
Radeon R9 M380 *
Radeon R9 M370X
Radeon R9 M275
Radeon HD 7770
GeForce GTX 485M
GeForce GTX 460 768MB
Radeon HD 6790
GeForce GTX 285M SLI
Quadro K3100M
FirePro W5170M *
GeForce GTX 670MX
Quadro 5010M
GeForce GTX 760M
GeForce GTX 670M
GeForce 940MX *
Maxwell GPU (940M, GDDR5)
FirePro M8900
Radeon HD 6970M
Radeon R9 M270
Radeon HD 8870M
Radeon HD 7870M
Quadro K3000M
GeForce GTX 570M
FirePro M6000
FirePro M5100
Quadro K2100M
Radeon HD 5770
GeForce GTX 550 Ti
GeForce GTX 280M SLI
Radeon HD 6950M
Radeon R7 250
GeForce GT 755M
GeForce GTX 660M
GeForce 845M
Radeon HD 8850M
Radeon R9 M365X
Radeon R9 M265X
Ryzen 5 PRO 4400GE with Radeon Graphics
FirePro W5130M *
Radeon Vega 8 Ryzen 5 3500U
Radeon Vega 6 Ryzen 3 3300U
Radeon HD 7850M
Radeon HD 8790M
FirePro W4170M
FirePro W4190M
FirePro W4100
Quadro 4000M
GeForce GTX 470M
GeForce GTX 480M
GeForce GT 750M
Iris Pro Graphics 6200
Quadro K1100M
GeForce 940M
Radeon R9 M375
GeForce 930MX *
Radeon R7 M380 *
Radeon R7 M370
Quadro M600M *
GeForce GT 650M
Quadro K620M
GeForce 840M
Radeon R7 M275DX
GeForce GT 745M
Radeon HD 7770M
GeForce GTX 560M
Radeon R7 512 Cores (Kaveri Desktop)
Radeon R7 384 Cores (Kaveri Desktop)
Radeon R7 (Carrizo) *
Iris Pro Graphics 5200
GeForce GT 740M
GeForce 930M
Radeon HD 4850
Iris Graphics 550 *
GeForce 830M
Iris Graphics 540
Quadro M500M *
Quadro K2000M
GeForce GTS 450
GeForce GTX 260M SLI
GeForce GT 735M
Mobility Radeon HD 5870
GeForce 825M
Quadro 5000M
FirePro M4000
FirePro M7820
Radeon HD 6870M
GeForce 9800M GTX SLI
Radeon HD 8830M *
Radeon HD 8770M
Radeon R7 M260X
GeForce GTX 460M
GeForce 920MX *
GeForce GT 730M
Radeon HD 7750M
GeForce GT 645M *
FirePro M4100
Radeon HD 8750M
Radeon R6 A10-9600P 4C+6G
Quadro 3000M
Radeon R7 M270
Radeon R7 M265
Quadro FX 3800M
GeForce GTX 285M
Mobility Radeon HD 4870
GeForce GT 640M
Radeon R7 (Kaveri)
Radeon R8 M365DX
Radeon R7 M460 *
Radeon HD 7730M
Radeon R7 M360
GeForce GTX 280M
Radeon HD 8690M
Quadro FX 3700M
Radeon R7 M340
GeForce 920M
Radeon R6 M340DX
HD Graphics 530
HD Graphics P530
Tegra X1 Maxwell GPU
Radeon R7 M260
Radeon R6 (Carrizo)
Mobility Radeon HD 4860
FirePro M7740
Mobility Radeon HD 4850
GeForce GTX 260M
GeForce 9800M GTX
Quadro FX 2800M
Radeon HD 8670D
Radeon HD 7690M XT
FirePro M5950
GeForce GT 640M LE
Radeon R6 (Kaveri)
Radeon HD 8650M *
Radeon HD 8730M
Radeon HD 6770M
GeForce GT 635M
GeForce GT 555M
Radeon R7 A10 PRO-7800B
Radeon HD 5670
Mobility Radeon HD 5850
Radeon HD 6850M
Quadro 2000M
GeForce 9800M GT
GeForce 8800M GTX
Quadro FX 3600M
GeForce GT 445M
GeForce GTS 360M
GeForce GT 240
Radeon R7 PRO A10-9700
Radeon HD 7690M
HD Graphics 5600
Radeon HD 8570D
Radeon HD 8670M
Radeon R6 M255DX
Radeon HD 7660D
Radeon HD 6750M
Quadro K1000M
GeForce GT 550M
Radeon HD 8590M *
GeForce GTS 260M
GeForce GTS 160M
GeForce 9800M GTS
GeForce GT 430
Radeon HD 6830M
Mobility Radeon HD 5830
Radeon HD 6730M *
GeForce 9800M GS
Mobility Radeon HD 4830
Mobility Radeon HD 5770
Radeon HD 6570M
Radeon HD 8650G
Radeon HD 7670M
GeForce GT 630M
Radeon HD 7560D
GeForce GTS 150M *
Radeon R5 M335
Radeon R5 M430 *
Radeon R5 M330
Radeon R5 M255
Radeon Vega 3
Quadro 1000M
GeForce 820M
FirePro W2100
HD Graphics 520 620
Iris Graphics 6100
GeForce GT 720M
GeForce 8800M GTS
Radeon R5 M240
Radeon R5 M320 *
Radeon R5 M230
Radeon R5 M315 *
Mobility Radeon HD 5750 *
Radeon HD 8570M
Radeon R7 PRO A10-8850B
HD Graphics 6000
Quadro K610M
Radeon HD 8550M
Iris Graphics 5100
GeForce GT 540M
Mali-T880 MP12 *
Radeon HD 8610G *
Radeon HD 6650M
HD Graphics 4600
Mobility Radeon HD 5730
HD Graphics 5500
Radeon R5 (Carrizo) *
Radeon R5 (Kaveri)
FirePro M5800
NVS 5400M
GeForce 710M
Radeon HD 7660G
GeForce GT 435M
HD Graphics 5000
Quadro K510M *
Radeon HD 5570
Radeon HD 6550M
Radeon HD 7590M *
GeForce GTS 350M
GeForce GTS 250M
Radeon HD 6630M
Radeon HD 7650M
FirePro M2000
Radeon HD 7570M
Radeon HD 7630M
Quadro FX 1800M
Mobility Radeon HD 5650
Radeon HD 8510G *
Radeon HD 6530M
Radeon HD 8550G
Quadro K500M *
GeForce GT 625M *
GeForce GT 620M
GeForce GT 525M
Radeon HD 6550D *
Radeon HD 7610M
Radeon HD 7620G
Radeon HD 8470D
Radeon HD 7640G
Adreno 530
GeForce ULP K1 (Tegra K1 Kepler GPU)
HD Graphics 4400
HD Graphics 510 515 *
NVS 5200M
Mobility Radeon HD 565v
Radeon HD 7550M
Mobility Radeon HD 4670
GeForce GT 425M
GeForce 9700M GTS
Radeon HD 6645G2 *
Quadro FX 2700M
GeForce GT 335M
Radeon HD 7600G
Mobility Radeon HD 3870
Mobility Radeon HD 4650
GeForce GT 220
GeForce GT 420M
Radeon HD 7530M *
Mobility Radeon HD 3850
GeForce GT 330M
Quadro FX 880M
Quadro NVS 5100M
GeForce GT 240M
Radeon HD 7490M *
HD Graphics 5300
Radeon HD 7510M *
GeForce Go 7950 GTX
Quadro FX 3500M
GeForce 8700M GT SLI
GeForce 9700M GT
GeForce GT 230M
Mobility Radeon HD 550v
Radeon HD 7480D
HD Graphics 4000
Mali-T760 MP8
Radeon HD 6620G
HD Graphics (Broadwell) *
Adreno 430
Radeon R5 (Beema/Carrizo-L)
Radeon R4 (Beema) (Kaveri)
HD Graphics (Skylake) *
Radeon HD 6450 GDDR5
Radeon HD 7500G
Radeon HD 8450G
Radeon HD 7470M
Radeon HD 6490M
Radeon HD 8400
Mali-T880 MP4
GeForce GT 520MX
Radeon HD 7520G
GeForce GT 325M
GeForce Go 7800 GTX SLI
GeForce 8600M GT SLI
GeForce Go 7900 GS SLI
GeForce GT 130M
NVS 4200M
GeForce Go 7900 GTX
Quadro FX 2500M
Radeon HD 8350G
Radeon HD 8330
GeForce 9650M GS
GeForce 9650M GT
Radeon R3 (Mullins/Beema)
GeForce 8700M GT
Quadro FX 1700M
Quadro FX 1600M
GeForce Go 7800 GTX
GeForce Go 7900 GS
Quadro NVS 320M
Quadro FX 1500M
GeForce 9600M GT
GeForce GT 220M
Quadro FX 770M
GeForce GT 120M
Radeon HD 7450M
GeForce 610M
GeForce 705M
Mali-T760 MP6
Radeon HD 6470M
FirePro M3900 *
GeForce GT 520M
Radeon HD 7420G
Mobility Radeon HD 3670
Mobility FireGL V5725
PowerVR GX6450
Adreno 420
HD Graphics (Haswell)
Radeon HD 6520G
Radeon HD 8310G *
GeForce 320M
GeForce GT 320M
Mobility Radeon HD 2600 XT
Mobility Radeon X1900
Mobility Radeon X1800XT
Mobility Radeon X1800
GeForce Go 6800 Ultra
GeForce Go 7800
GeForce 9600M GS
GeForce 9500M GS
Radeon HD 7400G
Radeon HD 6480G *
Mobility Radeon HD 2700
GeForce GT 415M
GeForce 410M
Radeon HD 7370M
Adreno 418
HD Graphics (Cherry Trail)
Radeon HD 6370M
Radeon HD 8280
Mobility Radeon HD 5470
Radeon HD 6450M
Radeon HD 7430M *
Mobility Radeon HD 3650
Mobility FireGL V5700
Mobility Radeon HD 5145
Mobility Radeon HD 545v
Radeon R6 (Mullins) *
Radeon HD 8240
Radeon HD 8250
Mobility Radeon HD 4570
Quadro FX 570M
Mobility Radeon HD 5450 *
Radeon R2 (Mullins/Beema) *
GeForce 8600M GT
Mobility Radeon HD 2600
HD Graphics 3000
Quadro FX 380M
GeForce 310M
GeForce G210M
NVS 3100M
GeForce 405M
GeForce 315M
GeForce Go 7600 GT
GeForce 9500M G
GeForce 8600M GS
NVS 2100M
GeForce Go 7700
GeForce Go 6800
Quadro FX Go 1400
Mobility Radeon X800XT
Radeon HD 6430M *
Radeon HD 6380G *
Mobility Radeon HD 5430
Radeon HD 8210
Mobility Radeon HD 540v
Mobility Radeon HD 4550
HD Graphics 2500
HD Graphics (Ivy Bridge)
Quadro NVS 310
Radeon HD 7350M *
Radeon HD 6350M *
Mobility Radeon HD 4530
Mobility Radeon HD 4350
Radeon HD 4350
GeForce 305M
Mobility Radeon X1700
Mobility FireGL V5250
Mobility Radeon X2500
GeForce Go 7600
Quadro NVS 300M
Mobility Radeon X800
Mobility Radeon X1600
Mobility FireGL V5200
Mobility Radeon 9800
GeForce Go 6600
Mobility Radeon X1450
Mobility Radeon X700
Mobility FireGL V5000
GeForce G 110M
Quadro NVS 295
Radeon HD 6330M *
Mobility Radeon HD 4330
GeForce 8400M GT
Quadro NVS 140M
HD Graphics 2000
GeForce 9500M GE *
GeForce 9400M (G) / ION (LE)
HD Graphics (Sandy Bridge) *
Adreno 330
PowerVR G6430
PowerVR GX6250
PowerVR G6400
HD Graphics (Bay Trail)
Mali-T628 MP6
Mali-T760 MP4
Chrome9HD *
Radeon HD 7340
Radeon HD 6320 *
Radeon HD 7310
Radeon HD 6310 *
Radeon HD 8180
Mobility Radeon HD 3470
GeForce 9300M G
ION 2 *
GeForce 9300M GS
Quadro FX 370M
Quadro NVS 160M
GeForce 9200M GS
Mobility Radeon HD 3450
Mobility Radeon HD 3430
Mobility Radeon HD 3410
Mobility Radeon HD 2400 XT
Radeon HD 4270
Radeon HD 4250
Radeon HD 7290 *
Radeon HD 6290 *
Radeon HD 4200
Graphics Media Accelerator (GMA) HD Graphics
Radeon HD 6250
Quadro NVS 150M
Quadro FX 360M
Mobility Radeon X1350
Mobility Radeon X1400
GeForce 9100M G
GeForce 8400M GS
Quadro NVS 135M
Mobility Radeon HD 2400
Radeon HD 3200
Radeon HD 4225 *
Radeon HD 4100 *
SGX554MP4
Mali-T628 MP4
Mobility Radeon HD 3400 *
Radeon HD 3100
GeForce 8400M G
Mali-T860 MP2
Quadro NVS 130M
GeForce 8200M G
Graphics Media Accelerator (GMA) 4700MHD
Graphics Media Accelerator (GMA) 4500MHD
Graphics Media Accelerator (GMA) 4500M
Mali-T604 MP4
GeForce Go 7400
Quadro FX 350M
Quadro NVS 120M
GeForce Go 7300
GeForce Tegra 4 *
PowerVR G6200
Adreno 405 *
Quadro NVS 110M
Mobility Radeon X600
Mobility FireGL V3200
Mobility FireGL V3100
Mobility Radeon HD X2300
Mobility Radeon 9700
Mobility FireGL T2e
Mobility Radeon X1300
GeForce4 4200 Go
Mobility Radeon 9600
Mobility FireGL T2
Mobility Radeon 9550
GeForce Go 7200
GeForce Go 6400
Mobility Radeon X300
GeForce Go 6250
GeForce Go 6200
GeForce FX Go 5700
Quadro FX Go 1000
GeForce FX Go 5600 / 5650
Radeon Xpress X1270
Radeon Xpress X1250
Radeon Xpress X1200
Graphics Media Accelerator (GMA) X3100
Mali-T624
Adreno 320 *
Mali-T760 MP2
Mali-T720 MP4
Mali-450 MP4
Graphics Media Accelerator (GMA) 3650 *
GeForce 7190M *
GeForce 7150M
Radeon Xpress 1150
GeForce Go 6150
GeForce Go 6100
GeForce 7000M
Graphics Media Accelerator (GMA) 3600 *
Mobility Radeon 9200
Mobility FireGL 9000
GeForce FX Go 5200
Mobility Radeon 9000
GeForce 4 488 Go
GeForce 4 460 Go
GeForce 4 440 Go
GeForce 4 420 Go
Graphics Media Accelerator (GMA) 3150
Graphics Media Accelerator (GMA) 950
SGX545 SGX544MP2 SGX543MP2 *
Mali-T720 MP2
Mali-T720
Adreno 302 304 305 306
Mobility Radeon 7500
Mobility FireGL 7800
Graphics Media Accelerator (GMA) 900
Radeon Xpress 200M
Radeon Xpress 1100
Mirage 3+ 672MX
Mirage 3 671MX
Mali-400 MP4 *
GeForce ULP (Tegra 3) *
VideoCore-IV *
Adreno 220 225*
Vivante GC1000+ Dual-Core
Mali-400 MP2 *
GeForce ULP (Tegra 2) *
Graphics Media Accelerator (GMA) 600 *
SGX540 *
Graphics Media Accelerator (GMA) 500
Adreno 205 *
Adreno 203 *
GC800 *
SGX535
SGX531
SGX530
Adreno 200 *
Mali-200 *
GeForce 3 Go *
GeForce 2 Go 200 / 100
Mobility Radeon 9100 IGP
Mobility Radeon 9000 IGP
Mobility Radeon M7
Mobility Radeon M6
Chrome9 HC
Extreme Graphics 2
Mobility Radeon 7000 IGP
Radeon IGP 340M
Radeon IGP 320M
S3G UniChrome Pro II
S3G UniChrome Pro
Castle Rock
Mirage 2 M760
Mirage M661FX
S3 Graphics ProSavage8
Mobility 128 M3
SM502 *
</pre>
Not supported on AROS
*OpenGL4 GPU must have 64-bit floating point FP64 math support, which is a hard requirement for GL 4.0. The max last revision opengl 4.6 (2017) on [https://wiki.gentoo.org/wiki/AMDGPU AMDGPU] RX 5000's / 6000s ([https://forum.batocera.org/d/7491-enable-opengl-46-and-vulkan-for-an-old-radeon-video-card RDNA] might come to AROS) but Intel UHD, Iris Plus or Xe, Nvidia RTX (will not)
*OpenGL3 last revision 3.3 (2011)
Some support on AROS
*OpenGL2 nvidia-nouveau,
*OpenGL1 intel gma950,
Kernel-space drivers like '''radeon''' (older AMD driver for older GPUs), '''amdgpu''' (newer driver for newer GPUs, allows using a few new features), i915, nouveau and a few others. They are what handles the gory details of talking to the GPU itself (writing to proper registers, handling its memory directly, configuring outputs, and so on). Unfortunately most of what they're exposing can be only consumed by a single user of that GPU, which is why we need...
DRM and DRI (Direct Rendering Manager/Infrastructure) controls access to the GPUs, provides interfaces for talking to the GPU concurrently by multiple apps at once (without them breaking each other) and lets the system perform the most basic tasks like setting proper resolution and such if no userspace apps understand how to talk to the GPU exposed. DRI and DRM expose the GPU interfaces mostly as-is, not in a "vendor-neutral" portable way - if you don't have an application developed specifically for a GPU you have, it won't work.
"let's create a vendor-neutral interface for graphics so that apps can ignore the GPU-specific bits and get right to the drawing!" - which is what OpenGL is. User-space drivers implement the OpenGL specification and expose it as an OpenGL library to apps (like games, browsers, etc) instead of the GPU. Mesa is the most popular collection of open-source user-space drivers and contains a few user-space drivers for different GPU families: '''radeonsi''' for most modern AMD GPUs (and '''r600g''', r300g and others for older ones), '''i915/i965''' for old/new Intel GPUs and '''nouveau''' for Nvidia GPUs.
There's also Gallium, which is a bunch of utilities and common code shared among these drivers - if certain things can be done once and work everywhere, they'll land in Gallium and benefit all the drivers. Most Mesa drivers use Gallium (radeonsi, nouveau, software renderers), some don't (intel after gma950).
Displaying 2D windows supports device-specific 2D drivers as well, but nowadays most of these are no longer needed as the modesetting can handle most hardware on its own. As the DRM/DRI got some additional interfaces for what used to be hardware-specific (setting resolutions, refresh rates, etc) and software requiring accelerated 2D drawing was optimized OpenGL-based renderers, dedicated 2D acceleration is slowly going away. Since around 2012, the 3D part of the graphics card deals with 2D operations.
Modern GPUs can also decode video!? There's VDPAU (NVIDIA & AMD GPUs) and VA-API (AMD & Intel GPUs) that can also talk to the GPU exposed via DRM/DRI and issue proper commands to decode/encode a given video stream. Those drivers are GPU-specific too.
So let's say you have some example GPUs, here's how example stacks could look like:
* AMD Radeon HD8750: amdgpu -> DRM/DRI -> Mesa (radeonsi)
* AMD Radeon HD4850: radeon kernel driver -> DRM/DRI -> Mesa (r600g) -> games/apps/etc.
* NVIDIA GeForce 460: nouveau kernel driver -> DRM/DRI -> Mesa (nouveau) -> games/apps.
* Intel GMA950: i915 kernel driver -> DRM/DRI -> Mesa (i945) -> games/apps.
{| class="wikitable sortable" width="90%"
! width="15%" | Description
! width="15%" | Analog Output
! width="15%" | Digital Output
! width="15%" | Laptop LCD
! width=30%" | Comments
|-
| <!--Description-->Fudomi GC888A
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->1080p 100in throw projector
|-
| <!--Description-->Vamvo VF320 (720P)
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->720p 90in
|-
| <!--Description-->Happrun H1
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->1080p 90in
|-
| <!--Description-->Umbolite Magcubic HIPPUS HY320 Mini
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->720p 100in
|-
| <!--Description-->Zentality A10 Plus
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->720p 110in
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->nexigo nova mini
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->nebula mars 3
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->epson lifestudio flex plus portable projector
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->dangbei freedo
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->benq gv50
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
| <!--Description-->
| <!--Analogue-->
| <!--Digital-->
| <!--Laptop LCD-->
| <!--Comments-->
|-
|}
Unless your computer uses a Firewire chipset manufactured by Texas Instruments, FireWire interfaces are likely to act buggy.
AROS is unlikely to ever support FireWire.
Bluetooth is similarly unlikely to be ever supported due to huge cost to be certified.
No, x86 PCMCIA card.resource at the moment. Writing card.resource would be a similar amount of work to writing a typical driver. However, it might be complicated by having to support a variety of PCMCIA-controller chipsets like TI PCI1225, PCI1410, PCI1420, 1450, PCIxx12 and O2, etc. m68k card.resource does not really have many higher level functions, most functions are really simple or poke Gayle registers directly. only exception is CopyTuple(). Amiga card.resource has one significant flaw: it's single-unit. would need card.resource and pccard.library. There was talk in the past of designing a new API for PCMCIA because card.resource only supports one slot, but since most modern laptops only have one slot anyway, I think it might be worthwhile to implement card.resource as-is (at least as a first step). pccard.library would be trivial to port. So, a new API is needed.
<pre>
HDMI (licensing fee)
1.4 4K @ 30Hz
2.0 4K @ 60Hz
2.1 48Gbs for 4K @ 120Hz, 8K @ , VRR, etc
</pre>
<pre>
DisplayPort (VESA introduced)
1.4 4K @ 60Hz
2.1 96Gbs for 4K @ 240Hz, 8K @ 120Hz. MST daisy chain multiple monitors,
</pre>
21hxicwsbg4shrhdzyli4aye4hhrhoe
Cookbook:Tomato Pizza
102
45168
4634662
4606200
2026-05-07T16:35:18Z
Codename Noreste
3441010
/* See also */ For consistency.
4634662
wikitext
text/x-wiki
{{Recipe summary
| Category = Pizza recipes
| Difficulty = 3
}}
{{recipe}} | [[Cookbook:United States|United States]]
'''Tomato pie''' is a type of [[Cookbook:Pizza|pizza]], a food that is popular in Italy and the north east USA. Sometimes mistakenly considered an American dish, it is commonly found in bakeries throughout Italy and other countries, where it is simply called [[Cookbook:Pizza|pizza]] and is often bought and consumed on the spot. It is generally made with canned tomatoes. In the USA, it is usually served at room temperature, but many bakeries, where it is often bought as fast food, will reheat slices upon request.
Many bakeries and pizzerias have their own variation on the basic recipe. The basic recipe features thick pizza dough covered with a thick tomato sauce. After cooking the pizza is sprinkled with grated Romano cheese.
==Ingredients==
* ¾ [[Cookbook:Pound|pound]] [[Cookbook:Mozzarella Cheese|mozzarella cheese]], [[Cookbook:Slicing|sliced]]
* 3 [[Cookbook:Tablespoon|tablespoons]] [[Cookbook:Olive Oil|extra-virgin olive oil]]
* 2 [[Cookbook:Clove|cloves]] [[Cookbook:Garlic|garlic]]
* 1 large can [[Cookbook:Tomato|crushed tomatoes]]
* 1 [[Cookbook:Teaspoon|teaspoon]] dried [[Cookbook:Pepper|pepper]]
* 1 [[Cookbook:Pound|pound]] (450 [[Cookbook:Gram|g]]) pizza dough
* 3 [[Cookbook:Tablespoon|tablespoons]] grated [[Cookbook:Pecorino Romano Cheese|Pecorino Romano cheese]]
== Procedure ==
#Preheat [[Cookbook:Oven|oven]] to [[Cookbook:Oven Temperatures|250°C]] (450°F).
#Stretch the pizza dough to cover a greased [[Cookbook:Baking Sheet|baking sheet]]. Dough should be about 3 cm (¾ inch) thick.
#Allow the dough to rise while the sauce is prepared.
#Heat a [[Cookbook:Saucepan|saucepan]] on medium heat, add the olive oil and garlic.
#[[Cookbook:Saute|Sauté]] until garlic is just golden.
#Add crushed tomatoes and oregano.
#Cook until the sauce is thickened, about 15–20 minutes.
#Cool the sauce until it is room temperature.
#Top the pizza dough with mozzarella cheese, then any toppings such as sausage or pepperoni, then top with sauce, [[Cookbook:Baking|bake]] in the oven for about 15–20 minutes.
#After removing the tomato-pie from the oven, sprinkle the grated cheese on top and then let the pizza cool to room temperature.
#Serve at room temperature or reheat under the [[Cookbook:Broiling|broiler]] or in a [[Cookbook:Toaster Oven|toaster-oven]].
== See also ==
* [[Cookbook:Pizza|Pizza]]
* [[Cookbook:Veggie Pizza|Veggie Pizza]]
[[Category:Italian-American recipes]]
[[Category:Recipes using tomato]]
[[Category:Recipes using mozzarella]]
[[Category:Recipes for pizza]]
[[Category:Baked recipes]]
[[Category:Recipes_with_metric_units]]
[[Category:Recipes using pecorino]]
[[Category:Recipes using pizza dough]]
[[Category:Recipes using garlic]]
t1mi15wib6d880s42qpzwemw1zwq40g
Help:Editing
12
50573
4634743
4629341
2026-05-08T08:44:42Z
ShakespeareFan00
46022
4634743
wikitext
text/x-wiki
{{shortcut|WB:EDIT}} {{Wikibooks help}}
Wikibooks is a [[w:Wiki|wiki]], which means that anyone can easily edit any unprotected page and save those changes immediately to that page. After your first edit, you are a Wikibooks editor! To request a change to a protected page, you may add your suggestion to the talk page. If you just want to experiment, please do so in the [[Wikibooks:sandbox|sandbox]].
Editing a Wikibooks page is very easy. Simply click on the ''Edit'' tab at the top of a Wikibooks page. This will bring you to a new page with a text box containing the editable text of the original page. Once you're done, write a short edit summary in the small field below the edit box. You may use shorthand to describe your changes, and when you have finished, press the ''Show preview'' button to see how your changes will look. You can also see the difference between the page with your edits and the previous version of the page by pressing the ''Show changes'' button. If you're satisfied with what you see, be bold and press the ''Save page'' button. Your changes will immediately be visible to other Wikibooks users.
{{TOC left|limit=3}} [[File:English Wikibooks editing.png|475px|thumb|center|What you'll see when you go to edit a page and choose the ''Edit'' option.]] {{Clear}}
== Composition of an edit page ==
The editing page consists of these sections:
* [[#Edit toolbar|Edit toolbar]]
* Editing text box
* [[#Edit summary|Edit summary]] box
* [[#Minor edit checkbox|Minor edit]], [[Help:Tracking changes#Watching pages|Watch this page]] checkboxes
* Save page, [[#Show preview button|Show preview]], [[Help:Tracking changes#Viewing diffs|Show changes]] buttons
* Cancel, Editing help links
* A list of [[Help:Template|template]]s used on the page
* A preview, if you have requested one. Your preferences may place the preview at the top of the page instead.
===Edit toolbar===
The '''edit toolbar''' above the editing text box helps you produce '''wiki markup''', instructions used to stylize text on a wiki page. In the edit toolbar above the editing text box seen when editing a page, if you click ''Help'' you can see what effects are possible with wiki markup. Another way you can learn how to produce specific effects is to click ''Edit'' on a page that contains the effect you wish to copy and see what markup is used.
{| class="wikitable" style="width:100%;"
! width="26%" | Name
! width="36%" | Markup
! width="37%" | Displays
|-
! colspan="3" style="text-align:left; background-color:#cccccc;" | Basic
|-
| [[File:Toolbaricon_bold_B.png|link=]] Bold
| <syntaxhighlight lang="wikitext">Make text '''bold'''</syntaxhighlight>
| Make text '''bold'''
|-
| [[File:Toolbaricon_italic_I.png|link=]] Italic
| <syntaxhighlight lang="wikitext">Make text ''italic''</syntaxhighlight>
| Make text ''italic''
|-
| [[File:Button_underline_he.png|link=]] Underline
| <syntaxhighlight lang="wikitext">Make text<u>underlined</u></syntaxhighlight>
| Make text <u>underlined</u>
|-
| [[File:Vector_strikeout.png|link=]] Strikeout
| <syntaxhighlight lang="wikitext"><s>Strike out</s> text</syntaxhighlight>
| <s>Strike out</s> text
|-
| [[File:Vector_toolbar_insert_link_button.png|link=]] [[#Links|Link]]
| <syntaxhighlight lang="wikitext">Link to [[Help:Contents|a page]], [[#Sections|a section of a page]] or an [http://www.wikimedia.org external page].</syntaxhighlight>
| Link to [[Help:Contents|a page]], [[#Sections|a section of a page]] or an [http://www.wikimedia.org external page].
|-
| [[File:Vector toolbar insert image button.png|link=]] Embed [[Help:Files|file]]
| <syntaxhighlight lang="wikitext">[[File:Vector toolbar insert image button.png]]</syntaxhighlight>
| [[File:Vector toolbar insert image button.png]]
|-
| [[File:Vector toolbar insert reference button.png|link=]] Insert [[#References|references]]
| <syntaxhighlight lang="wikitext">Example text<ref>It is a note!</ref></syntaxhighlight>
| Example text<span style="color:#002bb8"><sup>[1]</sup></span>
|-
| [[File:Vector toolbar signature button.png|link=]] Signature
| <syntaxhighlight lang="wikitext">Thanks guys --~~~~</syntaxhighlight>
| Thanks guys --[[User:Example|Example]] 07:46, 27 November 2005 (UTC)
|-
! colspan="3" style="text-align:left; background-color:#cccccc;" | Advanced
|-
| <span style="padding: 4px; color: #333; border:1px solid silver; background: white; cursor: pointer"> Heading [[File:MediaWiki_Vector_skin_action_arrow.png|link=]]</span> Dropdown list for headings of different levels
| <syntaxhighlight lang="wikitext">
== Level 2 (Section heading) ==
=== Level 3 ===
==== Level 4 ====
===== Level 5 =====</syntaxhighlight>
| {{hiddenh2|Level 2 (Section heading)}}{{hiddenh3|Level 3}}{{hiddenh4|Level 4}}{{hiddenh5|Level 5}}
|-
| <span style="padding: 4px; color: #333; border:1px solid silver; background: white; cursor: pointer"> Text Type [[File:MediaWiki_Vector_skin_action_arrow.png|link=]]</span> Dropdown list for text or programming code of different types
| <syntaxhighlight lang="wikitext"><tt>Teletype text</tt>, <code>inline code</code>, <source lang="text">generic source code</source></syntaxhighlight>
| <!--<tt>Teletype text</tt>,--> <code>inline code</code>, <syntaxhighlight lang="text">generic source code</syntaxhighlight>
|-
| [[File:Vector toolbar bulleted list button.png|link=]] Insert a bulleted [[#Lists|list]] item
| <syntaxhighlight lang="wikitext">* Bulleted list item</syntaxhighlight>
|
* Bulleted list item
|-
| [[File:Vector toolbar numbered list button.png|link=]] Insert a numbered [[#Lists|list]] item
| <syntaxhighlight lang="wikitext"># Numbered list item</syntaxhighlight>
|
# Numbered list item
|-
| [[File:Vector toolbar indentation button.png|link=]] Text indentation
| <syntaxhighlight lang="wikitext">:Indented line</syntaxhighlight>
|
:Indented line
|-
| [[File:Vector toolbar no wiki formatting button.png|link=]] Ignore wiki markup
| <syntaxhighlight lang="wikitext"><nowiki><math>2^3</math></nowiki></syntaxhighlight>
| <syntaxhighlight lang="wikitext"><math>2^3</math></syntaxhighlight>
|-
| [[File:Vector toolbar insert new line button.png|link=]] Insert new line
| <syntaxhighlight lang="wikitext"> example <br /> text</syntaxhighlight>
| example <br /> text
|-
| [[File:Vector toolbar big text button.png|link=]] Big text
| <syntaxhighlight lang="wikitext"><big>Big text</big></syntaxhighlight>
| <big>Big text</big>
|-
| [[File:Vector toolbar small text button.png|link=]] Small text
| <syntaxhighlight lang="wikitext"><small>Small text</small></syntaxhighlight>
| <small>Small text</small>
|-
| [[File:Vector toolbar superscript button.png|link=]] Superscript text
| <syntaxhighlight lang="wikitext"><sup>Superscript text</sup></syntaxhighlight>
| <sup>Superscript text</sup>
|-
| [[File:Vector toolbar subscript button.png|link=]] Superscript text
| <syntaxhighlight lang="wikitext"><sub>Subscript text</sub></syntaxhighlight>
| <sub>Subscript text</sub>
|-
| [[File:Vector toolbar insert picture gallery button.png|link=]] Insert picture [[Help:Files#Galleries|gallery]]
| <syntaxhighlight lang="wikitext">
<gallery>
File:Example.jpg|Caption1
File:Example.jpg|Caption2
</gallery></syntaxhighlight>
|
<gallery>
File:Example.jpg|Caption1
File:Example.jpg|Caption2
</gallery>
|-
| [[File:Vector toolbar insert table button.png|link=]] Insert [[Help:Tables|table]] (opens a configuration window to select the number of rows and columns and some other options)
| <syntaxhighlight lang="wikitext">
{| class="wikitable"
|-
! Header text
|-
| Example
|}
</syntaxhighlight>
|
{| class="wikitable"
|-
! Header text
|-
| Example
|}
|-
| [[File:Vector toolbar redirect button.png|link=]] Page [[#Redirecting|redirect]]
| <syntaxhighlight lang="wikitext">#REDIRECT [[WB:HELP]]</syntaxhighlight>
| [[File:Redirect arrow without text.svg|link=|#REDIRECT]] [[WB:HELP]]
|-
| [[File:Vector toolbar search-replace button.png|link=]] Search and replace
| Opens the search and replace window
|}
==={{anchor|Edit summaries}}Edit summary===
{{shortcut|WB:ES|WB:SUMMARY}}
An '''edit summary''' is a brief explanation of an edit to a Wikibooks page. When you edit a page, there is a small text entry field, which is labeled "Edit summary", located under the main edit box and above the "Save page" button. Edit summaries are displayed in lists of changes (such as [[Help:Tracking changes#Page history|page histories]] and [[Help:Tracking changes#Watching pages|watchlists]]), and at the top of [[Help:Tracking changes#Viewing diffs|diff]] pages.
It is good practice to fill in the "Edit summary" field, or add to it in the case of [[#Sections|section editing]], as this helps others to understand the intention of your edit. To avoid accidentally leaving edit summaries blank, you can select "Prompt me when entering a blank edit summary" on the Editing tab of your [[Special:Preferences|user preferences]], if you have created an account.
====Always provide an edit summary====
It is considered good practice to always provide an edit summary, but it is especially important when [[#Reverting|reverting]] the actions of other editors, or if you delete any text; otherwise, people may question your motives for the edit.
Accurate summaries help other editors decide whether it is worthwhile for them to check a change, and to understand it if they choose to check it. Summaries are less essential for "[[#Minor edit|minor changes]]", but a summary like "fixed spelling" is helpful even then.
====Qualities of good summaries====
* ''Summarize''. Summarize the change, even if only briefly; even a short summary is better than no summary.
* ''Explain''. Give reasons for the change, if there is a reasonable chance that other editors may be unclear as to why it was made.
* ''Abbreviations''. Experienced users, especially those with many edits to make, will often use abbreviations in order to save time; for example, "rv" for "[[#Reverting|revert]]", or shortcuts for Wikibooks policies and related pages, e.g., "WB:WIW" for [[Wikibooks:What is Wikibooks]] (see [[Wikibooks:Shortcuts]]). Abbreviations should be used with care, although they save one editor time they may cost readers much more time to figure out what they mean, they can be confusing for inexperienced users, but they are generally fine for small edits such as formatting and grammar changes.
* ''Talk pages''. When editing [[WB:TALK|talk pages]], consider copying your comment to the edit summary, especially if it is brief; this allows users to check Recent changes, Page history and User contributions very efficiently. It also reduces the load on the servers.
* ''Harmony between text and edit summary''. Make sure that important information is not only included in the edit summary. This applies especially on talk pages. Readers who only see the text may miss that important information, and they may then respond inappropriately through no fault of their own. Try to prevent misunderstandings. If an edit requires more explanation than will fit in the edit summary box, use the ''Discussion'' page instead, and put in the edit summary "see talk" or "see discussion".
* ''Avoid misleading summaries''. Mentioning one change but not another one can be misleading to someone who finds the other one more important; add "and misc." to cover the other changes.
* ''Avoid inappropriate summaries''. Editors should explain their edits, but not be overly critical or harsh when editing or reverting others' work. This may be perceived as uncivil, and cause tension or bad feelings, which makes collaboration more difficult. Explain what you changed, and cite the relevant policies, guidelines, or principles of good writing, but try not to single out others in a way that may come across as an attack.
====Properties====
* ''Limited to 200 characters''. The edit summary box can hold one line of 200 characters. If you attempt to type or paste more, only the first 200 characters will be displayed—the rest will be discarded. For example attempting to add 10 new characters (at the end or in between) to a summary already containing 195 characters will result in the first 5 new characters being inserted and the second 5 being disregarded.
* ''Can be previewed''. The [[#Show preview button|"Show preview" button]] also provides a preview of the edit summary to facilitate checking links.
* ''Can't be changed after saving''. After you save the page, you cannot change the edit summary.
* ''Doesn't appear in searches''. The [[WB:SEARCH|search function]] cannot search edit summaries, and they are not indexed by external search engines.
* ''Wikilinks always rendered; other wikitext coding ignored''. Text in edit summaries renders internal links, including [[#Pipe links|piped links]], and [[#Interwiki links|interwiki links]], even when enclosed within <nowiki><nowiki> and </nowiki></nowiki>. Therefore, copying wikitext in the edit summary box may be preferable to copying text from the preview, except when one wants to save space. Other wikitext coding is not interpreted.
* ''URLs''. When copying an external link from the preview into the edit summary box then, depending on the operating system, the "printable version" is copied, i.e., how it is normally rendered, and in addition, between parentheses, the URL; hence the same information as in the wikitext, but in a different format, as well as a possible sequential number.
=== {{anchor|Minor edits|Minor edit}}Minor edit checkbox ===
{{shortcut|WB:MINOR}}
A check to the '''minor edit''' box signifies that only superficial differences exist between the current version and the previous version. Examples include typographical corrections, formatting and presentational changes, rearrangement of text without modification of content, etc. A ''minor edit'' is one that the editor believes requires no review and could never be the subject of a dispute, such as changing "teh" to "the". An edit of this kind is marked in its page's [[Help:Tracking changes#Page history|revision history]] with a lower case, bolded "m" character ('''m''').
By contrast, a major edit is one that should be reviewed for its acceptability to all concerned editors. Therefore, any change that affects the ''meaning'' of a page is not minor, even if the edit concerns a single word; for example, the addition or removal of "not", which can change the meaning of a sentence, is a major edit.
Because editors may choose to ignore minor edits when reviewing [[Help:Tracking changes#Recent changes|recent changes]], the distinction between major and minor edits is significant. Logged-in users might even set their preferences to not display minor edits. If there is any chance that another editor might dispute a change, it is best not to mark the edit as minor.
Users who are not [[WB:LOGIN|logged in]] to Wikibooks are not permitted to mark changes as minor because of the potential for vandalism. The ability to mark changes as minor is one of many reasons to register.
A good rule of thumb is that edits consisting solely of spelling corrections, formatting changes, or rearrangement of text without modification of content should be flagged as minor edits.
==== When to mark an edit as a minor edit ====
* Spelling and grammatical corrections.
* Simple formatting (''e.g.'', capitalization, punctuation, or properly adding italics to non-English words, like ''folie des grandeurs'').
* Formatting that does not change the meaning of the page (''e.g.'', moving a picture, splitting one paragraph into two—where this is not contentious).
* Obvious factual errors (''e.g.'', changing "Nixon resigned in 1874" to "Nixon resigned in 1974").
* Fixing layout errors.
* Adding or correcting [[#Wikilinks|wikilinks]], or fixing broken references already present in the page.
* Removing [[Wikibooks:Vandalism|vandalism]] and graffiti.
==== Things to remember ====
* Any change to the source text, even if it does not affect the presentation of the page in [[HTML]] (if it involves adding a space or a line break, for example) will still be treated as a change according to the database.
* Marking a major change as a minor one is considered poor etiquette, especially if the change involves the deletion of some text.
* [[#Reverting|Reverting]] a page is not likely to be considered minor under most circumstances. When the status of a page is disputed, and particularly if an [[Help:Glossary#edit war|edit war]] is brewing, then it is better not to mark ''any'' edit as minor. Reverting blatant vandalism is an exception to this rule.
* If you ''accidentally'' mark an edit as minor when it was in fact a major edit, you should make a second edit, or dummy edit, noting in the dummy's edit summary that the previous edit was major. As a trivial edit to be made for this purpose, just opening the edit box and saving (''i.e.'' changing nothing) will not work; neither will adding a blank space at the end of a line or a blank line at the end of the page—in these cases the edit is cancelled and the edit summary discarded. However, one can, for example, add an extra space between two words. This will be preserved in the wikitext and recorded as a change, although it will not change the page's appearance when rendered.
* It may be worth communicating any disagreement about what is minor via Talk or a message to the contributor, being careful to avoid a flame war ("I thought your change was a bit more than minor—maybe I am being over-sensitive?"). There is a grey area, and many contributors will appreciate feedback on whether they've got it right.
* Marking your change as minor affects how it displays in some [[Help:Tracking changes#Watching pages|editors' watchlists]]. If, for example, you mark your talk page comments as "minor", then fewer editors are likely to notice your comment.
==== Exceptions ====
[[Wikibooks:Administrators|Administrators]] and [[Wikibooks:Reviewers|reviewers]] can semi-automatically revert the edits of the last editor of a page; all such [[#Rollback|rollback]] reversions are marked as minor by the wiki software. The intended use of the rollback feature is for cases of vandalism, where the act of reverting any vandalism should be considered minor (and can be ignored in the recent changes list).
==={{anchor|Showing previews|Show preview}}Show preview button===
{{shortcut|WB:PREVIEW}}
Below the edit box is a '''Show preview''' button. Pressing this will show you what the page will look like without actually saving it. It is strongly recommended that you use this prior to saving. This allows you to check what the page will look like first and to check that you haven't made any errors. It also prevents the need for multiple saves. Saving the same page numerous times in quick succession makes it harder for people to check what changed, and clogs up the [[Help:Tracking changes#Page history|page history]].
It is helpful, to save the page before moving, breaking apart, or combining sections of the page, if you have been making small edits to the page. The difference display is not good at showing paragraph moves, and will not display the small edits clearly if sections are then moved around.
Saving only once is also a way of avoiding [[#Edit conflict|edit conflicts]], as people will not see the page on [[Help:Tracking changes#recent changes|recent changes]], and therefore they are less likely to try editing it at the same time as you.
If you are [[WB:LOGIN|logged in]], you can set your [[Special:Preferences|preferences]] to show the preview before the edit box instead of after it. If you select this option, the preview will be displayed above the edit box when you click the "Show preview" button while editing a page. See [[Help:Account management#Preferences]].
Using show preview also prevents your login timing out, which would mean your edits would not be attributed to your username. Clicking preview regularly will restart the timer, so you remain logged in. Also, if you are no longer logged in, showing a preview will make you aware of this so you can log in and save your work after that. You can check this by seeing if your username appears in the upper-right corner when you press preview. If you are not logged in, open [[Special:UserLogin]] in a separate window (right-click "Log in" and hit "Open link in new window" or similar). Log in, then go back to your editing and hit "preview" again to make sure all is well. Note that this will clear the minor edit and watch checkboxes, so make sure they're set appropriately again before you finally save the page.
When utilizing this feature during a major edit, consider copying the content into your [[w:clipboard (software)|clipboard]]. On extremely rare occasions, the Wikibooks servers have hiccups, and you could lose your work.
When pressing "Show preview", a preview of the [[#Edit summary|edit summary]] is also obtained; thus (for example) links can be checked.
==Composition of a book page==
{{shortcut|WB:SECTION}}
==={{anchor|Section}}Sections===
'''Sections''' are created by creating their headings, as below.
<pre>
==Section==
===Subsection===
====Sub-subsection====
</pre>
Please ''do not'' use only one equals sign on a side (<nowiki>=Heading=</nowiki>). This would cause a section heading to be as large as the page's name (title).
Heading names of sections (including subsections) should be unique on a page. Using the same heading more than once on a page causes problems:
* An [[#Wikilinks|internal link (wikilink)]] to a section, in the form <nowiki>[[Pagename#Section heading]]</nowiki>, will only link to the first section on the page with that name, which may not be the intended target of the link. See [[#Section linking (anchors)|section linking]] on linking to a section.
* When a section with a duplicate name is edited, the [[Help:Tracking changes#Page history|edit history]] and [[#Edit summary|summary]] will be ambiguous as to which section was edited.
* When saving the page after a section edit, the editor's browser may navigate to the wrong section.
===={{anchor|TOC|Table of contents}}Table of contents (TOC)====
{{Shortcut|WB:TOC}}
For each page with more than three section headings, a '''table of contents (TOC)''' is automatically generated from the section headings, unless:
*(for a user) [[WB:PREFS|preferences]] are set to turn it off
*(for a page) the [[Help:Variables|magic word]] <code><nowiki>__NOTOC__</nowiki></code> (with ''two underscores'' on either side of the word) is added to the page
{{anchor|Positioning the TOC}}'''Positioning the TOC'''
When either <code><nowiki>__FORCETOC__</nowiki></code> or <code><nowiki>__TOC__</nowiki></code> (with ''two underscores'' on either side of the word) is placed in the wikitext, a TOC is added even if the page has fewer than four headings.
With <code><nowiki>__FORCETOC__</nowiki></code>, the TOC is placed before the first section heading. With <code><nowiki>__TOC__</nowiki></code>, it is placed at the same position where this code is placed. There may be some introductory text before the TOC, known as the "lead". Although usually a heading after the TOC is preferable, <code><nowiki>__TOC__</nowiki></code> can be used to avoid being forced to insert a meaningless heading just to position the TOC correctly, i.e., not too low.
{{anchor|Floating the TOC}}'''Floating the TOC'''
The TOC can, in some instances, be floated either right or left using {{tl|TOC right}} or {{tl|TOC left}} when it is beneficial to the layout of the page, or when the default TOC gets in the way of other elements. Before changing the default TOC to a floated TOC, consider the following guidelines:
# If a page will be adversely affected by the change, don't float the TOC.
# When floating a TOC, check whether the page layout will be harmed if the TOC is hidden by the user.
# Long lists may create very long TOCs. The TOC should not be longer than necessary, whether it is floated or not. Limiting the depth of the TOC can be used to reduce the length of the TOC by hiding nested subsections, rather than using a floating TOC (see below).
# The default TOC is placed before the first headline, but after any introductory text (unless changed by the page's editors). If the introductory summary is long enough that a typical user has to scroll down to see the top of the TOC, you may float the TOC so it appears closer to the top of the page.
# Floating a wide TOC will produce a narrow column of text for users with low resolutions. If the TOC's width exceeds 30% of the user's visible screen (about twice the size of the Wikibooks navigation bar to the left), then it is not suitable for floating. (Percentages assume a typical user setup.)
# If the TOC is placed in the general vicinity of other floated images or boxes, it can be floated as long as the flowing text column does not become narrower than 30% of the average user's visible screen width.
# A left-floated TOC may affect bulleted or numbered lists.
{{anchor|Limiting the depth of the TOC}}'''Limiting the depth of the TOC'''
When a page has a very large number of subsections (such as this page), it may be appropriate to hide lower-level subsections from the TOC. You can specify a limit for the lowest-level section that should be displayed using {{tlx|TOC|limit{{=}}''n''}}, where ''n'' is the number of = signs that are used on each side of the lowest-level section header that should be displayed (e.g. 3 to show ===sections=== but hide ====sections====). The limit=''n'' parameter can also be given to {{tl|TOC left}} or {{tl|TOC right}} the same way.
{{anchor|Linking to the TOC}}'''Linking to the TOC'''
You can make a link to the TOC using the following:
* Same page:
** wikicode: <nowiki>[[#toc|Contents]]</nowiki>
** link: [[#toc|Contents]]
* Different page:
** wikicode: <nowiki>[[Help:Wiki markup#toc|Contents]]</nowiki>
** link: [[Help:Templates#toc|Contents of Templates Help page]]
====Sections vs. separate pages====
Advantages of separate pages:
# [[WB:WLH|what links here]] feature
# separate [[WB:PH|edit histories]]
# some [[Help:Templates|template]] limits apply ''per page''
# automatic [[#Redirect|redirect]] on renaming
# loading ''one'' small page is faster than loading ''one'' large page—but are readers more likely to want to use just one section or to browse many of the sections of the topic?—see advantages of combined pages
# ''one'' small page is easier to navigate than ''one'' large page—but see above
# can separately be put in [[Help:Categories|categories]]
Advantages of one combined page with sections:
# loading ''one combined'' page is ''faster and more convenient'' than loading ''several divided'' ones
# searching within one large page or its wikitext with a local search function is faster and has advantages over searching several pages using the site search engine or a web search engine
# the automatic table of contents provides for convenient navigation.
# more likelihood of editorial cohesion of a concept compared to having several pages likely to be independently edited
# duplication of items relevant to each section is avoided
==={{anchor|Link}}Links===
{{shortcut|WB:LINK}}
{{Meta|Help:Link}}
'''Links''' give readers one-click access to other Wikibooks pages, other [[w:Wikimedia project|Wikimedia project]]s, and external websites.
===={{anchor|Wikilink}}Wikilinks====
A '''wikilink''' or '''internal link''' links a page to another page within English Wikibooks.
*<nowiki>[[Main Page]]</nowiki> gives [[Main Page]] (link to ''Main Page'', labeled ''Main Page'').
*<nowiki>[[Main Page|Home]]</nowiki> gives [[Main Page|Home]] (link to ''Main Page'', labeled ''Home'').
*<nowiki>[[Main Page]]s</nowiki> gives [[Main Page]]s, just like <nowiki>[[Main Page|Main Pages]]</nowiki> does: [[Main Page|Main Pages]].
*<nowiki>[[Main Page|Home]]s</nowiki> gives [[Main Page|Home]]s, just like <nowiki>[[Main Page|Homes]]</nowiki> does: [[Main Page|Homes]].
*<nowiki>[[Main Page]]'s</nowiki> gives [[Main Page]]'s (''punctuation'' is not appended to the link).
*<nowiki>[[Main Page]]<</nowiki>nowiki>s</nowiki> gives [[Main Page]]<nowiki>s</nowiki>.
*<nowiki>[[Main Page]]''s''</nowiki> gives [[Main Page]]''s''.
*<nowiki>''[[Main Page]]s''</nowiki> gives ''[[Main Page]]''s.
*<nowiki>[[Cookbook|Cook]]book<</nowiki>nowiki>s</nowiki> gives [[Cookbook|Cook]]book<nowiki>s</nowiki>.
Links with a specified label are said to be "[[#Piped links|piped]]" because of the pipe symbol used ( | ). For certain types of link, the label will be generated automatically if a pipe is typed with no label after it (thus saving you typing). See [[#Piped links|piped links]] below.
The link target is ''case-sensitive except for the first character'' (so [[calculus]] links to [[Calculus]], but [[CAlculus]] does not).
If the target of a wikilink does not exist, it is displayed red, and is called a [[Help:Glossary#red link|red link]]. If a red link is clicked, the user is taken to a page where it is possible to create a page under the red-linked title. Red links to a particular (non-existent) title can be detected using the [[WB:WLH|What links here]] feature.
If the target of a link is the same as the page on which it appears (a self-link), it is displayed in bold, as in [[Help:Editing]].
Attempting to link normally to a [[Help:Files|file]] page, [[Help:Categories|category]] page or [[#Interlanguage links|interlanguage link]] will produce a different effect: it will place the image on the page, add the page to the category or create an interlanguage link at the edge of the page. To override this behavior, add an initial colon, as in <code><nowiki>[[:File:Mediawiki.png]]</nowiki></code>, <code><nowiki>[[:Category:Help]]</nowiki></code>, <code><nowiki>[[:fr:Help:Contents]]</nowiki></code>.
===={{anchor|Piped link|Pipe trick}}Piped links====
A '''piped link''' is an internal [[#Wikilinks|link]] or [[#Interwiki links|interwiki link]] where the link target and link label are both specified. This is needed in the case that they are not equal, while also the link label is not equal to the link target with the last word extended. This allows linking a word or phrase within the text of a page rather than using "see also", even if the wording does not exactly correspond with the name of the target page. With a suitable browser and depending on the [[WB:PREFS|preferences]] set, one can still see the link target: when you point at the link, the name shows up in a hover box and is also shown in the status bar.
For instance: <nowiki>[[Help:Contents|Help]]</nowiki> will show as [[Help:Contents|Help]].
If in a piped link the part after the "|" is left empty, it is converted to an abbreviated form of the page name on the left, as follows:
#any word before the first colon (:), as well as the colon itself, is removed. This word may or may not be a namespace prefix (such as "Help:") or an [[#Interwiki links|interwiki prefix]] (such as "commons:").
#if there is text in parentheses at the end it will be removed
#if there are no parentheses but there is a comma, the comma and everything after it is removed
#the link will be in whatever case is used.
Just like for the four tildes when adding a signature, in a preview, the result already shows up in the preview itself, but the conversion in the edit box is not yet shown. Press "Show changes" to see the change in the wikitext.
'''Colon'''
* <nowiki>[[Help:Templates|]]</nowiki> is converted to <nowiki>[[Help:Templates|Templates]]</nowiki>, which is rendered as [[Help:Templates|Templates]]
* <nowiki>[[Programming:C++|]]</nowiki> is converted to <nowiki>[[Programming:C++|C++]]</nowiki>, which is rendered as [[Programming:C++|C++]] - even though "Programming:" is not a [[Help:Pages#Namespaces|namespace]] the shortcut works anyway
* <nowiki>[[w:Key Largo (film)|]]</nowiki> is converted to <nowiki>[[w:Key Largo (film)|Key Largo]]</nowiki>, which is rendered as [[w:Key Largo (film)|Key Largo]]
'''Case'''
*<nowiki>[[w:pipeline (Unix)|]]</nowiki> is converted to <nowiki>[[w:pipeline (Unix)|pipeline]]</nowiki> which is rendered as [[w:pipeline (Unix)|pipeline]].
*<nowiki>[[w:Pipeline (Unix)|]]</nowiki> is converted to <nowiki>[[w:Pipeline (Unix)|]]</nowiki> which is rendered as [[w:Pipeline (Unix)|Pipeline]].
'''Comma'''
* <nowiki>[[commons:Boston, Massachusetts|]]</nowiki> is converted to <nowiki>[[commons:Boston, Massachusetts|Boston]]</nowiki>, which is rendered as [[commons:Boston, Massachusetts|Boston]].
===={{anchor|Relative link|Relative links|Subpage link}}Subpage links====
Subpages can be linked to with relative links, without giving the full page name. The following example shows how we link to various pages from the hypothetical <code>Snappy Title/Logical section</code>. Note that that the full page name in the link title can be suppressed by appending another slash. For more flexibility, use a [[#Piped links|piped link]] as normal.
{| class="wikitable"
! Full page name of the link target || Relative link || Displays as
|-
| <code>Snappy Title</code> || <code><nowiki>[[../]]</nowiki></code>
| <code>Snappy Title</code>
|-
| <code>Snappy Title/Sister page</code> || <code><nowiki>[[../Sister page]]</nowiki></code>
| <code>Snappy Title/Sister page</code>
|-
| <code>Snappy Title/Sister page</code> || <code><nowiki>[[../Sister page/]]</nowiki></code>
| <code>Sister page</code>
|-
| <code>Snappy Title/Logical section/interesting topic</code> || <code><nowiki>[[/interesting topic]]</nowiki></code>
| <code>Snappy Title/Logical section/interesting topic</code>
|-
| <code>Snappy Title/Logical section/interesting topic</code> || <code><nowiki>[[/interesting topic/]]</nowiki></code>
| <code>interesting topic</code>
|}
'''Note''' that the first character of sub-pages is case-sensitive.
===={{anchor|External link}}External links====
'''External links''' use absolute [[w:URL|URL]]s to link directly to any webpage. External links are in the form <code><nowiki>[http://www.example.org link name]</nowiki></code> (resulting in [http://www.example.org link name]), with the link name separated from the URL by a space. Links without link names appear numbered: <code><nowiki>[http://www.example.org]</nowiki></code> becomes [http://www.example.org]. Links with no square brackets display in their entirety: http://www.example.org .
[[Special:LinkSearch]] finds all pages linking to a given site.
The external link syntax can also be used to link to particular page versions within Wikibooks that are not accessible by wikilinks, such as page [[Help:Tracking changes#Page history|history]], edit view, an old version of a page, the [[Help:Tracking changes#Viewing diffs|diff]] between two versions, etc.
To display a link without the arrow icon, place the external link syntax between
<code><span class="plainlinks">...</span></code> tags.
===={{anchor|Section link|Section links}}Section links (anchors)====
To link to a section in the same page you can use: <code><nowiki>[[#Section name|displayed text]]</nowiki></code>, and to link to a section in another page: <code><nowiki>[[Page Name#Section name|displayed text]]</nowiki></code>.
The section title in fact points to an "anchor" on the target page. It is possible to define anchors other than explicit section titles, using the [[Help:Templates|template]] {{tlx|anchor|anchor name}}. However <code><nowiki>[[#top]]</nowiki></code> and <code><nowiki>[[#toc]]</nowiki></code> are reserved names that link to the top of a page and the table of contents, respectively.
Section links still work if the wikilink is a [[#Redirect|redirect]] (for example, if [[Help:About]] redirects to [[Wikibooks:Welcome]], then [[Help:About#General Information]] will link to the "General Information" section of [[Wikibooks:Welcome]]). It is also possible to put section links inside redirects. For example, [[WB:LINK]] redirects to [[Help:Editing#Links]]. Note that an explicit section link overrides any section link in a redirect, so [[WB:LINK#Interwiki links]] will go to the "Interwiki links" section of this page. Anchor links can also be added to [[#External links|external links]] and to [[#Interwiki links|interwiki links]], again using the # syntax.
===={{anchor|Interlanguage link}}Interlanguage links====
'''Interlanguage links''' are links from any page at here at the English language Wikibooks to nearly equivalent or exactly equivalent pages in another language Wikibooks.
The interlanguage links take the following form:
:<nowiki>[[language code:Title]]</nowiki>
where the language code is the two-letter code as per [[w:ISO 639-1|ISO 639-1]]. (See [[m:List of Wikibooks|Complete list of language Wikibooks available]]. English is "en", Japanese is "ja", etc.) So for example in the English language book on [[Calculus]], which is available on many other wikis, the interlanguage links might look like this:
:<nowiki>[[ja:解析学基礎]]</nowiki>
:<nowiki>[[nl:Analyse]]</nowiki>
:<nowiki>[[zh:微积分学]]</nowiki>
Note: These links are treated specially, and don't show up in the body of the text, but rather in a special sidebar section "in other languages" listed by language name. Technically they can go anywhere in the page; placement does not alter the visual appearance of the links on the rendered page except for the order. However, the convention is to put them at the bottom of the wikitext.
===={{anchor|Interwiki link}}Interwiki links====
{| class="wikitable sortable" style="margin-bottom:0; float:right;"
! Project !! Long form !! Shortcut
|-
| [[w:Wikipedia|Wikipedia]]
| <code>[[[[wikipedia:]]]]</code>
| <code>[[[[w:]]]]</code>
|-
| [[w:Wiktionary|Wiktionary]]
| <code>[[[[wiktionary:]]]]</code>
| <code>[[[[wikt:]]]]</code>
|-
| [[w:Wikinews|Wikinews]]
| <code>[[[[wikinews:]]]]</code>
| <code>[[[[n:]]]]</code>
|-
| [[w:Wikiquote|Wikiquote]]
| <code>[[[[wikiquote:]]]]</code>
| <code>[[[[q:]]]]</code>
|-
| [[w:Wikisource|Wikisource]]
| <code>[[[[wikisource:]]]]</code>
| <code>[[[[s:]]]]</code>
|-
| [[w:Wikispecies|Wikispecies]]
| <code>[[[[wikispecies:]]]]</code>
| <code>[[[[species:]]]]</code>
|-
| [[w:Wikiversity|Wikiversity]]
| <code>[[[[wikiversity:]]]]</code>
| <code>[[[[v:]]]]</code>
|-
| [[w:Wikivoyage|Wikivoyage]]
| <code>[[[[wikivoyage:]]]]</code>
| <code>[[[[voy:]]]]</code>
|}
An '''interwiki link''' links to a page on another Wikimedia project website, such as [[w:|Wikipedia]] or another language Wikibooks. Other sites are listed in the [[m:Interwiki map|interwiki map]]. These links have the same <nowiki>[[...]]</nowiki> syntax as [[#Wikilinks|wikilinks]] (see above), but take a prefix which specifies the target site. For example, <nowiki>[[w:Help:Contents]]</nowiki> links to the "Help:Contents" page on Wikipedia. Links can be piped as with wikilinks. Remember that an [[#Interlanguage links|interlanguage link]] should be preceded by a colon if it is to be displayed where it appears in the text; otherwise it will be listed at the side of the page (which is appropriate only if it is the most closely corresponding page in the other language Wikibooks).
Interwiki links (like external links) are displayed in a slightly paler blue than ordinary wikilinks. MediaWiki does not detect whether these target pages exist, so they are never displayed red. The interwiki links for the major Wikimedia projects are shown at right.
Some people prefer to use templates that wrap the above interwiki link syntax with some nice formatting --
{{tl|Wikipedia}}, {{tl|Wikipediapar}}, {{tl|Wikipedia-inline}}, {{tl|Wikiversity}}, {{tl|Wikisource}}, {{tl|Wikiquote}}, {{tl|Wikivoyage}}, etc.
{{clear}}
==={{anchor|Footnote|Footnotes|Reference}}References===
{{shortcut|WB:REFS}}
'''References''' present [[w:citation|citation]]s to reliable sources that support assertions. '''Footnotes''' add explanatory material and are useful if the added information would be distracting if written out in the main text.
====Inserting references====
{{anchor|Single citation of a reference or footnote}}'''Single citation of a reference or footnote'''
At the point of citation in the page, enter the footnote or reference like this:
:<code><nowiki><ref>Excel For Dummies, First Edition, Hungry Minds, Inc., 1980.</ref></nowiki></code>
You can include formatting and links in the footnote or reference in the usual way. The reference becomes visible in the <nowiki><references/></nowiki> list at the bottom, if there is one.
{{anchor|Creating the list of references or footnotes}}'''Creating the list of references or footnotes'''
At the point where you want the text of the footnotes or references to appear (usually at the end of the page in a '''Notes''' or '''References''' section), insert the tag:
:<code><nowiki><references/></nowiki></code>
The template {{tl|reflist}} is an alternative, mostly used if there are many footnotes.
{{anchor|Multiple citations of the same reference or footnote}}'''Multiple citations of the same reference or footnote'''
To cite the same reference or footnote several times, identify it using the <code>name</code> parameter of the <code><nowiki><ref></nowiki></code> tag.
At one of the citation points (it makes sense to choose the first), enter the reference like this:
:<code><nowiki><ref name="Perry">Perry's Handbook, Sixth Edition, McGraw-Hill Co., 1984.</ref></nowiki></code>
Then at all the other citation points, just enter:
:<code><nowiki><ref name="Perry"/></nowiki></code>
You are free to pick any footnote name, subject to a few rules. The footnote name is internal and will not be displayed anywhere when the page is viewed. Footnote names are case sensitive and may not be a numeric integer. Names and groups should be kept simple and restricted to the standard English alphabet and numerals.
{{anchor|Using templates to insert reference text}}'''Using templates to insert reference text'''
A number of [[Help:Templates|templates]], such as a generic {{tl|citation}}, or more specific {{tl|cite book}}, {{tl|cite web}}, etc., are available to format the text between <code><nowiki><ref></nowiki></code> and <code></ref></code> tags in a more structured way. These are listed at [[:Category:Citation templates]]. Their use is optional: they do aid with consistent formatting, but on the other hand they can make editing more cumbersome.
====Appearance of references====
The <code><nowiki><ref></nowiki></code> tags in the main text are converted to auto-numbered superscripts, like this:
{|class="wikitable"
|
The only reference to Excel For Dummies.<ref>Excel For Dummies, First Edition, Hungry Minds, Inc., 1980.</ref> The first reference to Perry's Handbook.<ref name="Perry">Perry's Handbook, Sixth Edition, McGraw-Hill Co., 1984.</ref> The second reference to Perry's Handbook and to another, related book.<ref name="Perry"/><ref>Nuclear Chemical Engineering (2nd Edition), McGraw-Hill Co., 1981.</ref> A statement that requires a reference. The only reference to Linux in a Nutshell.<ref>Linux in a Nutshell, O'Reily Co., 2003.</ref> And third reference to Perry's Handbook.<ref name="Perry"/>
|}
Clicking on a numbered superscript takes you straight to the text of the corresponding footnote or reference.
The <code><nowiki><references/></nowiki></code> tag is expanded to show the text of the footnotes or references against their corresponding numbers, like this:
{| class="wikitable"
|
<references/>
|}
For single citations, clicking on the arrow (<span style="color:blue;">'''↑'''</span>) takes you to the point of citation in the main text. For multiple citations, the links back to the main text are distinguished by letter superscripts (<span style="color:blue;">'''''a'''''</span>, <span style="color:blue;">'''''b'''''</span>, <span style="color:blue;">'''''c'''''</span> etc.). Clicking on a letter superscript takes you to the corresponding citation in the main text.
====Separate lists of references and footnotes====
Sometimes it is convenient to separate explanatory footnotes from references. This can be accomplished with the "group" parameter:
<syntaxhighlight lang="wikitext">
This part of the text requires clarification,<ref group="note">Listed separately from the citation</ref> whereas the entire text is cited.<ref>Citation.</ref>
;Notes
<references group="note"/>
;References
{{reflist|close=1}}
</syntaxhighlight>
This part of the text requires clarification,<ref group="note">Listed separately from the citation</ref> whereas the entire text is cited.<ref>Citation.</ref>
;Notes
<references group="note"/>
;References
{{Reflist|close=1}}
Note that, at present, such footnotes cannot themselves contain reference links.
Footnotes may also be listed at the ends of each section of text by closing the {{tl|reflist}} template with the "close" parameter, as shown in the box just above.
====List-defined references====
The software also allows named references to be defined within the reference list rather than in the main text. This can make editing pages much easier, particularly on heavily cited sections. For example:
<syntaxhighlight lang="wikitext">The quick brown fox jumps over the lazy dog.<ref name="LazyDog"/>
<references>
<ref name="LazyDog">This is the lazy dog reference.</ref>
</references></syntaxhighlight>
The quick brown fox jumps over the lazy dog.<ref name="LazyDog"/>
<references>
<ref name="LazyDog">This is the lazy dog reference.</ref>
</references>
This can also be done using the {{tl|reflist}} template with a {{para|refs}} parameter. If desired, the {{para|group}} parameter can be used to group references for the template:
<syntaxhighlight lang="wikitext">How razorback-jumping frogs<ref name="Batteries" group="note"/> can level six piqued gymnasts.<ref name="JumpingFrogs"/>
;Notes
{{reflist|group="note"|
refs=
<ref name="Batteries" group="note">Batteries not included.</ref>
}}
;References
{{reflist|
refs=
<ref name="JumpingFrogs">This is the jumping frogs reference.</ref>
}}</syntaxhighlight>
How razorback-jumping frogs<ref name="Batteries" group="note"/> can level six piqued gymnasts.<ref name="JumpingFrogs"/>
;Notes
{{reflist|group="note"|
refs=
<ref name="Batteries" group="note">Batteries not included.</ref>
}}
;References
{{reflist|
refs=
<ref name="JumpingFrogs">This is the jumping frogs reference.</ref>
}}
==={{anchor|List}}Lists===
{{shortcut|WB:LIST}}
There are three types of lists: '''unordered lists''', '''ordered lists''', and '''definition lists'''.
{|class="wikitable" style="width:80%;"
!wikitext!!rendering
|-
|
* Unordered lists are easy to do:
** start every line
* with a star
** more stars mean
*** deeper levels
||
* Unordered lists are easy to do:
** start every line
* with a star
** more stars mean
*** deeper levels
|-
|
* A newline
* in a list
marks the end of the list.
Of course
* you can
* start again.
|
* A newline
* in a list
marks the end of the list.
Of course
* you can
* start again.
|-
|
# Numbered (ordered) lists are good
## very organized
## easy to follow
|
# Numbered (ordered) lists are good
## very organized
## easy to follow
|-
|
* You can also
** break lines
** like this
|
* You can also
** break lines
** like this
|-
|
; Definition lists
; item : definition
; semicolon plus term
: colon plus definition
|
; Definition lists
; item : definition
; semicolon plus term
: colon plus definition
|-
|
* Or create mixed lists
*# and nest them
*#* like this
*#*; definitions
*#*: work:
*#*; apple
*#*; banana
*#*: fruits
|
* Or create mixed lists
*# and nest them
*#* like this
*#*; definitions
*#*: work:
*#*; apple
*#*; banana
*#*: fruits
|}
For simplicity, list items in wiki markup cannot be longer than a paragraph. A following blank line will end the list and reset the counter on ordered lists. Separating unordered list items with blank lines may look approximately normal on your screen, but it creates many separate one-item lists, which is a problem for people using [[w:screen readers|screen readers]], causing accessibility problems for people with disabilities.
===Other items===
* [[Help:Categories|Categories]]
* [[Help:Files|Files]]
* [[Help:Tables|Tables]]
* [[Help:Templates|Templates]]
==Common tasks==
==={{anchor|Revert}}Reverting===
{{shortcut|WB:REVERT}}
On Wikibooks, '''reverting''' means undoing the effects of one or more edits, which normally results in the page being restored to a version that existed sometime previously. More broadly, reverting may also refer to any action that in whole or in part reverses the actions of other editors.
This page contains technical information about making reverts. It should be borne in mind, however, that reverting good-faith actions of other editors (as opposed to [[Wikibooks:Vandalism|vandalism]]) is considered disruptive when done to excess, and can even lead to the reverter being [[Wikibooks:Blocking policy|blocked]] from editing.
====Manual reverting====
In some cases (for example, if a vandal added or removed text, and unrelated constructive edits have been made since), the easiest way to undo past edits may simply be to edit the current page, deleting wrongly added text or restoring wrongly deleted text (this can be copied and pasted from a past version of the page). However, it may be more convenient to restore a particular old version of the page from prior to the changes you wish to revert. To do this:
* Click the "history" tab at the top of the page to display the [[Help:Tracking changes#Page history|page history]].
* Click the time and date of the earlier version to which you wish to revert. You will see a phrase similar to: "This is an old revision of this page, as edited by ***.***.***.*** (talk) at 15:47, January 24, {{CURRENTYEAR}}. It may differ significantly from the current revision."
** '''Important:''' in the case of [[Wikibooks:Vandalism|vandalism]], take the time to make sure that you are reverting to the last version without the vandalism; there may be multiple consecutive vandal edits or they may be interspersed between constructive edits.
* Click the ''Edit'' tab as you normally would to edit a page. (Above the edit box, you will see a warning similar to: "You are editing an old revision of this page. If you save it, any changes made since then will be removed.") If editing requires a registered account, log in first, or leave a note on the discussion page.
* Complete the [[#Edit summary|edit summary]] field (the abbreviation "rv" can be used to stand for "revert"; the edit summary "rvv" means "reverting vandalism").
* Save the page.
* If constructive edits had been made after those that you wished to revert, return to the page history to find those edits, and redo them by hand if reasonably possible.
If reverting vandalism, check the [[Help:Tracking changes#User contributions|contribution history]] of the user who vandalized the page. If this user is vandalizing many pages, [[Wikibooks:Reading room/Administrative Assistance|report them]].
====Undo====
{{shortcut|WB:UNDO}}
The MediaWiki software sometimes enables editors to easily revert (or "undo") a single edit from the history of a page, without simultaneously undoing all constructive changes that have been made since. To do this, view the [[Help:Tracking changes#Page history|page history]] or the [[Help:Tracking changes#Viewing diffs|diff]] for the edit, then click on "undo" next to the edit in question. The software will attempt to create an edit page with a version of the page in which the undesirable edit has been removed, but all later edits are retained. There is a default edit summary, but this can be modified before saving.
It is also possible to undo several consecutive edits, even if they conflict among themselves: view the diff to be removed (by selecting the two extremal revisions in the history and clicking "compare selected revisions"), and click the "undo" link.
This feature removes the need to manually redo useful changes that were made after the edit which is being reverted. However, it will fail if undoing the edit would conflict with later edits. For example, if one edit adds a paragraph and a later edit modifies that paragraph, it will be impossible to automatically undo the earlier edit. In this case, you must determine how to resolve the problem manually.
====Rollback====
{{shortcut|WB:RBK|WB:ROLL|WB:ROLLBACK}}
[[Wikibooks:Administrators|Administrators]] and [[Wikibooks:Reviewers|reviewers]] who have been granted access to the rollback feature have additional links which:
* appear only next to the top edit
* revert ''all'' top consequent edits made by last editor
* work immediately, without the intermediate confirmation diff page
* add automatic [[#Edit summary|edit summary]] "'''m''' Reverted edits by [[Special:Contributions/Example|Example]] ([[User talk:Example|talk]]) to last version by Example2", marking edit as minor
Rollback links appear on the [[Help:Tracking changes#User contributions|user contributions]] pages, [[Help:Tracking changes#Watching pages|user watchlists]], [[Help:Tracking changes#Page history|history pages]] and [[Help:Tracking changes#Viewing diffs|diff pages]]. Note that in the last case, rollback links can be misleading, since reversion is not necessarily to the old version shown (the diff page may show the combined result of edits, including some by other editors or only part of the edits the rollback button would revert). To see the changes the rollback button will revert, view the specific diff that compares the last version from the last editor with the last version from the previous editor.
Rollback works much quicker than undo, since it:
* allows reverting without even looking at the list of revisions or diff
* does not require loading an edit page and sending the wikitext back to the server
* does not require a click of the save button
On the other hand, it is not as versatile as undo, since it does not allow specification of which edits have to be undone. One may want to revert more or less edits than the rollback does or edits which do not include the last edit. It also does not allow adding an explanation to the automatic edit summary and it should only be used to revert obvious vandalism.
Rolling back a good-faith edit, without explanation, may be misinterpreted as "I think your edit was no better than vandalism and reverting it doesn't need an explanation". Some editors are sensitive to such perceived slights; if you use the rollback feature other than for vandalism (for example, because undo is impractical due to the large page size), it is courteous to leave an explanation on the book's discussion page or on the talk page of the user, whose edit(s) you have reverted.
If someone else edited or rolled back the page before you clicked the "rollback" link, or if there was no previous editor, you will get an error message.
==== Bot rollback ====
In cases of flood vandalism, administrators and [[Wikibooks:Global rights policy#Global rollbackers|global rollbackers]] may choose to hide vandalism and reverts from [[Wikibooks:RC|recent changes]]. To do this, add <kbd>&bot=1</kbd> to the end of the URL used to access a user's contributions. For example: http://en.wikibooks.org/w/index.php?title=Special:Contributions&target=SomePersistentVandal&bot=1.
When the rollback links on the contributions list are clicked, the revert and the original edit that you are reverting will both be hidden from recent changes, unless you click the "bots" link in the Recent Changes to set <kbd>hidebots=0</kbd>. The edits are not hidden from contributions lists, page histories or watchlists. The edits remain in the database and are not removed, but they no longer flood "Recent changes". The aim of this feature is to reduce the annoyance factor of a flood vandal, with relatively little effort. This should '''not''' be used for reverting a change you just don't like, but is meant only for massive floods of simple vandalism.
==={{anchor|Redirect|Redirects}}Redirecting===
{{shortcut|WB:REDIRECT}}
'''Redirecting''' a page causes navigation to a given title to take the reader directly to a different page. The page the reader visits first is called the '''redirect''' page.
====Syntax of redirects====
A page will be treated as a redirect page if its wikitext begins with <code>#REDIRECT</code> followed by a valid [[#Wikilinks|wikilink]] or [[#Interwiki links|interwiki link]]. A space is usually left before the link. (Note that some alternative capitalizations of "REDIRECT" are possible.) The [[File:Vector toolbar redirect button.png|20px|link=]] button in the [[#Edit toolbar|edit toolbar]] can be used to produce this syntax.
Note that a redirect will only work as intended (i.e. take the reader directly to the target page) if the link is to an existing normal page (not a [[Special:SpecialPages|special page]]) on the same project (English Wikibooks). In other cases soft redirects are often used – see [[#Soft redirects|below]].
Examples:
*<code><nowiki>#REDIRECT [[Help:Tracking changes]]</nowiki></code> (redirects to the [[Help:Tracking changes]] page)
*<code><nowiki>#REDIRECT [[Help:Tracking changes#Preferences]]</nowiki></code> (redirects to the "Preferences" [[#Section|section]] of the [[Help:Tracking changes]] page)
*<code><nowiki>#REDIRECT [[fr:Help:Tracking changes]]</nowiki></code> (appears as a redirect to the [[Help:Tracking changes]] page on French Wikibooks, but will not work as a true redirect; this is called a "soft redirect")
Any text appearing after the redirect link will be ignored in the display, but may be used to add categories, comments, etc.
Note that the redirect link must be explicit – it cannot contain [[Help:Variables|variables]], [[Help:Templates|templates]], etc.
When redirecting to a [[Help:Categories|category]] page, prefix the target pagename with a colon to prevent the redirect from showing up in the category. (Redirects from one category page to another should use soft redirects—see [[#Soft redirects|below]].) Redirects to [[Help:Files|file]] pages also require the colon.
====Appearance of redirects====
If the redirect target is an existing page on English Wikibooks, then if a reader navigates to the redirect page—by means of a [[#Wikilinks|wikilink]] or a [[w:URL|URL]]—they will be taken directly to the target page. However, the browser still shows the URL of the redirect page, and the target page shows a small notice below the top title to indicate that you arrived by means of a redirect. For example, if you click [[WB:RR]], you will be redirected to the [[Wikibooks:Reading room]] page, and the top of the page will look like:
<blockquote style="background-color: white; color: black; border:1px solid black; padding: 1em;">
<div class="firstHeading" style="color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.8em; font-family: 'Linux Libertine',Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA;">Wikibooks:Reading room</div>
<div id="contentSub">(Redirected from <span class="plainlinks">[{{fullurl:WB:RR|redirect=no}} Wikibooks:RR]</span>)</div>
</blockquote>
To get the canonical URL of the target page in your browser's address bar, click the page's tab. To go to the redirect page itself (to edit it, view its history, etc.), click the link in the "(Redirected from...)" notice.
If the redirect target is a non-existing page ([[Help:Glossary#redlink|redlink]]), or a [[Special:SpecialPages|special page]], or a page in another project, then the redirect is not followed, and the reader sees the display of the redirect page (as illustrated below). If the target is a non-existent section of an existing page, then the redirect will take the reader to the top of the target page.
Note that chains of redirects are not followed. If title A redirects to B, and B is itself a redirect page, then a reader navigating to A will see the display of the redirect page B (as illustrated above). This situation is called a [[Help:Glossary#double redirect|double redirect]]. ([[Wikibooks:Bots|Bots]] fix such chains so that each redirect points directly to the final target page.)
====Creation of redirects====
A redirect page can be created like any other page. Simply type in the wikitext <syntaxhighlight lang="wikitext" inline=yes>#REDIRECT [[/xxx]]</syntaxhighlight>, replacing "xxx" with the title of the target page (optionally followed by a "#" sign and the section title). The [[File:Vector toolbar redirect button.png|20px|link=]] button in the [[#Edit toolbar|edit toolbar]] above the edit window can be used to save typing (either click it and then insert the desired target, or else type the target, select it with the mouse, then click the button). Make sure that there is no text ''before'' the #REDIRECT keyword, or the redirect will not work. There is not usually any reason to place any text after the link either, although sometimes categories (or categorizing templates) are added.
Similarly, any existing page can be edited to turn it into a redirect. If a new redirect page is created or an existing page turned into a redirect page, an [[#Edit summary|edit summary]] will be automatically generated stating that the page has been redirected to the given target. (This is overridden if the editor supplies an edit summary.)
When a page is [[WB:MOVE|moved]] (renamed), a redirect is automatically created from the old to the new name, and also one for the corresponding talk page (if that was moved as well). [[Wikibooks:Administrators|Administrators]] can choose to suppress creation of the redirect.
If the new page name is occupied by a redirect that has only one edit in its history and targeted to the old page name, it is replaced by the page being moved. If the redirect has more than one history entry, or has a different target page, then the move must be made by an administrator.
To edit a page which is already a redirect (or to view its history, talk page, etc.), follow the redirect to the target page, then click on the link in the "(Redirected from ...)" notice at the top of the page. This will take you to the redirect page itself. Another way to get to a redirect page is to go to the target page, and click "[[WB:WLH|What links here]]" (in the toolbox on the left of the page). This will show you all the back-links from that page, including redirects. Clicking on a redirect in this list will take you to the redirect page, not the target.
==== Soft redirects ====
As an alternative to the normal "hard" redirects (which take the reader directly to the target page), it is possible to create [[Help:Glossary#soft redirect|"soft" redirects]], which leave the reader on the redirect page, giving them the option of clicking the link to the target page. This is usually done in the following situations:
*When the target is on another project ([[w:|Wikipedia]], other language Wikibooks, etc.) or is a [[Special:SpecialPages|special page]]. (In these situations a hard redirect would behave as a soft one in any case.)
*For redirects between categories. (Hard redirects will work for category pages, but soft ones are preferred because of the software's inability to recategorize pages from redirected categories.)
Soft redirects are created using the templates {{tl|soft redirect}} and {{tl|category redirect}}.
==Potential problems==
==={{anchor|Protected page|Protected pages}}Page protection ===
{{see also|Wikibooks:Protection policy}}
[[Wikibooks:Administrators|Administrators]] are able to '''protect''' a page to restrict editing or moving of that page, and remove such '''protection'''. Protection can be indefinite, or expire after a specified time.
*'''Full protection''' prevents editing by everyone except administrators.
*'''Semi-protection''' prevents editing by unregistered contributors and contributors with accounts which are not autoconfirmed.
*'''Creation protection''' prevents a page (normally a previously [[Wikibooks:Deletion policy|deleted]] one) from being recreated.
*'''Move protection''' protects the page solely from [[WB:MOVE|moves]].
Any type of protection or unprotection may be requested at [[Wikibooks:Reading room/Administrative Assistance]]. Changes to a fully protected page should be proposed on the corresponding [[WB:DISCUSS|discussion page]].
==={{anchor|Edit conflict}}Edit conflicts ===
{{shortcut|WB:EC}}
If someone else makes an edit while you are making yours, the result is an edit conflict. Many conflicts can be automatically resolved by the Wiki. If it can't be resolved, however, you will need to resolve it yourself.
To understand what an edit conflict is, consider the following situation:
* Alice clicks ''Edit'' on a page.
* Bob clicks ''Edit'' on the same page, while Alice is editing.
* Alice finishes her edits and clicks "Save page". The page is saved with Alice's version while Bob is still editing.
* Bob finishes his edits and clicks "Save page". Bob gets an "edit conflict" page, because the software can't automatically reconcile the differences between Bob's and Alice's versions of the page. The edit conflict page gives Bob a chance to reconcile the differences manually.
==== Layout ====
At the top of the edit conflict page is an editing box containing Alice's version of the whole page, even if Bob is doing section editing.
At the bottom of the edit conflict page is a second editing box containing the text Bob was going to submit. This will be Bob's version of the page or section he was editing.
Between the two editing boxes is a [[Help:Tracking changes#Viewing diffs|diff]] that shows the difference between Alice's and Bob's version of the page. For the section Bob is editing it shows Bob's changes and Alice's possible changes, except for sections where Bob and Alice have both made the same change. For the other sections it shows the full new text as if all that text was added.
Bob can edit in the upper editing box and press Save.
==== Resolution ====
If Bob only made small changes, and Alice made large changes, he may choose to work from Alice's version, and re-merge his changes in. Bob might choose to add some text like "via edit conflict" to the edit summary to warn Alice and others that he had to do this—Alice can then review his merging for accuracy.
If Bob made large changes, and Alice made small changes, he may choose to work from his version. One option is for Bob to copy the bottom text into the top text (or just copy over the one section of the top text, if Bob was section editing), with an appropriate [[#Edit summary|edit summary]] (e.g., "via edit conflict, will remerge"). Then Bob can view the page history, determine Alice's changes, and re-apply them to his version, in a separate edit.
If both Alice and Bob made large changes, matters become complicated, and Alice and Bob just have to do the best they can. For example, if both Alice and Bob simultaneously add a large section of text on the same subject, then it may be best for Bob to submit his changes, and then for Alice and Bob to both have a look at the two versions and decide between themselves which version is better.
Bob should not just post his changes over the top of Alice's. We [[Wikibooks:Assume good faith|assume good faith]]—mistakes are occasionally made, and newcomers may not understand the edit conflict window. However, Bob must not routinely ignore edit conflicts. It is absolutely not acceptable for Bob to overwrite Alice out of laziness. We encourage contributors to double-check their merges by using the [[Help:Tracking changes#Viewing diffs|diff]] feature.
==== Prevention ====
Because edit conflicts are irritating and time-consuming, you may choose to alter your editing habits so they happen less often.
One of the easiest ways is to edit the smallest portion of the page necessary. If you are only going to be editing a single section in the page , then click the "Edit" link for that section, rather than the "Edit" link for the entire page. Two people can be working on different sections at the same time, and there will be no edit conflict.
To reduce the chance of edit conflicts, Wikibooks also has an "In Use" notice in its [[Help:Templates|Template]] namespace that people may use when editing a page over a long period of time. Simply put {{tl|in use}} on a page before proceeding with a major edit, and remove the template when the editing is complete.
== See also ==
{{Meta|Help:Link}}
*[[Editing Wikitext]]
* [[Template:Color|text color]]
{{Wikibooks editor navigation}}
[[ja:Wikibooks:編集の仕方]]
[[ko:위키책:편집실]]
q2ayaou6hxrd0c9mborwz1yqduwy64y
Ancient Greek/Alphabet
0
60764
4634709
4620931
2026-05-08T02:16:52Z
CryonicGoat
3582029
Fixed apostrophe before "===Breathings===" messing with the formatting. This is my first edit ^.^
4634709
wikitext
text/x-wiki
== History ==
Ancient Greeks wrote their language in many related regional alphabets. These ''epichoric'' alphabets used letter shapes related to early forms of the Hebrew and Arabic writing systems, but the exact shape and sound value of Greek letters varied. The most important early alphabet was the '''Ionic alphabet''' with 24 letters which was developed in the eastern Aegean. The Athenians adopted this writing system by law in 403 B.C. and it has been the basis of Greek spelling ever since. Modern Greek still uses this alphabet, although the sounds have shifted over 2400 years.
Diacritical marks were developed in the Hellenistic Period (after 323 B.C.) to mark the sound [h], which existed in Attic but not Ionic, and to help with the pronunciation of historical texts. Punctuation was developed in this period too. Lower-case forms of letters were developed in the Byzantine Period, in about the 10th century.
Modern editions use the Ionic alphabet with upper- and lower-case letters, accents and other diacritical marks, and punctuation for all ancient Greek texts, even if they were not originally written that way. This wikibook will use the modern conventions.
== Graphemes ==
{| class="wikitable" style=text-align:center
!Greek Letter
!Name
!English Name
!IPA
!English
|-
| Α α||ἄλφα||alpha
|[a, aː]
|a (f''a''ther)
|-
| Β β||βῆτα||beta
|[b]
|b (''b''et)
|-
| Γ γ||γάμμα||gamma
|[g, ŋ]
|g (''g''et);<br>ng (ki''ng'') wherever it precedes γ, κ, ξ, or χ<ref group="note" name="nasalgamma">'''Gamma''' is the only consonant which has two different sounds. It is a hard [g] normally but [ŋ] before other guttural consonants, e.g. ἄγγελος, ángelos, 'messenger'. This is called ''nasal gamma''.</ref>
|-
| Δ δ||δέλτα||delta
|[d]
|d (''d''og)
|-
| Ε ε||εἶ, later ἔψῑλόν||epsilon
|[e]
|ai (b''ai''t)
|-
| Ζ ζ||ζῆτα||zeta
|[zd]
|zd (wi''sd''om)
|-
| Η η||ἦτα||eta
|[ε:]
|ai (h''ai''r)
|-
| Θ θ
|θῆτα||theta
|[tʰ]
| t! (''t''op)
|-
| Ι ι||ἰῶτα||iota
|[i, iː]
|ĭ (h''i''t), ee (s''ee''m)
|-
| Κ κ||κάππα||kappa
|[k]
|k (s''c''oop)
|-
| Λ λ||λάβδα||lambda
|[l]
|l (''l''ame)
|-
| Μ μ||μῦ||mu
|[m]
|m (''m''ile)
|-
| Ν ν||νῦ||nu
|[n]
|n (''n''o)
|-
| Ξ ξ||ξεῖ, later ξῖ||xi
|[ks]
|x (a''x''e)
|-
| Ο ο||οὖ, ὄ, later ὂμῑκρόν||omicron
| [o]
|ō (b''oa''t)
|-
| Π π||πεῖ||pi
|[p]
|p (s''p''ot)
|-
| Ρ ρ||ῥῶ||rho
|[r]
|r ('Scottish' r)
|-
| Σ σ ς<ref group="note" name="finalsigma">The lower-case '''sigma''' is written ς at the end of words, e.g. βάσις (but ΒΑΣΙΣ). This is called ''final sigma''. Some texts use a simplified Hellenistic form, Ϲ ϲ, called ''lunate sigma'', because it looks like a crescent moon.</ref>||σίγμα||sigma
|[s]
|s (''s''it)
|-
| Τ τ||ταῦ||tau
|[t]
|t (s''t''op)
|-
| Υ υ||ὗ, later ὒψῑλόν||upsilon
|[y, yː]<ref group="note" name="ypsilon">Like ''u'' in French or ''ü'' in German. Can be pronounced by pronouncing ''ee'' while pursing the lips as if for the ''oo'' in "food."</ref>
|u (''u''nicorn)
|-
| Φ φ
|φεῖ, later φῖ||phi
|[pʰ]
|p! (to''ph''at)
|-
| Χ χ||χεῖ, later χῖ||chi
|[kʰ]
|c! (''c''oop)
|-
| Ψ ψ||ψεῖ, later ψῖ||psi
|[ps]
|ps (a''ps''e)
|-
| Ω ω||ὦ, later ὦμέγα||omega
| [oː]
|aw (l''aw'')
|}
<references group="note" responsive="" />
<references />
<references />
==Pronunciation==
===Reconstruction===
There are no recordings of ancient Greek. It is difficult, but not impossible, to reconstruct the pronunciation of an ancient language. Through various methods, particularly by comparison with other languages, and observation of sounds that are confused, we can form good estimates.
This wikibook uses one common reconstruction of the pronunciation of Greek as it would have been spoken in fifth-century Athens. However, please note that scholars do not agree on the pronunciation of Ancient Greek. If you ever take a formal class in Ancient Greek, you may find that your professor or teacher pronounces the words differently depending upon the reconstructed model which they learned in school.
Also, just as English pronunciation has changed over time and is different in different regions of the English speaking world, Ancient Greek pronunciation was dependent both on dialect and era. Many dialectical differences are reflected in the spelling of words (so it is not necessary to explain those here), but it is important to note that Ionic Greek (including the language of Homer) had some differences from Attic Greek. Greek spelling became fixed, so many changes in pronunciation from the Hellenistic Period onwards are not reflected in the spelling.
===Consonants===
In addition to the table above, some particular points need to be raised over pronunciation.
*Normally, γ is pronounced with a 'hard' g sound. However, before κ, χ, γ, it is pronounced as a nasal [ŋ].
*the letters ξ, ζ, and ψ all represent double consonant sounds (ks, zd, ps).
*While many pronounce θ, φ and χ according to the English sounds "th" (as in ''thin'') and "ph" (as in ''photo'') and the Scottish "ch" (as in ''loch''), scholars suggest that this is not the correct ancient pronunciation. Evidence for this comes to us from Coptic, a language once spoken in Egypt. Coptic, unlike Greek, has a letter that corresponds to the English letter "H", which is ϩ or ''hori'' (Greek only has the rough breathing mark). When one word ends with either τ, π, or κ, and the word directly following begins with ϩ , the last letter of the first word will often contract with the first letter of the second word, resulting in θ, φ, and χ, respectively (e.g. πετ ϩοογ >> πε''θ''οογ). While this affected the spelling it did not affect pronunciation, resulting in two pronounced sounds (t-h, p-h, k-h). The following "H" sound is called aspiration.
===Vowels===
*The letters ι, α, and υ can represent short and long vowels. The letters ε and ο are short, and η and ω are long. Due to changes in the English language over time, the terms "long" and "short" are confusing here. The Greek letters epsilon and omicron were short and contrasted with the long eta and omega. In English, the "long" ā sound in "bait" is actually short when compared to the word "bayed." Similarly, the "short" ĕ sound of "bed" is long when compared to the word "bet." (It's the following consonant that determines the length in English.) In Ancient Greek, short epsilon had the sound of ā in "bait," while long eta had the sound of ĕ in "bed." The story is similar for omicron and omega (but because of variation in the way English is pronounced, it is not easy to find example words). The most important thing to remember, though, is that epsilon and omicron are short, whereas eta and omega are long.
*ι is normally a separate vowel. However, in certain circumstances, it is possible to pronounce it as a semivowel [j] (like English ''y''). Generally, the effect is the same.
===Diphthongs===
{| class="wikitable" style=text-align:center
!rowspan=2| Greek<br>Diphthong
!colspan=2| IPA
!rowspan=2| English
|-
!Homeric
!Classical
|-
| αι
|colspan=2| [ai]
|''eye''
|-
| ᾳ||[aːi]||[aː]||—
|-
| ει||[eː, ei]||[eː]||h''ay''
|-
| ῃ||[εːi]||[εː]||h''ay''/h''ai''r
|-
| οι
|colspan=2| [οi]
|b''oy''
|-
| ῳ||[oːi]||[ɔː]||—
|-
| αυ
|colspan=2| [au]
|l''ou''d
|-
| ευ
|colspan=2| [eu]
|—
|-
| ηυ
|colspan=2| [εːu]
|—
|-
| ου||[oː, ou]||[oː]||s''oo''n
|}
Notice the short line under the long vowels α, η, ω in three instances: this is the iota subscript. It indicates that there was originally an iota after the vowel, i.e. ῳ = ωι. Some texts simply print an iota after the vowel: this is known as an iota adscript, and some texts mix the two, using a subscript with lowercase letters, and an adscript for capitals (Ωιομην for ῳομην). By Classical times, these had become monophthongs (one vowel sound) equivalent to their non-iotized counterparts, and can simply be pronounced as such. Note that when alpha takes the iota subscript, one can infer that the alpha was originally long, whereas the diphthong αι is formed from short alpha.
=== Aspirates ===
The letters θ, φ, χ are not fricatives: they are not the same as the sounds th, f, ch in ''th''in, ''f''oot, and lo''ch'' (although these are the sounds they have become in Modern Greek). These letters have hard sounds, but are pronounced with an exhalation, like an ''h'' sound. Listen hard to your voice when you pronounce the examples above: you'll find that there is a difference between the ''p'' in ''pot'' and in ''spot''. Don't worry if you have too much difficulty making this distinction; many teachers and students prefer to use the fricative versions (''th, f, kh'') so that they are easier to distinguish for speakers and listeners.
== Diacritical Marks ==
You will notice that many Greek letters have marks over them, and you will likely recognise the more common accents from other languages.
===Breathings===
Most important are the breathing marks. Breathings normally occur only at the beginning of a word, though they will, at times, be present in the middle - where two words have been joined together. Greek has two types of breathing, the smooth breathing, ᾿, and the rough breathing, ῾. Unlike accents, these are quite important, and you should try to learn them. A word that begins with a rough breathing on a vowel should be pronounced with an 'h'. So the Greek word ὅρος, meaning 'boundary', should be read 'horos', while ὄρος, a mountain, should be read 'oros'. Be careful never to confuse breathings with quotation marks or accents; when you write or quote Greek, the breathings should look like half-rings to clearly distinguish them from other marks. When rho occurs at the beginning of a word, it too takes a rough breathing mark and is transliterated ''rh'', whereas when two rhos occur consecutively, the first takes a smooth breathing and the second a rough, although these breathing marks are not always indicated. Whenever upsilon occurs at the beginning of a word, it takes a rough breathing, except in the name of the letter itself. As with accent marks, breathing marks are written on the second of the two characters of a diphthong. Accents and breathings are usually written to the left of capital letters: Ἇ for ἇ.
===Diaeresis===
The diaeresis, ¨, is not strictly an accent, nor is it an umlaut, as used in German. It is mainly found on iotas to indicate that the letter should be pronounced separately from the vowel before it. For example, Verdi's opera Aïda is not pronounced 'eye-da', but 'a-yee-da'. Likewise, whereas αι is a diphthong, αϊ is two separate vowels.
===Pitch accent===
In Greek, the accent does not mark stress (as in Spanish) or a change in vowel quality (as in French), but the pitch. Do not worry about remembering accents to begin with - it is quite possible to have a degree in Classics with only the vaguest knowledge of accents.
Greek has three accents: the acute or oxytone accent, written ´, and indicating a rise in pitch, the grave accent, `, indicating either a fall in pitch or a normal pitch (no one knows for sure), and a circumflex, or a perispomenon, ῀, which indicates a rise, followed by a fall. In some texts this appears as a rounded carat, like the sign ^, in others, like a tilde, ~. Accents only appear on vowels. If a diphthong is accented, the accent appears on the second character.
==== Accents and Morae ====
Ancient Greek was a language that distinguished between long and short syllables. Recall that the letters omicron and epsilon always denote short vowels for the purposes of accentuation (length can be determined differently for the sake of meter). Alpha, iota, and upsilon (α, ι, υ) can denote either short or long. but the letters eta and omega are always long, and all the diphthongs (αι, οι, ει, υι, αυ, ευ, ου) and vowels with an iota subscript (ᾳ, ῃ, ῳ) are long, except that αι and οι are usually short at the end of a word (exceptions will be noted). αι and οι are long when (1) they are not at the end of a word, (2) they end a verb in the optative mood, (3) they end noun in the locative, e.g οἴκοι (4) they end certain adverbs, e.g. αἰαῖ.
The basic unit of meter is a mora. The difference between long and short vowel is the number of ''morae'' (singular: ''mora'') it contains. A short vowel counts as one mora, and a long vowel counts as two.
==== Rules for Accentuation ====
# Almost every Ancient Greek word has an accent, and the accent will always fall on one of the last three syllables.<ref>Words that do not have accents are called enclitics. These tend to be small particles. They are also explained below.</ref> Examples: ποταμός (river; accent on the ultima), ἵππος (horse; accent on the penult) ἰπποπόταμος (hippopotamus; accent on the antepenult).<ref>Betts, Gavin and Alan Henry. ''Teach Yourself Ancient Greek''. Ontario, Canada: McGraw-Hill, 2009. p.5</ref>
# The rules for accents vary based on the type of word being accented, e.g. nouns and verbs<ref>The notes on recessive accents are taken from [http://platonicpsychology.blogspot.com/2011/09/reasoningspirited-classical-greek.html Platonic Psychology] summarized from Eleanor Dickey's unpublished ''Greek Prose Composition''</ref> are accented differently.
===== Recessive Accents (Verbs) =====
# Most verbs have recessive accents (they go as close to the beginning of the word as possible), except infinitives and participles (which have persistent accents) and forms of a few verbs like εἰμί which have enclitic forms.
# Recessive accents always appear over the antepenult or penult. They appear over the antepenult if the last syllable is short, and over the penult if the last syllable is long.
#In the optative, αι and οι are long at the end of a word
#Contract Verbs (and other contract words) have accents that reflect the uncontracted form of the words
#* If the accented syllable is not the one that contracts, there is no effect on the accent.
#* If the accented vowel is the first of the two vowels that contract, the resulting vowel will have a circumflex
#* If the accented vowel is the second vowel in the contracted pair, it will have an acute accent.
# Consider the example of παιδευσαι: παίδευσαι 2nd person singular aorist middle imperative, (αι is short) παιδεύσαι 2nd person singular aorist active optative (αι is long), παιδεῦσαι aorist active infinitive (accent is persistent).
===== Persistent Accents (Nouns and Adjectives) =====
1. Nouns by default have persistent accent: that is to say, the accent (whichever it is) remains, as the same accent, on the same syllable (given by the principal parts of the noun) regardless of the declensional endings it might take on, unless prohibited by a rule of accentuation.
==== Accent Pronunciation ====
# When a short vowel takes the acute accent, its pitch is rising. When a long vowel takes the acute, its second mora has a rising pitch. The mora immediately following has a falling pitch, even if it is on the next word.
# A circumflex can occur only over a long vowel. It indicates that the first mora has a rising pitch and the second a falling pitch. It is only allowed to occur on the last two syllables.
# The pronunciation of the grave accent is not precisely known. An acute accent on the last syllable (the ''ultima'') changes into a grave unless the word stands last in its clause. The grave does not occur under any other circumstances. Example: ὁρ-ῶ αὐ-τό, but αὐ-τὸ ὁ-ρῶ.
# If the last syllable is long, the accent will not fall on the third last syllable (the ''antepenult''). (This rule has exceptions, but don't worry about them right now.)
# If the second last syllable (the ''penult'') is long and it takes the accent:
:: The accent will be an acute if and only if the ultima is long. Examples: βαί-νω, σῴ-ζω
:: The accent will be a circumflex if and only if the ultima is short. Examples: βαῖ-νε, σῷ-ζε
== Punctuation ==
Ancient Greek is generally punctuated in texts for the reader's convenience. Full stops and commas are used in roughly the same way as English. However, there is no exclamation mark, and the Greek question mark is used—it looks like a semicolon ( ; ). Instead of colons and semicolons, Greek texts have a raised dot ( · ).
== Notes ==
<references />
== External Resources ==
* Anki Deck: [https://ankiweb.net/shared/info/1592202403 Ancient Greek Alphabet]
{{BookCat}}
8lwvdnnu7irvzu89demycw86iprpclq
Wikijunior:Big Book of Fun Science Experiments/Red cabbage indicator
110
73467
4634653
4601852
2026-05-07T15:06:32Z
Codename Noreste
3441010
Rejected the last text change (by [[Special:Contributions/~2025-34511-53|~2025-34511-53]]) and restored revision 3797955 by MarcGarver: Reverting an unexplained lowercasing of a section word; the section words should probably remain capitalized for consistency.
4634653
wikitext
text/x-wiki
An acid and base indicator is a chemical that shows whether different chemicals are '''acids''' (like lemon juice) or '''bases''' (like baking powder). This is called a chemical's '''pH'''. You can make an indicator using red cabbage juice. The cabbage juice changes color depending on how acidic or basic (alkaline) the chemical is. The pH level is indicated by the amount of hydrogen (the "H" in "pH") ions in the tested chemical. Hydrogen ions are protons that had their electrons stripped off them (since hydrogen atoms consist of one proton and one electron).
We often use a test like this to make sure swimming pools are kept at the right pH. If the water in a swimming pool is too acidic or too basic (alkaline), it can damage pool equipment, bathing suits, or stop the chlorine that keeps pools clean from working properly.
pH is measured on a scale of 1 to 14. Neutral chemicals have a pH of 7. Acidic chemicals have a pH of 1-6. Basic (alkaline) chemicals have a pH of 8-14.
==The Experiment==
===Safety===
As with all experiments, you should always get help from an adult. Some acids and bases can hurt your skin, so you should wear:
* Rubber gloves
* An apron
* Safety glasses (regular glasses, sunglasses or swimming goggles are okay if you don't have safety glasses).
If you get chemicals on your hands or gloves, do not touch your eyes! Wash your hands after completing the experiment.
===What You Need===
* A red cabbage
* A knife or grater
* A medium sized bowl
* At least 4 small cups
* Chemicals to test such as lemon juice and baking powder or soda
* coffee filter
[[Image:Knifeoncabbage.png|200px|right]]
===Step 1===
[[Image:Red_Cabbage_Cups.jpg|300px|right]]
[[Image:Spotting tile.png|150px|right]]
* Have a parent, guardian, or teacher help you cut or grate between a quarter or a half of the cabbage into small pieces.
* Put the cabbage into a medium sized bowl.
* Pour water over the cabbage. You can use cold water, warm or boiling water. Boiling water will work the fastest, but only boil the water if you have an adult to help you.
* Let the cabbage sit in the water for a while (30-45 minutes), until the water turns a deep purple colour. You can stir the mixture to speed up the process.
===Step 2===
* Using a coffee filter or a fine sieve, strain the juice into a cup. It should be deep bluish purple in colour.
* Pour equal amounts of the strained liquid into small plastic cups. These are your 'test tubes' in which you will test different chemicals.
===Step 3===
* Set one of your cups ('test tubes') aside. This is your control. It already contains water, which usually has a pH of 7. This means that water is neither an acid nor a base.
* Assemble some testing chemicals (some good ones to try are below).
* Label each cup with the name of the test chemical each cup will contain, so you will remember what you put in each cup.
* Which chemical do you think is the most acidic?
===Step 4===
* Pour, drip or spoon a small quantity of each test chemical into the cup labeled with its name.
* Observe the change in colour of the juice. If the juice turns reddish, the chemical you are testing is an acid. If the water turns bluish, the chemical you are testing is a base. If it stays the same, the chemical is neutral, like water.
==Some Chemicals to Test==
* Lemon juice
* Baking powder or soda
* Milk
* Yogurt
* Vinegar
* Soap
==Observations==
* Arrange your cups from red, to pink, to violet, to purple, to blue, and to green. You might not have all of these colors, but that's okay.
* The cup that is most red is the most acidic. The cup that is the most blue or green is the most basic (alkaline). Which chemical is the most acidic? Which is the most basic (alkaline)?
{{BookCat}}
m0z29f1s2ddvdxwt1o4r682ps36sg1j
Unicode/Character reference/9000-9FFF
0
77332
4634670
4632870
2026-05-07T17:19:23Z
~2026-20501-36
3573321
4634670
wikitext
text/x-wiki
{{:Unicode/Character reference}}
{| border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse"
|-
| colspan="17" style="background:#f8f8f8;text-align:center" | '''CJK Unified Ideographs (ctd.)'''
|----- style="background:#ccccff"
!width="4%"|U+!!width="6%"|0!!width="6%"|1!!width="6%"|2!!width="6%"|3!!width="6%"|4!!width="6%"|5!!width="6%"|6!!width="6%"|7!!width="6%"|8!!width="6%"|9!!width="6%"|A!!width="6%"|B!!width="6%"|C!!width="6%"|D!!width="6%"|E!!width="6%"|F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|900x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9000|退}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9001|送}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9002|适}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9003|逃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9004|逄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9005|逅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9006|逆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9007|逇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9008|逈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9009|选}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900A|逊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900B|逋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900C|逌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900D|逍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900E|逎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900F|透}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|901x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9010|逐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9011|逑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9012|递}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9013|逓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9014|途}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9015|逕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9016|逖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9017|逗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9018|逘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9019|這}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901A|通}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901B|逛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901C|逜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901D|逝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901E|逞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901F|速}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|902x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9020|造}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9021|逡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9022|逢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9023|連}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9024|逤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9025|逥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9026|逦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9027|逧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9028|逨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9029|逩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902A|逪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902B|逫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902C|逬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902D|逭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902E|逮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902F|逯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|903x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9030|逰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9031|週}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9032|進}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9033|逳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9034|逴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9035|逵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9036|逶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9037|逷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9038|逸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9039|逹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903A|逺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903B|逻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903C|逼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903D|逽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903E|逾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903F|逿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|904x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9040|遀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9041|遁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9042|遂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9043|遃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9044|遄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9045|遅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9046|遆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9047|遇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9048|遈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9049|遉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904A|遊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904B|運}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904C|遌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904D|遍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904E|過}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904F|遏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|905x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9050|遐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9051|遑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9052|遒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9053|道}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9054|達}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9055|違}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9056|遖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9057|遗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9058|遘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9059|遙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905A|遚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905B|遛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905C|遜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905D|遝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905E|遞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905F|遟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|906x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9060|遠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9061|遡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9062|遢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9063|遣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9064|遤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9065|遥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9066|遦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9067|遧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9068|遨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9069|適}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906A|遪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906B|遫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906C|遬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906D|遭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906E|遮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906F|遯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|907x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9070|遰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9071|遱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9072|遲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9073|遳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9074|遴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9075|遵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9076|遶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9077|遷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9078|選}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9079|遹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907A|遺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907B|遻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907C|遼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907D|遽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907E|遾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907F|避}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|908x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9080|邀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9081|邁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9082|邂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9083|邃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9084|還}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9085|邅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9086|邆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9087|邇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9088|邈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9089|邉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908A|邊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908B|邋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908C|邌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908D|邍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908E|邎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908F|邏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|909x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9090|邐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9091|邑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9092|邒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9093|邓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9094|邔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9095|邕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9096|邖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9097|邗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9098|邘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9099|邙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909A|邚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909B|邛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909C|邜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909D|邝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909E|邞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909F|邟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|90Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A0|邠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A1|邡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A2|邢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A3|那}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A4|邤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A5|邥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A6|邦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A7|邧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A8|邨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A9|邩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AA|邪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AB|邫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AC|邬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AD|邭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AE|邮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AF|邯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|90Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B0|邰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B1|邱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B2|邲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B3|邳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B4|邴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B5|邵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B6|邶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B7|邷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B8|邸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B9|邹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BA|邺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BB|邻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BC|邼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BD|邽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BE|邾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BF|邿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|90Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C0|郀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C1|郁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C2|郂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C3|郃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C4|郄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C5|郅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C6|郆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C7|郇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C8|郈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C9|郉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CA|郊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CB|郋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CC|郌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CD|郍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CE|郎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CF|郏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|90Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D0|郐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D1|郑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D2|郒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D3|郓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D4|郔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D5|郕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D6|郖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D7|郗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D8|郘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D9|郙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DA|郚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DB|郛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DC|郜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DD|郝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DE|郞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DF|郟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|90Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E0|郠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E1|郡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E2|郢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E3|郣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E4|郤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E5|郥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E6|郦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E7|郧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E8|部}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E9|郩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EA|郪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EB|郫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EC|郬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90ED|郭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EE|郮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EF|郯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|90Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F0|郰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F1|郱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F2|郲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F3|郳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F4|郴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F5|郵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F6|郶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F7|郷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F8|郸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F9|郹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FA|郺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FB|郻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FC|郼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FD|都}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FE|郾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FF|郿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|910x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9100|鄀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9101|鄁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9102|鄂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9103|鄃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9104|鄄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9105|鄅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9106|鄆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9107|鄇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9108|鄈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9109|鄉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910A|鄊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910B|鄋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910C|鄌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910D|鄍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910E|鄎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910F|鄏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|911x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9110|鄐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9111|鄑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9112|鄒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9113|鄓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9114|鄔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9115|鄕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9116|鄖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9117|鄗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9118|鄘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9119|鄙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911A|鄚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911B|鄛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911C|鄜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911D|鄝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911E|鄞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911F|鄟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|912x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9120|鄠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9121|鄡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9122|鄢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9123|鄣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9124|鄤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9125|鄥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9126|鄦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9127|鄧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9128|鄨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9129|鄩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912A|鄪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912B|鄫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912C|鄬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912D|鄭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912E|鄮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912F|鄯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|913x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9130|鄰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9131|鄱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9132|鄲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9133|鄳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9134|鄴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9135|鄵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9136|鄶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9137|鄷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9138|鄸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9139|鄹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913A|鄺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913B|鄻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913C|鄼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913D|鄽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913E|鄾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913F|鄿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|914x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9140|酀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9141|酁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9142|酂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9143|酃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9144|酄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9145|酅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9146|酆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9147|酇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9148|酈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9149|酉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914A|酊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914B|酋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914C|酌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914D|配}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914E|酎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914F|酏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|915x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9150|酐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9151|酑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9152|酒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9153|酓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9154|酔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9155|酕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9156|酖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9157|酗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9158|酘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9159|酙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915A|酚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915B|酛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915C|酜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915D|酝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915E|酞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915F|酟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|916x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9160|酠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9161|酡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9162|酢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9163|酣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9164|酤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9165|酥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9166|酦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9167|酧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9168|酨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9169|酩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916A|酪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916B|酫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916C|酬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916D|酭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916E|酮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916F|酯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|917x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9170|酰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9171|酱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9172|酲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9173|酳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9174|酴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9175|酵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9176|酶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9177|酷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9178|酸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9179|酹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917A|酺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917B|酻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917C|酼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917D|酽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917E|酾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917F|酿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|918x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9180|醀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9181|醁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9182|醂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9183|醃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9184|醄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9185|醅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9186|醆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9187|醇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9188|醈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9189|醉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918A|醊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918B|醋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918C|醌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918D|醍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918E|醎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918F|醏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|919x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9190|醐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9191|醑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9192|醒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9193|醓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9194|醔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9195|醕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9196|醖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9197|醗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9198|醘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9199|醙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919A|醚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919B|醛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919C|醜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919D|醝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919E|醞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919F|醟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|91Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A0|醠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A1|醡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A2|醢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A3|醣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A4|醤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A5|醥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A6|醦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A7|醧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A8|醨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A9|醩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AA|醪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AB|醫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AC|醬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AD|醭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AE|醮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AF|醯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|91Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B0|醰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B1|醱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B2|醲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B3|醳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B4|醴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B5|醵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B6|醶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B7|醷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B8|醸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B9|醹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BA|醺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BB|醻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BC|醼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BD|醽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BE|醾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BF|醿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|91Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C0|釀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C1|釁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C2|釂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C3|釃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C4|釄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C5|釅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C6|釆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C7|采}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C8|釈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C9|釉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CA|释}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CB|釋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CC|里}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CD|重}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CE|野}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CF|量}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|91Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D0|釐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D1|金}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D2|釒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D3|釓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D4|釔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D5|釕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D6|釖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D7|釗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D8|釘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D9|釙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DA|釚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DB|釛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DC|釜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DD|針}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DE|釞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DF|釟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|91Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E0|釠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E1|釡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E2|釢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E3|釣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E4|釤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E5|釥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E6|釦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E7|釧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E8|釨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E9|釩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EA|釪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EB|釫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EC|釬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91ED|釭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EE|釮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EF|釯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|91Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F0|釰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F1|釱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F2|釲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F3|釳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F4|釴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F5|釵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F6|釶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F7|釷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F8|釸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F9|釹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FA|釺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FB|釻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FC|釼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FD|釽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FE|釾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FF|釿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|920x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9200|鈀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9201|鈁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9202|鈂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9203|鈃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9204|鈄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9205|鈅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9206|鈆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9207|鈇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9208|鈈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9209|鈉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920A|鈊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920B|鈋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920C|鈌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920D|鈍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920E|鈎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920F|鈏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|921x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9210|鈐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9211|鈑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9212|鈒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9213|鈓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9214|鈔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9215|鈕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9216|鈖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9217|鈗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9218|鈘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9219|鈙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921A|鈚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921B|鈛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921C|鈜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921D|鈝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921E|鈞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921F|鈟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|922x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9220|鈠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9221|鈡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9222|鈢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9223|鈣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9224|鈤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9225|鈥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9226|鈦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9227|鈧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9228|鈨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9229|鈩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922A|鈪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922B|鈫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922C|鈬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922D|鈭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922E|鈮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922F|鈯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|923x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9230|鈰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9231|鈱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9232|鈲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9233|鈳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9234|鈴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9235|鈵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9236|鈶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9237|鈷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9238|鈸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9239|鈹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923A|鈺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923B|鈻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923C|鈼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923D|鈽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923E|鈾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923F|鈿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|924x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9240|鉀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9241|鉁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9242|鉂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9243|鉃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9244|鉄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9245|鉅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9246|鉆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9247|鉇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9248|鉈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9249|鉉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924A|鉊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924B|鉋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924C|鉌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924D|鉍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924E|鉎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924F|鉏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|925x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9250|鉐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9251|鉑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9252|鉒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9253|鉓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9254|鉔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9255|鉕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9256|鉖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9257|鉗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9258|鉘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9259|鉙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925A|鉚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925B|鉛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925C|鉜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925D|鉝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925E|鉞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925F|鉟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|926x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9260|鉠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9261|鉡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9262|鉢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9263|鉣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9264|鉤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9265|鉥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9266|鉦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9267|鉧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9268|鉨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9269|鉩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926A|鉪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926B|鉫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926C|鉬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926D|鉭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926E|鉮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926F|鉯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|927x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9270|鉰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9271|鉱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9272|鉲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9273|鉳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9274|鉴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9275|鉵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9276|鉶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9277|鉷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9278|鉸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9279|鉹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927A|鉺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927B|鉻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927C|鉼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927D|鉽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927E|鉾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927F|鉿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|928x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9280|銀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9281|銁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9282|銂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9283|銃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9284|銄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9285|銅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9286|銆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9287|銇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9288|銈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9289|銉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928A|銊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928B|銋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928C|銌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928D|銍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928E|銎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928F|銏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|929x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9290|銐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9291|銑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9292|銒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9293|銓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9294|銔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9295|銕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9296|銖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9297|銗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9298|銘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9299|銙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929A|銚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929B|銛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929C|銜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929D|銝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929E|銞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929F|銟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|92Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A0|銠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A1|銡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A2|銢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A3|銣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A4|銤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A5|銥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A6|銦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A7|銧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A8|銨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A9|銩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AA|銪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AB|銫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AC|銬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AD|銭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AE|銮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AF|銯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|92Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B0|銰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B1|銱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B2|銲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B3|銳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B4|銴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B5|銵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B6|銶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B7|銷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B8|銸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B9|銹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BA|銺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BB|銻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BC|銼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BD|銽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BE|銾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BF|銿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|92Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C0|鋀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C1|鋁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C2|鋂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C3|鋃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C4|鋄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C5|鋅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C6|鋆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C7|鋇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C8|鋈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C9|鋉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CA|鋊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CB|鋋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CC|鋌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CD|鋍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CE|鋎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CF|鋏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|92Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D0|鋐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D1|鋑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D2|鋒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D3|鋓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D4|鋔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D5|鋕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D6|鋖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D7|鋗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D8|鋘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D9|鋙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DA|鋚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DB|鋛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DC|鋜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DD|鋝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DE|鋞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DF|鋟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|92Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E0|鋠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E1|鋡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E2|鋢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E3|鋣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E4|鋤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E5|鋥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E6|鋦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E7|鋧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E8|鋨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E9|鋩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EA|鋪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EB|鋫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EC|鋬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92ED|鋭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EE|鋮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EF|鋯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|92Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F0|鋰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F1|鋱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F2|鋲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F3|鋳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F4|鋴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F5|鋵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F6|鋶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F7|鋷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F8|鋸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F9|鋹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FA|鋺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FB|鋻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FC|鋼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FD|鋽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FE|鋾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FF|鋿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|930x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9300|錀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9301|錁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9302|錂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9303|錃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9304|錄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9305|錅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9306|錆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9307|錇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9308|錈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9309|錉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930A|錊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930B|錋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930C|錌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930D|錍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930E|錎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930F|錏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|931x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9310|錐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9311|錑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9312|錒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9313|錓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9314|錔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9315|錕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9316|錖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9317|錗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9318|錘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9319|錙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931A|錚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931B|錛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931C|錜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931D|錝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931E|錞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931F|錟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|932x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9320|錠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9321|錡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9322|錢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9323|錣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9324|錤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9325|錥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9326|錦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9327|錧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9328|錨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9329|錩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932A|錪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932B|錫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932C|錬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932D|錭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932E|錮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932F|錯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|933x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9330|錰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9331|錱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9332|録}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9333|錳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9334|錴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9335|錵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9336|錶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9337|錷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9338|錸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9339|錹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933A|錺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933B|錻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933C|錼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933D|錽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933E|錾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933F|錿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|934x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9340|鍀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9341|鍁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9342|鍂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9343|鍃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9344|鍄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9345|鍅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9346|鍆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9347|鍇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9348|鍈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9349|鍉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934A|鍊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934B|鍋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934C|鍌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934D|鍍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934E|鍎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934F|鍏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|935x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9350|鍐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9351|鍑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9352|鍒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9353|鍓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9354|鍔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9355|鍕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9356|鍖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9357|鍗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9358|鍘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9359|鍙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935A|鍚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935B|鍛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935C|鍜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935D|鍝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935E|鍞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935F|鍟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|936x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9360|鍠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9361|鍡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9362|鍢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9363|鍣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9364|鍤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9365|鍥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9366|鍦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9367|鍧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9368|鍨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9369|鍩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936A|鍪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936B|鍫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936C|鍬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936D|鍭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936E|鍮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936F|鍯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|937x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9370|鍰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9371|鍱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9372|鍲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9373|鍳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9374|鍴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9375|鍵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9376|鍶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9377|鍷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9378|鍸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9379|鍹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937A|鍺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937B|鍻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937C|鍼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937D|鍽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937E|鍾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937F|鍿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|938x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9380|鎀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9381|鎁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9382|鎂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9383|鎃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9384|鎄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9385|鎅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9386|鎆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9387|鎇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9388|鎈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9389|鎉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938A|鎊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938B|鎋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938C|鎌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938D|鎍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938E|鎎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938F|鎏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|939x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9390|鎐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9391|鎑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9392|鎒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9393|鎓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9394|鎔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9395|鎕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9396|鎖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9397|鎗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9398|鎘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9399|鎙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939A|鎚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939B|鎛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939C|鎜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939D|鎝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939E|鎞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939F|鎟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|93Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A0|鎠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A1|鎡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A2|鎢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A3|鎣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A4|鎤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A5|鎥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A6|鎦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A7|鎧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A8|鎨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A9|鎩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AA|鎪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AB|鎫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AC|鎬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AD|鎭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AE|鎮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AF|鎯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|93Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B0|鎰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B1|鎱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B2|鎲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B3|鎳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B4|鎴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B5|鎵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B6|鎶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B7|鎷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B8|鎸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B9|鎹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BA|鎺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BB|鎻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BC|鎼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BD|鎽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BE|鎾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BF|鎿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|93Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C0|鏀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C1|鏁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C2|鏂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C3|鏃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C4|鏄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C5|鏅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C6|鏆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C7|鏇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C8|鏈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C9|鏉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CA|鏊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CB|鏋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CC|鏌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CD|鏍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CE|鏎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CF|鏏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|93Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D0|鏐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D1|鏑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D2|鏒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D3|鏓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D4|鏔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D5|鏕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D6|鏖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D7|鏗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D8|鏘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D9|鏙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DA|鏚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DB|鏛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DC|鏜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DD|鏝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DE|鏞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DF|鏟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|93Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E0|鏠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E1|鏡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E2|鏢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E3|鏣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E4|鏤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E5|鏥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E6|鏦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E7|鏧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E8|鏨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E9|鏩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EA|鏪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EB|鏫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EC|鏬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93ED|鏭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EE|鏮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EF|鏯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|93Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F0|鏰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F1|鏱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F2|鏲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F3|鏳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F4|鏴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F5|鏵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F6|鏶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F7|鏷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F8|鏸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F9|鏹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FA|鏺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FB|鏻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FC|鏼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FD|鏽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FE|鏾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FF|鏿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|940x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9400|鐀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9401|鐁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9402|鐂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9403|鐃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9404|鐄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9405|鐅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9406|鐆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9407|鐇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9408|鐈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9409|鐉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940A|鐊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940B|鐋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940C|鐌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940D|鐍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940E|鐎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940F|鐏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|941x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9410|鐐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9411|鐑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9412|鐒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9413|鐓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9414|鐔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9415|鐕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9416|鐖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9417|鐗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9418|鐘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9419|鐙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941A|鐚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941B|鐛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941C|鐜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941D|鐝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941E|鐞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941F|鐟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|942x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9420|鐠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9421|鐡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9422|鐢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9423|鐣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9424|鐤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9425|鐥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9426|鐦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9427|鐧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9428|鐨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9429|鐩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942A|鐪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942B|鐫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942C|鐬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942D|鐭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942E|鐮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942F|鐯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|943x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9430|鐰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9431|鐱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9432|鐲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9433|鐳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9434|鐴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9435|鐵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9436|鐶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9437|鐷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9438|鐸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9439|鐹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943A|鐺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943B|鐻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943C|鐼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943D|鐽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943E|鐾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943F|鐿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|944x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9440|鑀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9441|鑁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9442|鑂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9443|鑃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9444|鑄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9445|鑅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9446|鑆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9447|鑇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9448|鑈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9449|鑉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944A|鑊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944B|鑋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944C|鑌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944D|鑍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944E|鑎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944F|鑏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|945x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9450|鑐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9451|鑑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9452|鑒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9453|鑓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9454|鑔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9455|鑕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9456|鑖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9457|鑗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9458|鑘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9459|鑙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945A|鑚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945B|鑛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945C|鑜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945D|鑝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945E|鑞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945F|鑟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|946x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9460|鑠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9461|鑡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9462|鑢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9463|鑣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9464|鑤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9465|鑥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9466|鑦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9467|鑧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9468|鑨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9469|鑩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946A|鑪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946B|鑫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946C|鑬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946D|鑭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946E|鑮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946F|鑯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|947x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9470|鑰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9471|鑱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9472|鑲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9473|鑳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9474|鑴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9475|鑵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9476|鑶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9477|鑷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9478|鑸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9479|鑹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947A|鑺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947B|鑻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947C|鑼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947D|鑽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947E|鑾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947F|鑿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|948x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9480|钀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9481|钁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9482|钂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9483|钃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9484|钄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9485|钅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9486|钆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9487|钇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9488|针}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9489|钉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948A|钊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948B|钋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948C|钌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948D|钍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948E|钎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948F|钏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|949x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9490|钐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9491|钑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9492|钒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9493|钓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9494|钔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9495|钕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9496|钖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9497|钗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9498|钘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9499|钙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949A|钚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949B|钛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949C|钜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949D|钝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949E|钞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949F|钟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|94Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A0|钠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A1|钡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A2|钢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A3|钣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A4|钤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A5|钥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A6|钦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A7|钧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A8|钨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A9|钩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AA|钪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AB|钫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AC|钬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AD|钭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AE|钮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AF|钯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|94Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B0|钰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B1|钱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B2|钲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B3|钳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B4|钴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B5|钵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B6|钶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B7|钷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B8|钸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B9|钹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BA|钺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BB|钻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BC|钼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BD|钽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BE|钾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BF|钿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|94Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C0|铀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C1|铁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C2|铂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C3|铃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C4|铄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C5|铅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C6|铆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C7|铇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C8|铈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C9|铉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CA|铊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CB|铋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CC|铌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CD|铍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CE|铎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CF|铏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|94Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D0|铐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D1|铑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D2|铒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D3|铓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D4|铔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D5|铕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D6|铖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D7|铗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D8|铘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D9|铙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DA|铚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DB|铛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DC|铜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DD|铝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DE|铞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DF|铟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|94Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E0|铠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E1|铡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E2|铢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E3|铣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E4|铤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E5|铥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E6|铦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E7|铧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E8|铨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E9|铩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EA|铪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EB|铫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EC|铬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94ED|铭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EE|铮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EF|铯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|94Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F0|铰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F1|铱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F2|铲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F3|铳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F4|铴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F5|铵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F6|银}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F7|铷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F8|铸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F9|铹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FA|铺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FB|铻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FC|铼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FD|铽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FE|链}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FF|铿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|950x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9500|销}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9501|锁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9502|锂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9503|锃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9504|锄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9505|锅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9506|锆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9507|锇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9508|锈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9509|锉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950A|锊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950B|锋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950C|锌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950D|锍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950E|锎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950F|锏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|951x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9510|锐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9511|锑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9512|锒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9513|锓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9514|锔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9515|锕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9516|锖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9517|锗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9518|锘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9519|错}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951A|锚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951B|锛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951C|锜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951D|锝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951E|锞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951F|锟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|952x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9520|锠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9521|锡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9522|锢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9523|锣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9524|锤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9525|锥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9526|锦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9527|锧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9528|锨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9529|锩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952A|锪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952B|锫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952C|锬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952D|锭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952E|键}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952F|锯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|953x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9530|锰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9531|锱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9532|锲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9533|锳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9534|锴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9535|锵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9536|锶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9537|锷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9538|锸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9539|锹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953A|锺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953B|锻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953C|锼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953D|锽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953E|锾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953F|锿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|954x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9540|镀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9541|镁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9542|镂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9543|镃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9544|镄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9545|镅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9546|镆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9547|镇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9548|镈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9549|镉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954A|镊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954B|镋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954C|镌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954D|镍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954E|镎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954F|镏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|955x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9550|镐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9551|镑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9552|镒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9553|镓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9554|镔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9555|镕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9556|镖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9557|镗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9558|镘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9559|镙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955A|镚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955B|镛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955C|镜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955D|镝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955E|镞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955F|镟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|956x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9560|镠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9561|镡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9562|镢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9563|镣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9564|镤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9565|镥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9566|镦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9567|镧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9568|镨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9569|镩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956A|镪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956B|镫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956C|镬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956D|镭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956E|镮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956F|镯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|957x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9570|镰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9571|镱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9572|镲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9573|镳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9574|镴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9575|镵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9576|镶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9577|長}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9578|镸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9579|镹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957A|镺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957B|镻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957C|镼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957D|镽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957E|镾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957F|长}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|958x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9580|門}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9581|閁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9582|閂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9583|閃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9584|閄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9585|閅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9586|閆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9587|閇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9588|閈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9589|閉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958A|閊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958B|開}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958C|閌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958D|閍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958E|閎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958F|閏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|959x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9590|閐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9591|閑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9592|閒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9593|間}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9594|閔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9595|閕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9596|閖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9597|閗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9598|閘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9599|閙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959A|閚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959B|閛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959C|閜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959D|閝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959E|閞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959F|閟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|95Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A0|閠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A1|閡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A2|関}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A3|閣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A4|閤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A5|閥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A6|閦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A7|閧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A8|閨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A9|閩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AA|閪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AB|閫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AC|閬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AD|閭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AE|閮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AF|閯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|95Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B0|閰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B1|閱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B2|閲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B3|閳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B4|閴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B5|閵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B6|閶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B7|閷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B8|閸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B9|閹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BA|閺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BB|閻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BC|閼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BD|閽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BE|閾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BF|閿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|95Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C0|闀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C1|闁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C2|闂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C3|闃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C4|闄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C5|闅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C6|闆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C7|闇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C8|闈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C9|闉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CA|闊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CB|闋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CC|闌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CD|闍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CE|闎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CF|闏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|95Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D0|闐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D1|闑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D2|闒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D3|闓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D4|闔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D5|闕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D6|闖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D7|闗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D8|闘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D9|闙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DA|闚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DB|闛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DC|關}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DD|闝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DE|闞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DF|闟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|95Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E0|闠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E1|闡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E2|闢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E3|闣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E4|闤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E5|闥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E6|闦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E7|闧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E8|门}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E9|闩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EA|闪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EB|闫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EC|闬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95ED|闭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EE|问}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EF|闯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|95Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F0|闰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F1|闱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F2|闲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F3|闳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F4|间}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F5|闵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F6|闶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F7|闷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F8|闸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F9|闹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FA|闺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FB|闻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FC|闼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FD|闽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FE|闾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FF|闿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|960x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9600|阀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9601|阁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9602|阂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9603|阃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9604|阄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9605|阅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9606|阆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9607|阇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9608|阈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9609|阉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960A|阊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960B|阋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960C|阌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960D|阍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960E|阎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960F|阏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|961x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9610|阐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9611|阑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9612|阒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9613|阓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9614|阔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9615|阕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9616|阖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9617|阗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9618|阘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9619|阙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961A|阚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961B|阛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961C|阜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961D|阝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961E|阞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961F|队}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|962x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9620|阠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9621|阡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9622|阢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9623|阣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9624|阤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9625|阥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9626|阦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9627|阧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9628|阨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9629|阩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962A|阪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962B|阫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962C|阬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962D|阭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962E|阮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962F|阯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|963x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9630|阰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9631|阱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9632|防}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9633|阳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9634|阴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9635|阵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9636|阶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9637|阷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9638|阸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9639|阹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963A|阺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963B|阻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963C|阼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963D|阽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963E|阾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963F|阿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|964x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9640|陀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9641|陁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9642|陂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9643|陃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9644|附}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9645|际}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9646|陆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9647|陇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9648|陈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9649|陉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964A|陊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964B|陋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964C|陌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964D|降}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964E|陎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964F|陏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|965x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9650|限}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9651|陑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9652|陒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9653|陓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9654|陔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9655|陕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9656|陖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9657|陗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9658|陘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9659|陙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965A|陚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965B|陛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965C|陜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965D|陝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965E|陞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965F|陟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|966x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9660|陠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9661|陡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9662|院}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9663|陣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9664|除}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9665|陥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9666|陦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9667|陧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9668|陨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9669|险}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966A|陪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966B|陫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966C|陬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966D|陭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966E|陮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966F|陯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|967x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9670|陰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9671|陱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9672|陲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9673|陳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9674|陴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9675|陵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9676|陶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9677|陷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9678|陸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9679|陹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967A|険}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967B|陻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967C|陼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967D|陽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967E|陾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967F|陿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|968x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9680|隀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9681|隁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9682|隂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9683|隃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9684|隄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9685|隅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9686|隆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9687|隇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9688|隈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9689|隉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968A|隊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968B|隋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968C|隌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968D|隍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968E|階}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968F|随}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|969x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9690|隐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9691|隑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9692|隒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9693|隓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9694|隔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9695|隕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9696|隖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9697|隗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9698|隘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9699|隙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969A|隚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969B|際}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969C|障}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969D|隝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969E|隞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969F|隟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|96Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A0|隠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A1|隡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A2|隢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A3|隣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A4|隤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A5|隥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A6|隦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A7|隧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A8|隨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A9|隩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AA|險}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AB|隫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AC|隬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AD|隭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AE|隮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AF|隯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|96Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B0|隰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B1|隱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B2|隲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B3|隳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B4|隴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B5|隵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B6|隶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B7|隷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B8|隸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B9|隹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BA|隺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BB|隻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BC|隼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BD|隽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BE|难}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BF|隿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|96Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C0|雀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C1|雁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C2|雂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C3|雃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C4|雄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C5|雅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C6|集}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C7|雇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C8|雈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C9|雉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CA|雊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CB|雋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CC|雌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CD|雍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CE|雎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CF|雏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|96Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D0|雐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D1|雑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D2|雒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D3|雓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D4|雔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D5|雕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D6|雖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D7|雗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D8|雘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D9|雙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DA|雚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DB|雛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DC|雜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DD|雝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DE|雞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DF|雟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|96Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E0|雠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E1|雡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E2|離}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E3|難}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E4|雤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E5|雥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E6|雦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E7|雧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E8|雨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E9|雩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EA|雪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EB|雫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EC|雬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96ED|雭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EE|雮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EF|雯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|96Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F0|雰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F1|雱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F2|雲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F3|雳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F4|雴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F5|雵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F6|零}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F7|雷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F8|雸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F9|雹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FA|雺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FB|電}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FC|雼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FD|雽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FE|雾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FF|雿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|970x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9700|需}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9701|霁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9702|霂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9703|霃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9704|霄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9705|霅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9706|霆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9707|震}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9708|霈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9709|霉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970A|霊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970B|霋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970C|霌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970D|霍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970E|霎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970F|霏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|971x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9710|霐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9711|霑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9712|霒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9713|霓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9714|霔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9715|霕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9716|霖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9717|霗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9718|霘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9719|霙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971A|霚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971B|霛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971C|霜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971D|霝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971E|霞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971F|霟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|972x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9720|霠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9721|霡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9722|霢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9723|霣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9724|霤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9725|霥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9726|霦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9727|霧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9728|霨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9729|霩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972A|霪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972B|霫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972C|霬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972D|霭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972E|霮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972F|霯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|973x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9730|霰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9731|霱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9732|露}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9733|霳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9734|霴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9735|霵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9736|霶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9737|霷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9738|霸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9739|霹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973A|霺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973B|霻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973C|霼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973D|霽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973E|霾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973F|霿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|974x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9740|靀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9741|靁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9742|靂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9743|靃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9744|靄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9745|靅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9746|靆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9747|靇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9748|靈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9749|靉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974A|靊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974B|靋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974C|靌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974D|靍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974E|靎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974F|靏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|975x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9750|靐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9751|靑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9752|青}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9753|靓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9754|靔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9755|靕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9756|靖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9757|靗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9758|靘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9759|静}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975A|靚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975B|靛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975C|靜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975D|靝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975E|非}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975F|靟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|976x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9760|靠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9761|靡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9762|面}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9763|靣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9764|靤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9765|靥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9766|靦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9767|靧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9768|靨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9769|革}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976A|靪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976B|靫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976C|靬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976D|靭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976E|靮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976F|靯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|977x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9770|靰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9771|靱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9772|靲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9773|靳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9774|靴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9775|靵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9776|靶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9777|靷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9778|靸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9779|靹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977A|靺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977B|靻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977C|靼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977D|靽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977E|靾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977F|靿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|978x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9780|鞀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9781|鞁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9782|鞂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9783|鞃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9784|鞄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9785|鞅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9786|鞆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9787|鞇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9788|鞈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9789|鞉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978A|鞊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978B|鞋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978C|鞌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978D|鞍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978E|鞎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978F|鞏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|979x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9790|鞐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9791|鞑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9792|鞒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9793|鞓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9794|鞔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9795|鞕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9796|鞖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9797|鞗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9798|鞘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9799|鞙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979A|鞚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979B|鞛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979C|鞜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979D|鞝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979E|鞞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979F|鞟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|97Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A0|鞠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A1|鞡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A2|鞢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A3|鞣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A4|鞤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A5|鞥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A6|鞦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A7|鞧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A8|鞨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A9|鞩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AA|鞪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AB|鞫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AC|鞬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AD|鞭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AE|鞮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AF|鞯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|97Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B0|鞰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B1|鞱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B2|鞲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B3|鞳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B4|鞴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B5|鞵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B6|鞶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B7|鞷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B8|鞸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B9|鞹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BA|鞺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BB|鞻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BC|鞼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BD|鞽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BE|鞾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BF|鞿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|97Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C0|韀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C1|韁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C2|韂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C3|韃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C4|韄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C5|韅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C6|韆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C7|韇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C8|韈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C9|韉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CA|韊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CB|韋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CC|韌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CD|韍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CE|韎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CF|韏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|97Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D0|韐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D1|韑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D2|韒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D3|韓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D4|韔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D5|韕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D6|韖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D7|韗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D8|韘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D9|韙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DA|韚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DB|韛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DC|韜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DD|韝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DE|韞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DF|韟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|97Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E0|韠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E1|韡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E2|韢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E3|韣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E4|韤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E5|韥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E6|韦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E7|韧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E8|韨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E9|韩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EA|韪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EB|韫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EC|韬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97ED|韭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EE|韮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EF|韯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|97Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F0|韰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F1|韱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F2|韲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F3|音}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F4|韴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F5|韵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F6|韶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F7|韷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F8|韸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F9|韹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FA|韺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FB|韻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FC|韼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FD|韽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FE|韾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FF|響}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|980x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9800|頀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9801|頁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9802|頂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9803|頃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9804|頄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9805|項}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9806|順}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9807|頇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9808|須}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9809|頉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980A|頊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980B|頋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980C|頌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980D|頍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980E|頎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980F|頏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|981x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9810|預}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9811|頑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9812|頒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9813|頓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9814|頔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9815|頕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9816|頖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9817|頗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9818|領}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9819|頙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981A|頚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981B|頛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981C|頜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981D|頝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981E|頞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981F|頟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|982x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9820|頠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9821|頡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9822|頢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9823|頣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9824|頤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9825|頥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9826|頦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9827|頧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9828|頨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9829|頩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982A|頪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982B|頫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982C|頬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982D|頭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982E|頮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982F|頯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|983x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9830|頰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9831|頱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9832|頲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9833|頳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9834|頴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9835|頵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9836|頶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9837|頷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9838|頸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9839|頹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983A|頺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983B|頻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983C|頼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983D|頽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983E|頾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983F|頿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|984x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9840|顀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9841|顁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9842|顂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9843|顃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9844|顄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9845|顅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9846|顆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9847|顇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9848|顈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9849|顉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984A|顊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984B|顋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984C|題}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984D|額}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984E|顎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984F|顏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|985x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9850|顐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9851|顑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9852|顒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9853|顓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9854|顔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9855|顕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9856|顖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9857|顗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9858|願}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9859|顙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985A|顚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985B|顛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985C|顜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985D|顝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985E|類}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985F|顟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|986x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9860|顠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9861|顡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9862|顢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9863|顣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9864|顤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9865|顥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9866|顦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9867|顧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9868|顨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9869|顩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986A|顪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986B|顫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986C|顬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986D|顭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986E|顮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986F|顯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|987x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9870|顰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9871|顱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9872|顲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9873|顳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9874|顴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9875|页}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9876|顶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9877|顷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9878|顸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9879|项}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987A|顺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987B|须}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987C|顼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987D|顽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987E|顾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987F|顿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|988x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9880|颀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9881|颁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9882|颂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9883|颃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9884|预}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9885|颅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9886|领}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9887|颇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9888|颈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9889|颉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988A|颊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988B|颋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988C|颌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988D|颍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988E|颎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988F|颏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|989x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9890|颐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9891|频}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9892|颒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9893|颓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9894|颔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9895|颕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9896|颖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9897|颗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9898|题}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9899|颙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989A|颚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989B|颛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989C|颜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989D|额}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989E|颞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989F|颟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|98Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A0|颠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A1|颡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A2|颢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A3|颣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A4|颤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A5|颥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A6|颦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A7|颧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A8|風}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A9|颩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AA|颪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AB|颫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AC|颬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AD|颭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AE|颮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AF|颯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|98Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B0|颰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B1|颱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B2|颲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B3|颳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B4|颴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B5|颵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B6|颶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B7|颷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B8|颸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B9|颹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BA|颺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BB|颻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BC|颼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BD|颽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BE|颾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BF|颿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|98Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C0|飀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C1|飁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C2|飂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C3|飃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C4|飄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C5|飅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C6|飆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C7|飇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C8|飈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C9|飉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CA|飊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CB|飋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CC|飌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CD|飍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CE|风}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CF|飏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|98Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D0|飐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D1|飑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D2|飒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D3|飓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D4|飔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D5|飕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D6|飖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D7|飗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D8|飘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D9|飙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DA|飚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DB|飛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DC|飜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DD|飝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DE|飞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DF|食}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|98Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E0|飠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E1|飡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E2|飢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E3|飣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E4|飤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E5|飥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E6|飦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E7|飧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E8|飨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E9|飩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EA|飪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EB|飫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EC|飬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98ED|飭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EE|飮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EF|飯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|98Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F0|飰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F1|飱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F2|飲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F3|飳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F4|飴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F5|飵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F6|飶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F7|飷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F8|飸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F9|飹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FA|飺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FB|飻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FC|飼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FD|飽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FE|飾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FF|飿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|990x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9900|餀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9901|餁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9902|餂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9903|餃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9904|餄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9905|餅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9906|餆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9907|餇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9908|餈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9909|餉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990A|養}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990B|餋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990C|餌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990D|餍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990E|餎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990F|餏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|991x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9910|餐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9911|餑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9912|餒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9913|餓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9914|餔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9915|餕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9916|餖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9917|餗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9918|餘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9919|餙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991A|餚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991B|餛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991C|餜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991D|餝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991E|餞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991F|餟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|992x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9920|餠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9921|餡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9922|餢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9923|餣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9924|餤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9925|餥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9926|餦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9927|餧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9928|館}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9929|餩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992A|餪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992B|餫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992C|餬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992D|餭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992E|餮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992F|餯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|993x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9930|餰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9931|餱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9932|餲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9933|餳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9934|餴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9935|餵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9936|餶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9937|餷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9938|餸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9939|餹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993A|餺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993B|餻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993C|餼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993D|餽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993E|餾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993F|餿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|994x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9940|饀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9941|饁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9942|饂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9943|饃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9944|饄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9945|饅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9946|饆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9947|饇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9948|饈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9949|饉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994A|饊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994B|饋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994C|饌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994D|饍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994E|饎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994F|饏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|995x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9950|饐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9951|饑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9952|饒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9953|饓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9954|饔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9955|饕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9956|饖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9957|饗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9958|饘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9959|饙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995A|饚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995B|饛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995C|饜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995D|饝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995E|饞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995F|饟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|996x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9960|饠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9961|饡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9962|饢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9963|饣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9964|饤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9965|饥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9966|饦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9967|饧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9968|饨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9969|饩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996A|饪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996B|饫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996C|饬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996D|饭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996E|饮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996F|饯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|997x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9970|饰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9971|饱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9972|饲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9973|饳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9974|饴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9975|饵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9976|饶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9977|饷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9978|饸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9979|饹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997A|饺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997B|饻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997C|饼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997D|饽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997E|饾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997F|饿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|998x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9980|馀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9981|馁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9982|馂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9983|馃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9984|馄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9985|馅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9986|馆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9987|馇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9988|馈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9989|馉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998A|馊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998B|馋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998C|馌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998D|馍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998E|馎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998F|馏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|999x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9990|馐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9991|馑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9992|馒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9993|馓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9994|馔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9995|馕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9996|首}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9997|馗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9998|馘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9999|香}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999A|馚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999B|馛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999C|馜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999D|馝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999E|馞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999F|馟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|99Ax
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A0|馠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A1|馡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A2|馢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A3|馣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A4|馤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A5|馥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A6|馦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A7|馧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A8|馨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A9|馩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AA|馪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AB|馫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AC|馬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AD|馭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AE|馮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AF|馯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|99Bx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B0|馰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B1|馱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B2|馲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B3|馳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B4|馴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B5|馵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B6|馶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B7|馷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B8|馸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B9|馹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BA|馺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BB|馻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BC|馼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BD|馽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BE|馾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BF|馿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|99Cx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C0|駀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C1|駁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C2|駂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C3|駃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C4|駄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C5|駅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C6|駆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C7|駇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C8|駈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C9|駉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CA|駊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CB|駋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CC|駌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CD|駍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CE|駎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CF|駏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|99Dx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D0|駐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D1|駑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D2|駒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D3|駓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D4|駔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D5|駕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D6|駖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D7|駗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D8|駘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D9|駙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DA|駚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DB|駛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DC|駜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DD|駝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DE|駞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DF|駟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|99Ex
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E0|駠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E1|駡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E2|駢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E3|駣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E4|駤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E5|駥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E6|駦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E7|駧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E8|駨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E9|駩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EA|駪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EB|駫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EC|駬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99ED|駭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EE|駮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EF|駯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|99Fx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F0|駰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F1|駱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F2|駲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F3|駳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F4|駴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F5|駵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F6|駶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F7|駷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F8|駸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F9|駹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FA|駺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FB|駻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FC|駼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FD|駽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FE|駾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FF|駿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A0x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A00|騀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A01|騁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A02|騂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A03|騃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A04|騄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A05|騅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A06|騆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A07|騇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A08|騈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A09|騉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0A|騊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0B|騋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0C|騌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0D|騍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0E|騎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0F|騏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A1x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A10|騐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A11|騑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A12|騒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A13|験}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A14|騔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A15|騕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A16|騖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A17|騗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A18|騘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A19|騙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1A|騚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1B|騛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1C|騜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1D|騝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1E|騞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1F|騟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A2x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A20|騠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A21|騡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A22|騢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A23|騣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A24|騤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A25|騥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A26|騦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A27|騧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A28|騨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A29|騩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2A|騪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2B|騫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2C|騬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2D|騭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2E|騮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2F|騯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A3x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A30|騰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A31|騱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A32|騲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A33|騳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A34|騴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A35|騵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A36|騶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A37|騷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A38|騸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A39|騹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3A|騺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3B|騻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3C|騼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3D|騽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3E|騾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3F|騿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A4x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A40|驀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A41|驁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A42|驂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A43|驃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A44|驄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A45|驅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A46|驆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A47|驇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A48|驈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A49|驉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4A|驊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4B|驋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4C|驌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4D|驍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4E|驎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4F|驏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A5x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A50|驐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A51|驑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A52|驒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A53|驓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A54|驔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A55|驕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A56|驖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A57|驗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A58|驘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A59|驙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5A|驚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5B|驛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5C|驜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5D|驝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5E|驞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5F|驟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A6x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A60|驠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A61|驡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A62|驢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A63|驣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A64|驤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A65|驥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A66|驦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A67|驧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A68|驨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A69|驩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6A|驪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6B|驫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6C|马}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6D|驭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6E|驮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6F|驯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A7x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A70|驰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A71|驱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A72|驲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A73|驳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A74|驴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A75|驵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A76|驶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A77|驷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A78|驸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A79|驹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7A|驺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7B|驻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7C|驼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7D|驽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7E|驾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7F|驿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A8x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A80|骀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A81|骁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A82|骂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A83|骃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A84|骄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A85|骅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A86|骆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A87|骇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A88|骈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A89|骉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8A|骊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8B|骋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8C|验}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8D|骍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8E|骎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8F|骏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9A9x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A90|骐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A91|骑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A92|骒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A93|骓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A94|骔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A95|骕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A96|骖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A97|骗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A98|骘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A99|骙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9A|骚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9B|骛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9C|骜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9D|骝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9E|骞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9F|骟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9AAx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA0|骠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA1|骡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA2|骢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA3|骣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA4|骤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA5|骥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA6|骦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA7|骧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA8|骨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA9|骩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAA|骪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAB|骫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAC|骬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAD|骭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAE|骮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAF|骯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9ABx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB0|骰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB1|骱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB2|骲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB3|骳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB4|骴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB5|骵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB6|骶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB7|骷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB8|骸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB9|骹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABA|骺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABB|骻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABC|骼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABD|骽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABE|骾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABF|骿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9ACx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC0|髀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC1|髁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC2|髂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC3|髃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC4|髄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC5|髅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC6|髆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC7|髇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC8|髈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC9|髉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACA|髊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACB|髋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACC|髌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACD|髍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACE|髎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACF|髏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9ADx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD0|髐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD1|髑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD2|髒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD3|髓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD4|體}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD5|髕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD6|髖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD7|髗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD8|高}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD9|髙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADA|髚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADB|髛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADC|髜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADD|髝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADE|髞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADF|髟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9AEx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE0|髠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE1|髡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE2|髢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE3|髣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE4|髤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE5|髥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE6|髦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE7|髧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE8|髨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE9|髩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEA|髪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEB|髫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEC|髬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AED|髭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEE|髮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEF|髯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9AFx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF0|髰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF1|髱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF2|髲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF3|髳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF4|髴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF5|髵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF6|髶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF7|髷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF8|髸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF9|髹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFA|髺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFB|髻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFC|髼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFD|髽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFE|髾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFF|髿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B0x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B00|鬀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B01|鬁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B02|鬂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B03|鬃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B04|鬄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B05|鬅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B06|鬆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B07|鬇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B08|鬈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B09|鬉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0A|鬊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0B|鬋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0C|鬌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0D|鬍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0E|鬎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0F|鬏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B1x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B10|鬐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B11|鬑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B12|鬒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B13|鬓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B14|鬔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B15|鬕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B16|鬖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B17|鬗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B18|鬘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B19|鬙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1A|鬚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1B|鬛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1C|鬜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1D|鬝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1E|鬞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1F|鬟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B2x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B20|鬠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B21|鬡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B22|鬢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B23|鬣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B24|鬤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B25|鬥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B26|鬦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B27|鬧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B28|鬨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B29|鬩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2A|鬪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2B|鬫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2C|鬬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2D|鬭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2E|鬮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2F|鬯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B3x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B30|鬰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B31|鬱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B32|鬲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B33|鬳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B34|鬴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B35|鬵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B36|鬶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B37|鬷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B38|鬸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B39|鬹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3A|鬺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3B|鬻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3C|鬼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3D|鬽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3E|鬾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3F|鬿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B4x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B40|魀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B41|魁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B42|魂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B43|魃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B44|魄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B45|魅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B46|魆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B47|魇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B48|魈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B49|魉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4A|魊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4B|魋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4C|魌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4D|魍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4E|魎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4F|魏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B5x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B50|魐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B51|魑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B52|魒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B53|魓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B54|魔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B55|魕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B56|魖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B57|魗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B58|魘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B59|魙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5A|魚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5B|魛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5C|魜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5D|魝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5E|魞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5F|魟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B6x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B60|魠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B61|魡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B62|魢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B63|魣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B64|魤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B65|魥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B66|魦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B67|魧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B68|魨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B69|魩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6A|魪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6B|魫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6C|魬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6D|魭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6E|魮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6F|魯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B7x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B70|魰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B71|魱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B72|魲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B73|魳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B74|魴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B75|魵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B76|魶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B77|魷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B78|魸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B79|魹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7A|魺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7B|魻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7C|魼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7D|魽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7E|魾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7F|魿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B8x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B80|鮀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B81|鮁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B82|鮂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B83|鮃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B84|鮄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B85|鮅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B86|鮆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B87|鮇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B88|鮈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B89|鮉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8A|鮊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8B|鮋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8C|鮌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8D|鮍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8E|鮎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8F|鮏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9B9x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B90|鮐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B91|鮑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B92|鮒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B93|鮓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B94|鮔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B95|鮕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B96|鮖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B97|鮗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B98|鮘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B99|鮙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9A|鮚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9B|鮛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9C|鮜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9D|鮝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9E|鮞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9F|鮟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9BAx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA0|鮠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA1|鮡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA2|鮢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA3|鮣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA4|鮤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA5|鮥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA6|鮦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA7|鮧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA8|鮨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA9|鮩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAA|鮪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAB|鮫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAC|鮬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAD|鮭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAE|鮮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAF|鮯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9BBx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB0|鮰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB1|鮱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB2|鮲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB3|鮳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB4|鮴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB5|鮵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB6|鮶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB7|鮷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB8|鮸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB9|鮹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBA|鮺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBB|鮻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBC|鮼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBD|鮽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBE|鮾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBF|鮿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9BCx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC0|鯀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC1|鯁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC2|鯂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC3|鯃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC4|鯄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC5|鯅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC6|鯆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC7|鯇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC8|鯈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC9|鯉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCA|鯊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCB|鯋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCC|鯌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCD|鯍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCE|鯎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCF|鯏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9BDx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD0|鯐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD1|鯑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD2|鯒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD3|鯓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD4|鯔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD5|鯕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD6|鯖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD7|鯗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD8|鯘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD9|鯙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDA|鯚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDB|鯛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDC|鯜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDD|鯝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDE|鯞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDF|鯟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9BEx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE0|鯠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE1|鯡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE2|鯢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE3|鯣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE4|鯤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE5|鯥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE6|鯦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE7|鯧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE8|鯨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE9|鯩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEA|鯪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEB|鯫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEC|鯬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BED|鯭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEE|鯮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEF|鯯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9BFx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF0|鯰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF1|鯱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF2|鯲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF3|鯳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF4|鯴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF5|鯵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF6|鯶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF7|鯷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF8|鯸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF9|鯹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFA|鯺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFB|鯻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFC|鯼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFD|鯽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFE|鯾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFF|鯿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C0x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C00|鰀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C01|鰁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C02|鰂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C03|鰃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C04|鰄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C05|鰅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C06|鰆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C07|鰇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C08|鰈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C09|鰉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0A|鰊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0B|鰋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0C|鰌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0D|鰍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0E|鰎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0F|鰏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C1x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C10|鰐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C11|鰑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C12|鰒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C13|鰓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C14|鰔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C15|鰕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C16|鰖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C17|鰗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C18|鰘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C19|鰙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1A|鰚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1B|鰛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1C|鰜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1D|鰝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1E|鰞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1F|鰟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C2x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C20|鰠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C21|鰡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C22|鰢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C23|鰣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C24|鰤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C25|鰥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C26|鰦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C27|鰧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C28|鰨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C29|鰩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2A|鰪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2B|鰫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2C|鰬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2D|鰭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2E|鰮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2F|鰯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C3x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C30|鰰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C31|鰱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C32|鰲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C33|鰳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C34|鰴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C35|鰵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C36|鰶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C37|鰷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C38|鰸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C39|鰹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3A|鰺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3B|鰻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3C|鰼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3D|鰽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3E|鰾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3F|鰿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C4x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C40|鱀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C41|鱁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C42|鱂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C43|鱃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C44|鱄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C45|鱅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C46|鱆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C47|鱇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C48|鱈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C49|鱉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4A|鱊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4B|鱋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4C|鱌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4D|鱍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4E|鱎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4F|鱏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C5x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C50|鱐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C51|鱑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C52|鱒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C53|鱓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C54|鱔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C55|鱕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C56|鱖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C57|鱗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C58|鱘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C59|鱙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5A|鱚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5B|鱛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5C|鱜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5D|鱝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5E|鱞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5F|鱟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C6x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C60|鱠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C61|鱡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C62|鱢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C63|鱣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C64|鱤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C65|鱥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C66|鱦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C67|鱧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C68|鱨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C69|鱩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6A|鱪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6B|鱫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6C|鱬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6D|鱭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6E|鱮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6F|鱯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C7x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C70|鱰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C71|鱱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C72|鱲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C73|鱳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C74|鱴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C75|鱵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C76|鱶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C77|鱷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C78|鱸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C79|鱹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7A|鱺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7B|鱻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7C|鱼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7D|鱽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7E|鱾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7F|鱿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C8x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C80|鲀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C81|鲁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C82|鲂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C83|鲃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C84|鲄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C85|鲅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C86|鲆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C87|鲇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C88|鲈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C89|鲉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8A|鲊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8B|鲋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8C|鲌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8D|鲍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8E|鲎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8F|鲏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9C9x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C90|鲐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C91|鲑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C92|鲒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C93|鲓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C94|鲔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C95|鲕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C96|鲖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C97|鲗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C98|鲘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C99|鲙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9A|鲚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9B|鲛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9C|鲜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9D|鲝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9E|鲞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9F|鲟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9CAx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA0|鲠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA1|鲡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA2|鲢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA3|鲣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA4|鲤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA5|鲥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA6|鲦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA7|鲧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA8|鲨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA9|鲩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAA|鲪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAB|鲫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAC|鲬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAD|鲭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAE|鲮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAF|鲯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9CBx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB0|鲰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB1|鲱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB2|鲲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB3|鲳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB4|鲴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB5|鲵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB6|鲶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB7|鲷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB8|鲸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB9|鲹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBA|鲺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBB|鲻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBC|鲼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBD|鲽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBE|鲾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBF|鲿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9CCx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC0|鳀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC1|鳁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC2|鳂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC3|鳃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC4|鳄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC5|鳅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC6|鳆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC7|鳇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC8|鳈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC9|鳉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCA|鳊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCB|鳋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCC|鳌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCD|鳍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCE|鳎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCF|鳏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9CDx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD0|鳐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD1|鳑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD2|鳒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD3|鳓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD4|鳔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD5|鳕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD6|鳖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD7|鳗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD8|鳘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD9|鳙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDA|鳚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDB|鳛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDC|鳜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDD|鳝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDE|鳞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDF|鳟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9CEx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE0|鳠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE1|鳡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE2|鳢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE3|鳣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE4|鳤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE5|鳥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE6|鳦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE7|鳧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE8|鳨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE9|鳩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEA|鳪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEB|鳫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEC|鳬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CED|鳭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEE|鳮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEF|鳯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9CFx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF0|鳰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF1|鳱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF2|鳲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF3|鳳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF4|鳴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF5|鳵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF6|鳶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF7|鳷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF8|鳸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF9|鳹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFA|鳺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFB|鳻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFC|鳼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFD|鳽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFE|鳾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFF|鳿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D0x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D00|鴀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D01|鴁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D02|鴂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D03|鴃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D04|鴄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D05|鴅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D06|鴆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D07|鴇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D08|鴈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D09|鴉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0A|鴊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0B|鴋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0C|鴌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0D|鴍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0E|鴎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0F|鴏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D1x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D10|鴐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D11|鴑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D12|鴒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D13|鴓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D14|鴔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D15|鴕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D16|鴖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D17|鴗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D18|鴘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D19|鴙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1A|鴚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1B|鴛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1C|鴜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1D|鴝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1E|鴞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1F|鴟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D2x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D20|鴠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D21|鴡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D22|鴢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D23|鴣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D24|鴤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D25|鴥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D26|鴦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D27|鴧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D28|鴨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D29|鴩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2A|鴪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2B|鴫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2C|鴬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2D|鴭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2E|鴮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2F|鴯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D3x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D30|鴰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D31|鴱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D32|鴲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D33|鴳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D34|鴴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D35|鴵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D36|鴶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D37|鴷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D38|鴸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D39|鴹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3A|鴺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3B|鴻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3C|鴼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3D|鴽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3E|鴾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3F|鴿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D4x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D40|鵀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D41|鵁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D42|鵂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D43|鵃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D44|鵄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D45|鵅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D46|鵆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D47|鵇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D48|鵈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D49|鵉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4A|鵊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4B|鵋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4C|鵌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4D|鵍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4E|鵎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4F|鵏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D5x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D50|鵐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D51|鵑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D52|鵒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D53|鵓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D54|鵔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D55|鵕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D56|鵖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D57|鵗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D58|鵘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D59|鵙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5A|鵚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5B|鵛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5C|鵜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5D|鵝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5E|鵞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5F|鵟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D6x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D60|鵠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D61|鵡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D62|鵢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D63|鵣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D64|鵤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D65|鵥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D66|鵦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D67|鵧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D68|鵨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D69|鵩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6A|鵪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6B|鵫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6C|鵬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6D|鵭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6E|鵮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6F|鵯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D7x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D70|鵰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D71|鵱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D72|鵲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D73|鵳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D74|鵴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D75|鵵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D76|鵶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D77|鵷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D78|鵸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D79|鵹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7A|鵺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7B|鵻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7C|鵼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7D|鵽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7E|鵾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7F|鵿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D8x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D80|鶀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D81|鶁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D82|鶂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D83|鶃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D84|鶄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D85|鶅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D86|鶆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D87|鶇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D88|鶈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D89|鶉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8A|鶊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8B|鶋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8C|鶌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8D|鶍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8E|鶎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8F|鶏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9D9x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D90|鶐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D91|鶑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D92|鶒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D93|鶓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D94|鶔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D95|鶕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D96|鶖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D97|鶗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D98|鶘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D99|鶙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9A|鶚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9B|鶛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9C|鶜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9D|鶝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9E|鶞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9F|鶟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9DAx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA0|鶠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA1|鶡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA2|鶢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA3|鶣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA4|鶤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA5|鶥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA6|鶦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA7|鶧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA8|鶨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA9|鶩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAA|鶪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAB|鶫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAC|鶬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAD|鶭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAE|鶮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAF|鶯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9DBx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB0|鶰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB1|鶱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB2|鶲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB3|鶳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB4|鶴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB5|鶵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB6|鶶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB7|鶷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB8|鶸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB9|鶹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBA|鶺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBB|鶻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBC|鶼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBD|鶽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBE|鶾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBF|鶿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9DCx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC0|鷀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC1|鷁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC2|鷂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC3|鷃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC4|鷄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC5|鷅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC6|鷆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC7|鷇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC8|鷈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC9|鷉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCA|鷊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCB|鷋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCC|鷌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCD|鷍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCE|鷎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCF|鷏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9DDx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD0|鷐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD1|鷑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD2|鷒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD3|鷓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD4|鷔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD5|鷕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD6|鷖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD7|鷗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD8|鷘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD9|鷙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDA|鷚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDB|鷛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDC|鷜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDD|鷝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDE|鷞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDF|鷟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9DEx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE0|鷠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE1|鷡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE2|鷢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE3|鷣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE4|鷤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE5|鷥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE6|鷦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE7|鷧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE8|鷨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE9|鷩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEA|鷪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEB|鷫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEC|鷬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DED|鷭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEE|鷮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEF|鷯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9DFx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF0|鷰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF1|鷱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF2|鷲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF3|鷳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF4|鷴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF5|鷵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF6|鷶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF7|鷷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF8|鷸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF9|鷹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFA|鷺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFB|鷻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFC|鷼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFD|鷽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFE|鷾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFF|鷿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E0x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E00|鸀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E01|鸁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E02|鸂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E03|鸃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E04|鸄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E05|鸅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E06|鸆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E07|鸇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E08|鸈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E09|鸉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0A|鸊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0B|鸋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0C|鸌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0D|鸍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0E|鸎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0F|鸏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E1x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E10|鸐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E11|鸑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E12|鸒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E13|鸓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E14|鸔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E15|鸕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E16|鸖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E17|鸗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E18|鸘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E19|鸙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1A|鸚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1B|鸛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1C|鸜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1D|鸝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1E|鸞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1F|鸟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E2x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E20|鸠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E21|鸡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E22|鸢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E23|鸣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E24|鸤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E25|鸥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E26|鸦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E27|鸧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E28|鸨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E29|鸩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2A|鸪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2B|鸫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2C|鸬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2D|鸭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2E|鸮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2F|鸯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E3x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E30|鸰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E31|鸱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E32|鸲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E33|鸳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E34|鸴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E35|鸵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E36|鸶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E37|鸷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E38|鸸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E39|鸹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3A|鸺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3B|鸻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3C|鸼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3D|鸽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3E|鸾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3F|鸿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E4x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E40|鹀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E41|鹁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E42|鹂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E43|鹃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E44|鹄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E45|鹅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E46|鹆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E47|鹇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E48|鹈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E49|鹉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4A|鹊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4B|鹋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4C|鹌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4D|鹍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4E|鹎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4F|鹏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E5x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E50|鹐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E51|鹑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E52|鹒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E53|鹓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E54|鹔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E55|鹕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E56|鹖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E57|鹗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E58|鹘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E59|鹙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5A|鹚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5B|鹛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5C|鹜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5D|鹝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5E|鹞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5F|鹟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E6x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E60|鹠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E61|鹡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E62|鹢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E63|鹣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E64|鹤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E65|鹥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E66|鹦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E67|鹧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E68|鹨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E69|鹩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6A|鹪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6B|鹫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6C|鹬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6D|鹭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6E|鹮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6F|鹯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E7x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E70|鹰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E71|鹱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E72|鹲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E73|鹳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E74|鹴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E75|鹵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E76|鹶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E77|鹷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E78|鹸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E79|鹹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7A|鹺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7B|鹻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7C|鹼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7D|鹽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7E|鹾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7F|鹿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E8x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E80|麀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E81|麁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E82|麂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E83|麃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E84|麄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E85|麅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E86|麆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E87|麇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E88|麈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E89|麉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8A|麊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8B|麋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8C|麌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8D|麍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8E|麎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8F|麏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9E9x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E90|麐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E91|麑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E92|麒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E93|麓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E94|麔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E95|麕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E96|麖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E97|麗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E98|麘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E99|麙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9A|麚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9B|麛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9C|麜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9D|麝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9E|麞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9F|麟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9EAx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA0|麠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA1|麡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA2|麢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA3|麣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA4|麤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA5|麥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA6|麦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA7|麧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA8|麨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA9|麩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAA|麪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAB|麫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAC|麬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAD|麭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAE|麮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAF|麯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9EBx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB0|麰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB1|麱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB2|麲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB3|麳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB4|麴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB5|麵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB6|麶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB7|麷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB8|麸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB9|麹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBA|麺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBB|麻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBC|麼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBD|麽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBE|麾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBF|麿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9ECx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC0|黀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC1|黁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC2|黂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC3|黃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC4|黄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC5|黅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC6|黆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC7|黇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC8|黈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC9|黉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECA|黊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECB|黋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECC|黌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECD|黍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECE|黎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECF|黏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9EDx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED0|黐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED1|黑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED2|黒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED3|黓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED4|黔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED5|黕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED6|黖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED7|黗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED8|默}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED9|黙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDA|黚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDB|黛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDC|黜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDD|黝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDE|點}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDF|黟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9EEx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE0|黠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE1|黡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE2|黢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE3|黣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE4|黤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE5|黥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE6|黦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE7|黧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE8|黨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE9|黩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEA|黪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEB|黫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEC|黬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EED|黭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEE|黮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEF|黯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9EFx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF0|黰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF1|黱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF2|黲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF3|黳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF4|黴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF5|黵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF6|黶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF7|黷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF8|黸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF9|黹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFA|黺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFB|黻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFC|黼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFD|黽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFE|黾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFF|黿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F0x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F00|鼀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F01|鼁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F02|鼂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F03|鼃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F04|鼄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F05|鼅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F06|鼆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F07|鼇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F08|鼈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F09|鼉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0A|鼊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0B|鼋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0C|鼌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0D|鼍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0E|鼎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0F|鼏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F1x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F10|鼐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F11|鼑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F12|鼒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F13|鼓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F14|鼔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F15|鼕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F16|鼖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F17|鼗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F18|鼘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F19|鼙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1A|鼚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1B|鼛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1C|鼜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1D|鼝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1E|鼞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1F|鼟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F2x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F20|鼠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F21|鼡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F22|鼢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F23|鼣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F24|鼤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F25|鼥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F26|鼦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F27|鼧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F28|鼨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F29|鼩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2A|鼪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2B|鼫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2C|鼬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2D|鼭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2E|鼮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2F|鼯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F3x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F30|鼰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F31|鼱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F32|鼲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F33|鼳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F34|鼴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F35|鼵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F36|鼶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F37|鼷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F38|鼸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F39|鼹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3A|鼺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3B|鼻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3C|鼼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3D|鼽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3E|鼾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3F|鼿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F4x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F40|齀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F41|齁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F42|齂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F43|齃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F44|齄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F45|齅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F46|齆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F47|齇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F48|齈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F49|齉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4A|齊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4B|齋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4C|齌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4D|齍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4E|齎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4F|齏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F5x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F50|齐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F51|齑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F52|齒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F53|齓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F54|齔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F55|齕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F56|齖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F57|齗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F58|齘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F59|齙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5A|齚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5B|齛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5C|齜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5D|齝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5E|齞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5F|齟}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F6x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F60|齠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F61|齡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F62|齢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F63|齣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F64|齤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F65|齥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F66|齦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F67|齧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F68|齨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F69|齩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6A|齪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6B|齫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6C|齬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6D|齭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6E|齮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6F|齯}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F7x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F70|齰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F71|齱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F72|齲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F73|齳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F74|齴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F75|齵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F76|齶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F77|齷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F78|齸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F79|齹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7A|齺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7B|齻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7C|齼}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7D|齽}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7E|齾}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7F|齿}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F8x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F80|龀}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F81|龁}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F82|龂}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F83|龃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F84|龄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F85|龅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F86|龆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F87|龇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F88|龈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F89|龉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8A|龊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8B|龋}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8C|龌}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8D|龍}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8E|龎}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8F|龏}}
|----- align="center" style="background:#ff7c57"
!style="background:#ffffff"|9F9x
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F90|龐}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F91|龑}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F92|龒}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F93|龓}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F94|龔}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F95|龕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F96|龖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F97|龗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F98|龘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F99|龙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9A|龚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9B|龛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9C|龜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9D|龝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9E|龞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9F|龟}}
|----- align="center" style="background:#75ff6f"
!style="background:#ffffff"|9FAx
|style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA0|龠}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA1|龡}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA2|龢}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA3|龣}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA4|龤}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA5|龥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA6|龦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA7|龧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA8|龨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA9|龩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAA|龪}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAB|龫}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAC|龬}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAD|龭}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAE|龮}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAF|龯}}
|----- align="center" style="background:#75ff6f"
!style="background:#ffffff"|9FBx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB0|龰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB1|龱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB2|龲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB3|龳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB4|龴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB5|龵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB6|龶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB7|龷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB8|龸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB9|龹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBA|龺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBB|龻}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBC|龼}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBD|龽}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBE|龾}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBF|龿}}
|----- align="center" style="background:#78ffca"
!style="background:#ffffff"|9FCx
|style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC0|鿀}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC1|鿁}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC2|鿂}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC3|鿃}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC4|鿄}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC5|鿅}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC6|鿆}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC7|鿇}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC8|鿈}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC9|鿉}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCA|鿊}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCB|鿋}}||style="background:#7ef9ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCC|鿌}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCD|鿍}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCE|鿎}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCF|鿏}}
|----- align="center" style="background:#b690ff"
!style="background:#ffffff"|9FDx
|style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD0|鿐}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD1|鿑}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD2|鿒}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD3|鿓}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD4|鿔}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD5|鿕}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD6|鿖}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD7|鿗}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD8|鿘}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD9|鿙}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDA|鿚}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDB|鿛}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDC|鿜}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDD|鿝}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDE|鿞}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDF|鿟}}
|----- align="center" style="background:#b690ff"
!style="background:#ffffff"|9FEx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE0|鿠}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE1|鿡}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE2|鿢}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE3|鿣}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE4|鿤}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE5|鿥}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE6|鿦}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE7|鿧}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE8|鿨}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE9|鿩}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEA|鿪}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEB|鿫}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEC|鿬}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FED|鿭}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEE|鿮}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEF|鿯}}
|----- align="center" style="background:#ffb0ff"
!style="background:#ffffff"|9FFx
|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF0|鿰}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF1|鿱}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF2|鿲}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF3|鿳}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF4|鿴}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF5|鿵}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF6|鿶}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF7|鿷}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF8|鿸}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF9|鿹}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFA|鿺}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFB|鿻}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFC|鿼}}||style="background:#ffc0e0"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFD|鿽}}||style="background:#ffc0e0"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFE|鿾}}||style="background:#ffc0e0"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFF|鿿}}
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|}
{{:Unicode/Character/footer}}
gyp1x8xc37bfcry1qo5e8r0fjn2oo8e
Unicode/Character reference/E000-EFFF
0
77337
4634671
4632873
2026-05-07T17:21:10Z
~2026-20501-36
3573321
4634671
wikitext
text/x-wiki
{{:Unicode/Character reference}}
{|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse"
|-
| colspan="17" style="background:#f8f8f8;text-align:center" | '''Private Use Area'''{{ref|PUA|Note}}
|----- style="background:#ccccff"
!width="4%"|U+!!width="6%"|0!!width="6%"|1!!width="6%"|2!!width="6%"|3!!width="6%"|4!!width="6%"|5!!width="6%"|6!!width="6%"|7!!width="6%"|8!!width="6%"|9!!width="6%"|A!!width="6%"|B!!width="6%"|C!!width="6%"|D!!width="6%"|E!!width="6%"|F
|----- align="center"
!E00x
|||||||||||||||||||||||||||||||
|----- align="center"
!E01x
|||||||||||||||||||||||||||||||
|----- align="center"
!E02x
|||||||||||||||||||||||||||||||
|----- align="center"
!E03x
|||||||||||||||||||||||||||||||
|----- align="center"
!E04x
|||||||||||||||||||||||||||||||
|----- align="center"
!E05x
|||||||||||||||||||||||||||||||
|----- align="center"
!E06x
|||||||||||||||||||||||||||||||
|----- align="center"
!E07x
|||||||||||||||||||||||||||||||
|----- align="center"
!E08x
|||||||||||||||||||||||||||||||
|----- align="center"
!E09x
|||||||||||||||||||||||||||||||
|----- align="center"
!E0Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E0Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E0Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E0Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E0Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E0Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E10x
|||||||||||||||||||||||||||||||
|----- align="center"
!E11x
|||||||||||||||||||||||||||||||
|----- align="center"
!E12x
|||||||||||||||||||||||||||||||
|----- align="center"
!E13x
|||||||||||||||||||||||||||||||
|----- align="center"
!E14x
|||||||||||||||||||||||||||||||
|----- align="center"
!E15x
|||||||||||||||||||||||||||||||
|----- align="center"
!E16x
|||||||||||||||||||||||||||||||
|----- align="center"
!E17x
|||||||||||||||||||||||||||||||
|----- align="center"
!E18x
|||||||||||||||||||||||||||||||
|----- align="center"
!E19x
|||||||||||||||||||||||||||||||
|----- align="center"
!E1Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E1Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E1Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E1Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E1Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E1Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E20x
|||||||||||||||||||||||||||||||
|----- align="center"
!E21x
|||||||||||||||||||||||||||||||
|----- align="center"
!E22x
|||||||||||||||||||||||||||||||
|----- align="center"
!E23x
|||||||||||||||||||||||||||||||
|----- align="center"
!E24x
|||||||||||||||||||||||||||||||
|----- align="center"
!E25x
|||||||||||||||||||||||||||||||
|----- align="center"
!E26x
|||||||||||||||||||||||||||||||
|----- align="center"
!E27x
|||||||||||||||||||||||||||||||
|----- align="center"
!E28x
|||||||||||||||||||||||||||||||
|----- align="center"
!E29x
|||||||||||||||||||||||||||||||
|----- align="center"
!E2Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E2Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E2Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E2Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E2Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E2Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E30x
|||||||||||||||||||||||||||||||
|----- align="center"
!E31x
|||||||||||||||||||||||||||||||
|----- align="center"
!E32x
|||||||||||||||||||||||||||||||
|----- align="center"
!E33x
|||||||||||||||||||||||||||||||
|----- align="center"
!E34x
|||||||||||||||||||||||||||||||
|----- align="center"
!E35x
|||||||||||||||||||||||||||||||
|----- align="center"
!E36x
|||||||||||||||||||||||||||||||
|----- align="center"
!E37x
|||||||||||||||||||||||||||||||
|----- align="center"
!E38x
|||||||||||||||||||||||||||||||
|----- align="center"
!E39x
|||||||||||||||||||||||||||||||
|----- align="center"
!E3Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E3Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E3Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E3Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E3Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E3Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E40x
|||||||||||||||||||||||||||||||
|----- align="center"
!E41x
|||||||||||||||||||||||||||||||
|----- align="center"
!E42x
|||||||||||||||||||||||||||||||
|----- align="center"
!E43x
|||||||||||||||||||||||||||||||
|----- align="center"
!E44x
|||||||||||||||||||||||||||||||
|----- align="center"
!E45x
|||||||||||||||||||||||||||||||
|----- align="center"
!E46x
|||||||||||||||||||||||||||||||
|----- align="center"
!E47x
|||||||||||||||||||||||||||||||
|----- align="center"
!E48x
|||||||||||||||||||||||||||||||
|----- align="center"
!E49x
|||||||||||||||||||||||||||||||
|----- align="center"
!E4Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E4Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E4Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E4Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E4Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E4Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E50x
|||||||||||||||||||||||||||||||
|----- align="center"
!E51x
|||||||||||||||||||||||||||||||
|----- align="center"
!E52x
|||||||||||||||||||||||||||||||
|----- align="center"
!E53x
|||||||||||||||||||||||||||||||
|----- align="center"
!E54x
|||||||||||||||||||||||||||||||
|----- align="center"
!E55x
|||||||||||||||||||||||||||||||
|----- align="center"
!E56x
|||||||||||||||||||||||||||||||
|----- align="center"
!E57x
|||||||||||||||||||||||||||||||
|----- align="center"
!E58x
|||||||||||||||||||||||||||||||
|----- align="center"
!E59x
|||||||||||||||||||||||||||||||
|----- align="center"
!E5Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E5Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E5Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E5Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E5Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E5Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E60x
|||||||||||||||||||||||||||||||
|----- align="center"
!E61x
|||||||||||||||||||||||||||||||
|----- align="center"
!E62x
|||||||||||||||||||||||||||||||
|----- align="center"
!E63x
|||||||||||||||||||||||||||||||
|----- align="center"
!E64x
|||||||||||||||||||||||||||||||
|----- align="center"
!E65x
|||||||||||||||||||||||||||||||
|----- align="center"
!E66x
|||||||||||||||||||||||||||||||
|----- align="center"
!E67x
|||||||||||||||||||||||||||||||
|----- align="center"
!E68x
|||||||||||||||||||||||||||||||
|----- align="center"
!E69x
|||||||||||||||||||||||||||||||
|----- align="center"
!E6Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E6Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E6Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E6Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E6Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E6Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E70x
|||||||||||||||||||||||||||||||
|----- align="center"
!E71x
|||||||||||||||||||||||||||||||
|----- align="center"
!E72x
|||||||||||||||||||||||||||||||
|----- align="center"
!E73x
|||||||||||||||||||||||||||||||
|----- align="center"
!E74x
|||||||||||||||||||||||||||||||
|----- align="center"
!E75x
|||||||||||||||||||||||||||||||
|----- align="center"
!E76x
|||||||||||||||||||||||||||||||
|----- align="center"
!E77x
|||||||||||||||||||||||||||||||
|----- align="center"
!E78x
|||||||||||||||||||||||||||||||
|----- align="center"
!E79x
|||||||||||||||||||||||||||||||
|----- align="center"
!E7Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E7Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E7Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E7Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E7Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E7Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E80x
|||||||||||||||||||||||||||||||
|----- align="center"
!E81x
|||||||||||||||||||||||||||||||
|----- align="center"
!E82x
|||||||||||||||||||||||||||||||
|----- align="center"
!E83x
|||||||||||||||||||||||||||||||
|----- align="center"
!E84x
|||||||||||||||||||||||||||||||
|----- align="center"
!E85x
|||||||||||||||||||||||||||||||
|----- align="center"
!E86x
|||||||||||||||||||||||||||||||
|----- align="center"
!E87x
|||||||||||||||||||||||||||||||
|----- align="center"
!E88x
|||||||||||||||||||||||||||||||
|----- align="center"
!E89x
|||||||||||||||||||||||||||||||
|----- align="center"
!E8Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E8Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E8Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E8Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E8Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E8Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!E90x
|||||||||||||||||||||||||||||||
|----- align="center"
!E91x
|||||||||||||||||||||||||||||||
|----- align="center"
!E92x
|||||||||||||||||||||||||||||||
|----- align="center"
!E93x
|||||||||||||||||||||||||||||||
|----- align="center"
!E94x
|||||||||||||||||||||||||||||||
|----- align="center"
!E95x
|||||||||||||||||||||||||||||||
|----- align="center"
!E96x
|||||||||||||||||||||||||||||||
|----- align="center"
!E97x
|||||||||||||||||||||||||||||||
|----- align="center"
!E98x
|||||||||||||||||||||||||||||||
|----- align="center"
!E99x
|||||||||||||||||||||||||||||||
|----- align="center"
!E9Ax
|||||||||||||||||||||||||||||||
|----- align="center"
!E9Bx
|||||||||||||||||||||||||||||||
|----- align="center"
!E9Cx
|||||||||||||||||||||||||||||||
|----- align="center"
!E9Dx
|||||||||||||||||||||||||||||||
|----- align="center"
!E9Ex
|||||||||||||||||||||||||||||||
|----- align="center"
!E9Fx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!EA0x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA1x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA2x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA3x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA4x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA5x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA6x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA7x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA8x
|||||||||||||||||||||||||||||||
|----- align="center"
!EA9x
|||||||||||||||||||||||||||||||
|----- align="center"
!EAAx
|||||||||||||||||||||||||||||||
|----- align="center"
!EABx
|||||||||||||||||||||||||||||||
|----- align="center"
!EACx
|||||||||||||||||||||||||||||||
|----- align="center"
!EADx
|||||||||||||||||||||||||||||||
|----- align="center"
!EAEx
|||||||||||||||||||||||||||||||
|----- align="center"
!EAFx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!EB0x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB1x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB2x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB3x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB4x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB5x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB6x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB7x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB8x
|||||||||||||||||||||||||||||||
|----- align="center"
!EB9x
|||||||||||||||||||||||||||||||
|----- align="center"
!EBAx
|||||||||||||||||||||||||||||||
|----- align="center"
!EBBx
|||||||||||||||||||||||||||||||
|----- align="center"
!EBCx
|||||||||||||||||||||||||||||||
|----- align="center"
!EBDx
|||||||||||||||||||||||||||||||
|----- align="center"
!EBEx
|||||||||||||||||||||||||||||||
|----- align="center"
!EBFx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!EC0x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC1x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC2x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC3x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC4x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC5x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC6x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC7x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC8x
|||||||||||||||||||||||||||||||
|----- align="center"
!EC9x
|||||||||||||||||||||||||||||||
|----- align="center"
!ECAx
|||||||||||||||||||||||||||||||
|----- align="center"
!ECBx
|||||||||||||||||||||||||||||||
|----- align="center"
!ECCx
|||||||||||||||||||||||||||||||
|----- align="center"
!ECDx
|||||||||||||||||||||||||||||||
|----- align="center"
!ECEx
|||||||||||||||||||||||||||||||
|----- align="center"
!ECFx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!ED0x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED1x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED2x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED3x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED4x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED5x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED6x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED7x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED8x
|||||||||||||||||||||||||||||||
|----- align="center"
!ED9x
|||||||||||||||||||||||||||||||
|----- align="center"
!EDAx
|||||||||||||||||||||||||||||||
|----- align="center"
!EDBx
|||||||||||||||||||||||||||||||
|----- align="center"
!EDCx
|||||||||||||||||||||||||||||||
|----- align="center"
!EDDx
|||||||||||||||||||||||||||||||
|----- align="center"
!EDEx
|||||||||||||||||||||||||||||||
|----- align="center"
!EDFx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!EE0x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE1x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE2x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE3x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE4x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE5x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE6x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE7x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE8x
|||||||||||||||||||||||||||||||
|----- align="center"
!EE9x
|||||||||||||||||||||||||||||||
|----- align="center"
!EEAx
|||||||||||||||||||||||||||||||
|----- align="center"
!EEBx
|||||||||||||||||||||||||||||||
|----- align="center"
!EECx
|||||||||||||||||||||||||||||||
|----- align="center"
!EEDx
|||||||||||||||||||||||||||||||
|----- align="center"
!EEEx
|||||||||||||||||||||||||||||||
|----- align="center"
!EEFx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|----- align="center"
!EF0x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF1x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF2x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF3x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF4x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF5x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF6x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF7x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF8x
|||||||||||||||||||||||||||||||
|----- align="center"
!EF9x
|||||||||||||||||||||||||||||||
|----- align="center"
!EFAx
|||||||||||||||||||||||||||||||
|----- align="center"
!EFBx
|||||||||||||||||||||||||||||||
|----- align="center"
!EFCx
|||||||||||||||||||||||||||||||
|----- align="center"
!EFDx
|||||||||||||||||||||||||||||||
|----- align="center"
!EFEx
|||||||||||||||||||||||||||||||
|----- align="center"
!EFFx
|||||||||||||||||||||||||||||||
|----- style="background:#ccccff"
!U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F
|-
| colspan="17" style="background:#f8f8f8;text-align:center" | '''Notes'''
|-
| || colspan="16" style="background:#f8f8f8;font-size:small;text-align:left" |{{note|PUA}}Unicode range E000–F8FF is used as a ''private use area'', which is reserved for private use.
|}
317vb0acgq5l30wxq79pul87qpwtpb0
User:Urhixidur
2
101252
4634637
4634508
2026-05-07T12:09:37Z
Urhixidur
43936
Dungeon Universalis --
4634637
wikitext
text/x-wiki
{{userpage}}
{{#babel:fr-N|en-5}}
<table cellspacing="0" cellpadding="0" class="mw-babel-wrapper">
<tr>
<td>{{Userbox|info-background=#EEE|logo-background=#ADA|logo=art-tsolyáni-1|info=Màsuntsólukoi trashóm chidóm tla tsolyáni.}}</td>
</tr>
</table>
==Interwiki==
[http://www.angelfire.com/pq/Urhixidur/index.html Personal web page]
----
* [[:incubator:User:Urhixidur|'''Incubator''']]
* [[:mw:User:Urhixidur|'''MediaWiki''']]
* [[:meta:User:Urhixidur|'''Meta''']]
* [http://www.omegawiki.org/User:Urhixidur '''Omegawiki''']<!--
* '''Wikibooks''' : [[:b:en:User:Urhixidur|English]] · [[:b:fr:Utilisateur:Urhixidur|Français]] · [[:b:it:Utente:Urhixidur|Italiano]] · [[:w:pt:Usuário:Urhixidur|Português]]
-->
* '''Wikibooks''' : '''this page'''<!--[[:en:User:Urhixidur|English]]--> · [[:fr:Utilisateur:Urhixidur|Français]] · [[:it:Utente:Urhixidur|Italiano]] · [[:pt:Usuário:Urhixidur|Português]]
* [[:commons:User:Urhixidur|'''Wikimedia Commons''']]
* <s>'''Wikinews''' : [[:wikinews:en:User:Urhixidur|English]] · [[:wikinews:fr:Utilisateur:Urhixidur|Français]] · [[:wikinews:pt:Usuário:Urhixidur|Português]] (Wikinotícias)</s>
* '''Wikipedia''' : [[:w:an:Usuario:Urhixidur|Aragonés]] · [[:w:id:Pengguna:Urhixidur|Bahasa Indonesia]] · [[:w:jv:Panganggo:Urhixidur|Basa Jawa]] · [[:w:ca:Usuari:Urhixidur|Català]] · [[:w:en:User:Urhixidur|English]] · [[:w:eu:Lankide:Urhixidur|Euskara]] · [[:w:fr:Utilisateur:Urhixidur|Français]] · [[:w:ga:Úsáideoir:Urhixidur|Gaeilge]] · [[:w:lt:Naudotojas:Urhixidur|Lietuvių]] · [[:w:nl:Gebruiker:Urhixidur|Nederlands]] · [[:w:pt:Usuário:Urhixidur|Português]] · [[:w:ro:Utilizator:Urhixidur|Română]] · [[:w:sh:Korisnik:Urhixidur|Srpskohrvatski/Српскохрватски]] · [[:w:tr:Kullanıcı:Urhixidur|Türkçe]] · [[:w:uk:Користувач:Urhixidur|Українська]] · [[:w:uz:Foydalanuvchi:Urhixidur|O‘zbek]] · [[:w:ar:%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85:Urhixidur|العربية]] · [[:w:ml:ഉപയോക്താവ്:Urhixidur|മലയാളം]]
* '''Wikiquote''' : [[:q:en:User:Urhixidur|English]] · [[:q:fr:Utilisateur:Urhixidur|Français]] · [[:q:it:Utente:Urhixidur|Italiano]]
* '''Wikisource''' : [[:s:en:User:Urhixidur|English]] · [[:s:fr:Utilisateur:Urhixidur|Français]] · [[:s:pt:Usuário:Urhixidur|Português]]
* [[:wikispecies:User:Urhixidur|'''Wikispecies''']]
* [http://wikitech.wikimedia.org/wiki/User:Urhixidur '''Wikitech''']
* '''Wiktionary''' : [[:wikt:de:Benutzer:Urhixidur|Deutsch]] · [[:wikt:en:User:Urhixidur|English]] · [[:wikt:es:Usuario:Urhixidur|Español]] · [[:wikt:eo:Uzanto:Urhixidur|Esperanto]] · [[:wikt:fr:Utilisateur:Urhixidur|Français]] · [[:wikt:nl:Gebruiker:Urhixidur|Nederlands]] · [[:wikt:pl:Wikipedysta:Urhixidur|Polski]] · [[:wikt:pt:Usuário:Urhixidur|Português]] · [[:wikt:ja:%E5%88%A9%E7%94%A8%E8%80%85:Urhixidur|日本語]]
----
* '''Diaspora''' : [https://diasp.org/people/711ed870b7b5013ca26928a1592b385a Urhixidur @ diasp.org]
* '''Mastodon''' : [https://mstdn.ca/@Urhixidur Urhixidur @ mstdn.ca]
* [http://1d4chan.org/wiki/User:Urhixidur 1d4chan]
* [http://wiki.archlinux.org/index.php/User:Urhixidur Arch Linux Wiki]
* [http://translatewiki.net/wiki/User:Urhixidur BetaWiki (Nuka-Wiki/Translatewiki)]
* [http://wiki.documentfoundation.org/User:Urhixidur Document Foundation Wiki]
* [http://wiki.eclipse.org/index.php?title=User:Daniel.thibault.drdc-rddc.gc.ca Eclipse Wiki]
* [http://elinux.org/User:Urhixidur Embedded Linux Wiki]
* [http://wiki.mabinogiworld.com/index.php?title=User:Urhixidur Mabinogi World Wiki]
* [http://www.uesp.net/wiki/User:Urhixidur Unofficial Elder Scroll Pages]
* [https://community.fandom.com/wiki/User:Polytherion Central Fandom]
** '''WikIkariam''' : [https://ikariam.fandom.com/index.php?title=User:Polytherion English] · [https://ikariam.fandom.com/fr/wiki/Utilisateur:Polytherion Français]
** [https://cthulhuwars.fandom.com/wiki/User:Polytherion Cthulhu Wars Strategy Wikia (English)]
<!-- * http://wikinfo.org/w/index.php/User:Urhixidur, then http://wwtrade.org/m/index.php/User:Urhixidur and http://wikinfo.org/w/English/index.php/User:Urhixidur, then http://wwtrade.org/English/index.php/User:Urhixidur, then http://wwtrade.org/wikinfo/index.php/User:Urhixidur Wikinfo -->
----
[[fr:Utilisateur:Urhixidur]]
[[it:Utente:Urhixidur]]
[[pt:Usuário:Urhixidur]]
2yo293q2ot7rlcjsfk98aqfc6gxllf7
Adventist Youth Honors Answer Book/Outreach/Family Life
0
102976
4634669
4612346
2026-05-07T17:19:12Z
~2026-27744-72
3581962
/* Living on your own */
4634669
wikitext
text/x-wiki
{{honor_header|2|1975|Outreach|General Conference}}
==1. Explain the roles of the father, mother, sister, and brother as given in the Bible and Spirit of Prophecy. ==
===Bible===
'''Ephesians 5:22-6:4, Colossians 3:18-21, and 1 Peter 3:1-7''' have instruction for the family members:
; Wife: Submit to your husband, love your husband. (hai isteri tunduklah kpd suamimu seperti kepada Tuhan)
; Husband: Love your wife, respect your wife.
; Children: Obey your parents.
; Parents: Do not exasperate your children. Train them in the ways of the Lord.
'''Titus 2''' counsels older men and women to be temperate and self-controlled so that they may teach the younger generation to do the same and to love one another.
===Spirit of Prophecy(paraphrased)===
; Father: The Adventist Home chapter 34-35. Fathers important part to play to act...binding the house treasures by his devoted affection. To walk with God, exercise authority with humility. Chapter 36. spend time with children training them to be useful. Chapter 37. Not be domineering, selfish, intolerant. Love and affection and respect should be merited.
; Mother: The Adventist Home Chapter 39. Her influence, words, and actions bear fruit in eternity. She should strive to keep own life spiritually pure by shaping and molding characters. She should promote a healthy lifestyle by living by example.
; Children: The Adventist Home Chapter 49-51. Be taught, obliged to serve the family. Taught to be self-sufficient and to help others. Give honor to parents. Learn of God. Learn to serve with love and cheerfulness.
==2. What is the difference between self-respect and pride? Write a paragraph about some of the things that make you feel good about your family. Include the things you are proud of and your family's great qualities and accomplishments!==
===Self-respect===
Self-respect is the recognition of worth in oneself. Remember that God sent His Son to save ''you'', so He must think you are worth it! A person who has self-respect will take care of her body and will not go around feeling ashamed or inadequate. A person with self-respect will be able to make a realistic estimation of whether or not they possess the skill necessary to accomplish a given task. They will not be afraid to ask for help if it is needed, nor will they be afraid to try something new due to a fear of failure. A person with self-respect may say "I don't know if I can do that or not, but I ''know'' I can ''try''!" A person with self-respect is happy to share skills with others, to teach them, and to serve them. She recognizes that her gifts come from God!
Note: Stories from Daniel's life or Joseph's life show young men who had healthy self-respect. Jesus is the ultimate example of someone who "knew who he was" and who was confident in the direction he was headed. Because of his healthy self-respect, he was capable of confidently sharing about a relationship with God and with others that he had experienced personally.
===Pride===
Pride is the misplaced trust in one's ability. It leads to arrogance, and an unrealistic assessment of one's abilities. Pride clouds the judgment and often leads to the most spectacular failures. Pride may cause a person to put others down or to assume that no one else is capable of doing things as well as ''he'' can. He may refuse to "stoop" down to the level of someone he feels is inferior. He is neither willing to serve nor to teach, out of fear that doing so will bring an inferior up to ''his'' level. He does not recognize that his gifts come from God and thinks rather, that they belong to him because he is such a great person. The Bible says "Pride goes before destruction and a haughty spirit before a fall (Proverbs 16:18 NIV).
When you are a confident person you know it. When you are a prideful person you show it, and you become arrogant.
==3. Do one of the following in your home for one week: a. Dust and keep the floors clean b. Wash the clothes c. Wash the dishes d. Properly dispose of garbage==
Consult the answers to the [[../../Household Arts/Housekeeping|Housekeeping]] and [[../../Household Arts/Laundering|Laundering]] honors as found in the [[../../Household Arts|Household Arts]] chapter of this Wikibook for instruction.
==4. Care for the younger members of your family or a neighbor's family for at least a couple of hours. ==
Consult the answers to the [[../../Health and Science/Child Care (Babysitting)|Child Care]] honor in the [[../../Health and Science|Health and Science]] section of this Wikibook for detailed instruction.
==5. Make a list of some of the things your family spends money on. Explain your responsibility to the finances of your family. ==
The list may include such items as laundry detergent, food, and clothing.
===Living with your parents===
If you are not living on your own, you will need to talk to your parents about this. Before you do though, see how much of the list you can make up yourself. Then talk to them and see if they can add (or subtract) anything from it.
Your responsibilities will vary with your situation, but you almost certainly have some influence on how much your family spends. If you are in the habit of wasting food, or overeating, you can address that yourself. Turn out the lights when you leave a room. Close the door when you enter or leave your home so that your family does not pay to heat or air-condition the front yard.
===Living on your own===
If you are living on your own, you should already have a pretty good idea of what you spend money on. Think about this and write it down. If you have never done it before, it can be an enlightening experience. Go through your checkbook and any credit card statements.
Your responsibility to the family finances is nearly total, though it may be shared with a spouse. Make out a budget and stick to it. Do not spend more money than you make, and if you find yourself doing this, look for areas where you can cut back (adjust your thermostat, avoid restaurants, and do not make impulse purchases).
==6. Make a list of family activities that you think your family would enjoy.==
Think of the times you can remember each family member laughing or smiling. What was going on then? Ask your family members what they enjoy the most and write that down too. You can also ask them what three things they would like to have if they were stranded on a desert island (supposing it already had everything on it they needed survival). Do not accept answers like "a boat and two oars." You're looking for the things they like to do.
==7. How would you make family worship meaningful for preschoolers, juniors, and teens? Plan and conduct family worship for one of these age groups. ==
===Preschoolers===
Preschoolers love to sing songs and to ''do'' things. They like to move around. They understand things that are concrete and have difficulty understanding abstractions. Preschoolers tend to believe whatever ''anyone'' tells them, so you must be careful to present only the facts. It's OK to simplify them, but whatever you tell them must be true. Their worship should, therefore, include lots of songs, action, and concrete lessons that are easy to understand. The length of the worship should be short and have many components.
===Juniors===
Juniors are the ages of 10 to 12. Juniors have sharp minds and can quickly memorize things. Juniors tend to believe whatever they are told by ''trusted'' adults. They often do not attempt to apply the lessons to their own lives on their own - the application should be presented as well as the lesson. Going through scenarios works well for this age group.
===Teens===
Teens are at an age where they begin to understand abstractions and internalize spiritual lessons. They look for ways to apply the things they learn to their own lives. Teens tend to not believe anything ''anyone'' tells them unless it holds up to their ''own'' scrutiny. Though this may sound like a bad thing, the opposite is true. It is a necessary step for them in taking control of their own spiritual lives. They begin to rely on their ''own'' relationship with God instead of on their ''parents'' relationship with Him. Since they are beginning to discover how Jesus / Christianity makes seems to ''them'' any family worships that allow them to express that expanding self-awareness will likely be seen as relevant and applicable or ''real''. Their worship can include the abstract, and they should be encouraged to personalize the lesson. Family worship for teens should respect their time commitments to school, sports, and other activities that fill their lives.
==8. Know what to do in the following circumstances in your home ==
===a. Accident ===
If the accident has caused a serious injury requiring emergency medical assistance, call 911. If an injury is serious but not immediately life-threatening, it is better to go to the hospital emergency room. Bear in mind, however, that the emergency room staff are trained to treat people according to the severity of their problem rather than in the order they arrive. If the injury is minor but still requires medical attention, call your family doctor - if the doctor believes the situation is serious enough, he will recommend that you go to the emergency room, come to the office, or self-treat.
===b. Bad storm ===
Get inside the house during a storm. Close the door and windows, and contact family members as soon as possible. If a tornado seems possible, seek shelter in the basement beneath a heavy item of furniture, or in a doorway. Stay away from the windows. Pray.
===c. Financial crisis ===
Cut out unnecessary expenses, and be mindful of waste. Take only as much food as you will eat, and save leftovers for another meal (and eat them!) Turn off lights when leaving a room and lower the thermostat. If the family is in heavy debt, seek credit counseling. Eat at home instead of at a restaurant. To save gasoline, consolidate trips rather than driving to town every day to run errands.
===d. Fire===
{{:Adventist Youth Honors Answer Book/Fire}}
===e. Loss of a relative===
When a loved one dies, the family must grieve. Remember that it is not God's will that people die. His original plan did not include death. Take hope in the resurrection, comfort other family members and take time to cry yourself.
==9. Plan and conduct a fire drill in your home. ==
{{: Adventist Youth Honors Answer Book/Fire drill}}
==10. List five ways you can show concern for or interest in your neighbors.==
A possible list might include:
*Talk to them!
*Bring them cookies.
*Take their dog for a walk.
*Invite them to our home for a visit.
*Cut their grass without being asked (but ask them first out of respect).
*Rake their leaves.
*Do not park in their assigned parking spaces.
*Keep your place looking nice.
*In snowy weather:
**Shovel their sidewalk or driveway (or help them do this).
**Dig out their car.
*When they are away from home:
**Offer to care for their pets.
**Offer to get their mail and newspapers.
**Keep an eye on their place.
==11. Study the recreational activities of your family. What improvements, if any, can be made?==
Specific areas to consider are sedentary activities versus physical activities
You cannot replace ''all'' sedentary activities with physical ones, but most families can improve in this area.
Another area to consider is television viewing. Watching TV doesn’t require any interaction between family members. Instead, everyone's eyes are glued to the tv, and no one is talking. If someone ''does'' talk during the program, it is often met with glares or a "be quiet!" It is far better to engage in activities that require interaction among family members, such as board games.
Do your family's activities require a lot of driving to and fro from one place to another? This is often the case in a large family where one child has ballet, another has soccer practice, and another has piano lessons. Shuttling people from one event to another can be stressful! Why not suggest activities that everyone can enjoy instead of activities that only one person does? It's OK to have personal interests but be careful that your family activities don't reduce the parents to little more than chauffeurs (taxi drivers).
What other improvements can you think of?
having pure sex together
==References==
[[{{BOOKCATEGORY|Adventist Youth Honors Answer Book}}|{{SUBPAGENAME}}]]
[[{{BOOKCATEGORY|Adventist Youth Honors Answer Book}}/Completed Honors|{{SUBPAGENAME}}]]
9p46jgybkgvwc4pe4135z0kg7q1ezza
4634695
4634669
2026-05-08T01:21:33Z
SHB2000
3332924
[[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-27744-72|~2026-27744-72]] ([[User talk:~2026-27744-72|talk]]) to last version by ~2026-37285-9
4612346
wikitext
text/x-wiki
{{honor_header|2|1975|Outreach|General Conference}}
==1. Explain the roles of the father, mother, sister, and brother as given in the Bible and Spirit of Prophecy. ==
===Bible===
'''Ephesians 5:22-6:4, Colossians 3:18-21, and 1 Peter 3:1-7''' have instruction for the family members:
; Wife: Submit to your husband, love your husband. (hai isteri tunduklah kpd suamimu seperti kepada Tuhan)
; Husband: Love your wife, respect your wife.
; Children: Obey your parents.
; Parents: Do not exasperate your children. Train them in the ways of the Lord.
'''Titus 2''' counsels older men and women to be temperate and self-controlled so that they may teach the younger generation to do the same and to love one another.
===Spirit of Prophecy(paraphrased)===
; Father: The Adventist Home chapter 34-35. Fathers important part to play to act...binding the house treasures by his devoted affection. To walk with God, exercise authority with humility. Chapter 36. spend time with children training them to be useful. Chapter 37. Not be domineering, selfish, intolerant. Love and affection and respect should be merited.
; Mother: The Adventist Home Chapter 39. Her influence, words, and actions bear fruit in eternity. She should strive to keep own life spiritually pure by shaping and molding characters. She should promote a healthy lifestyle by living by example.
; Children: The Adventist Home Chapter 49-51. Be taught, obliged to serve the family. Taught to be self-sufficient and to help others. Give honor to parents. Learn of God. Learn to serve with love and cheerfulness.
==2. What is the difference between self-respect and pride? Write a paragraph about some of the things that make you feel good about your family. Include the things you are proud of and your family's great qualities and accomplishments!==
===Self-respect===
Self-respect is the recognition of worth in oneself. Remember that God sent His Son to save ''you'', so He must think you are worth it! A person who has self-respect will take care of her body and will not go around feeling ashamed or inadequate. A person with self-respect will be able to make a realistic estimation of whether or not they possess the skill necessary to accomplish a given task. They will not be afraid to ask for help if it is needed, nor will they be afraid to try something new due to a fear of failure. A person with self-respect may say "I don't know if I can do that or not, but I ''know'' I can ''try''!" A person with self-respect is happy to share skills with others, to teach them, and to serve them. She recognizes that her gifts come from God!
Note: Stories from Daniel's life or Joseph's life show young men who had healthy self-respect. Jesus is the ultimate example of someone who "knew who he was" and who was confident in the direction he was headed. Because of his healthy self-respect, he was capable of confidently sharing about a relationship with God and with others that he had experienced personally.
===Pride===
Pride is the misplaced trust in one's ability. It leads to arrogance, and an unrealistic assessment of one's abilities. Pride clouds the judgment and often leads to the most spectacular failures. Pride may cause a person to put others down or to assume that no one else is capable of doing things as well as ''he'' can. He may refuse to "stoop" down to the level of someone he feels is inferior. He is neither willing to serve nor to teach, out of fear that doing so will bring an inferior up to ''his'' level. He does not recognize that his gifts come from God and thinks rather, that they belong to him because he is such a great person. The Bible says "Pride goes before destruction and a haughty spirit before a fall (Proverbs 16:18 NIV).
When you are a confident person you know it. When you are a prideful person you show it, and you become arrogant.
==3. Do one of the following in your home for one week: a. Dust and keep the floors clean b. Wash the clothes c. Wash the dishes d. Properly dispose of garbage==
Consult the answers to the [[../../Household Arts/Housekeeping|Housekeeping]] and [[../../Household Arts/Laundering|Laundering]] honors as found in the [[../../Household Arts|Household Arts]] chapter of this Wikibook for instruction.
==4. Care for the younger members of your family or a neighbor's family for at least a couple of hours. ==
Consult the answers to the [[../../Health and Science/Child Care (Babysitting)|Child Care]] honor in the [[../../Health and Science|Health and Science]] section of this Wikibook for detailed instruction.
==5. Make a list of some of the things your family spends money on. Explain your responsibility to the finances of your family. ==
The list may include such items as laundry detergent, food, and clothing.
===Living with your parents===
If you are not living on your own, you will need to talk to your parents about this. Before you do though, see how much of the list you can make up yourself. Then talk to them and see if they can add (or subtract) anything from it.
Your responsibilities will vary with your situation, but you almost certainly have some influence on how much your family spends. If you are in the habit of wasting food, or overeating, you can address that yourself. Turn out the lights when you leave a room. Close the door when you enter or leave your home so that your family does not pay to heat or air-condition the front yard.
===Living on your own===
If you are living on your own, you should already have a pretty good idea of what you spend money on. Think about this and write it down. If you have never done it before, it can be an enlightening experience. Go through your checkbook and any credit card statements.
Your responsibility to the family finances is nearly total, though it may be shared with a spouse. Make out a budget and stick to it. Do not spend more money than you make, and if you find yourself doing this, look for areas where you can cut back (adjust your thermostat, avoid restaurants, and do not make impulse purchases).
==6. Make a list of family activities that you think your family would enjoy.==
Think of the times you can remember each family member laughing or smiling. What was going on then? Ask your family members what they enjoy the most and write that down too. You can also ask them what three things they would like to have if they were stranded on a desert island (supposing it already had everything on it they needed survival). Do not accept answers like "a boat and two oars." You're looking for the things they like to do.
==7. How would you make family worship meaningful for preschoolers, juniors, and teens? Plan and conduct family worship for one of these age groups. ==
===Preschoolers===
Preschoolers love to sing songs and to ''do'' things. They like to move around. They understand things that are concrete and have difficulty understanding abstractions. Preschoolers tend to believe whatever ''anyone'' tells them, so you must be careful to present only the facts. It's OK to simplify them, but whatever you tell them must be true. Their worship should, therefore, include lots of songs, action, and concrete lessons that are easy to understand. The length of the worship should be short and have many components.
===Juniors===
Juniors are the ages of 10 to 12. Juniors have sharp minds and can quickly memorize things. Juniors tend to believe whatever they are told by ''trusted'' adults. They often do not attempt to apply the lessons to their own lives on their own - the application should be presented as well as the lesson. Going through scenarios works well for this age group.
===Teens===
Teens are at an age where they begin to understand abstractions and internalize spiritual lessons. They look for ways to apply the things they learn to their own lives. Teens tend to not believe anything ''anyone'' tells them unless it holds up to their ''own'' scrutiny. Though this may sound like a bad thing, the opposite is true. It is a necessary step for them in taking control of their own spiritual lives. They begin to rely on their ''own'' relationship with God instead of on their ''parents'' relationship with Him. Since they are beginning to discover how Jesus / Christianity makes seems to ''them'' any family worships that allow them to express that expanding self-awareness will likely be seen as relevant and applicable or ''real''. Their worship can include the abstract, and they should be encouraged to personalize the lesson. Family worship for teens should respect their time commitments to school, sports, and other activities that fill their lives.
==8. Know what to do in the following circumstances in your home ==
===a. Accident ===
If the accident has caused a serious injury requiring emergency medical assistance, call 911. If an injury is serious but not immediately life-threatening, it is better to go to the hospital emergency room. Bear in mind, however, that the emergency room staff are trained to treat people according to the severity of their problem rather than in the order they arrive. If the injury is minor but still requires medical attention, call your family doctor - if the doctor believes the situation is serious enough, he will recommend that you go to the emergency room, come to the office, or self-treat.
===b. Bad storm ===
Get inside the house during a storm. Close the door and windows, and contact family members as soon as possible. If a tornado seems possible, seek shelter in the basement beneath a heavy item of furniture, or in a doorway. Stay away from the windows. Pray.
===c. Financial crisis ===
Cut out unnecessary expenses, and be mindful of waste. Take only as much food as you will eat, and save leftovers for another meal (and eat them!) Turn off lights when leaving a room and lower the thermostat. If the family is in heavy debt, seek credit counseling. Eat at home instead of at a restaurant. To save gasoline, consolidate trips rather than driving to town every day to run errands.
===d. Fire===
{{:Adventist Youth Honors Answer Book/Fire}}
===e. Loss of a relative===
When a loved one dies, the family must grieve. Remember that it is not God's will that people die. His original plan did not include death. Take hope in the resurrection, comfort other family members and take time to cry yourself.
==9. Plan and conduct a fire drill in your home. ==
{{: Adventist Youth Honors Answer Book/Fire drill}}
==10. List five ways you can show concern for or interest in your neighbors.==
A possible list might include:
*Talk to them!
*Bring them cookies.
*Take their dog for a walk.
*Invite them to our home for a visit.
*Cut their grass without being asked (but ask them first out of respect).
*Rake their leaves.
*Do not park in their assigned parking spaces.
*Keep your place looking nice.
*In snowy weather:
**Shovel their sidewalk or driveway (or help them do this).
**Dig out their car.
*When they are away from home:
**Offer to care for their pets.
**Offer to get their mail and newspapers.
**Keep an eye on their place.
==11. Study the recreational activities of your family. What improvements, if any, can be made?==
Specific areas to consider are sedentary activities versus physical activities
You cannot replace ''all'' sedentary activities with physical ones, but most families can improve in this area.
Another area to consider is television viewing. Watching TV doesn’t require any interaction between family members. Instead, everyone's eyes are glued to the tv, and no one is talking. If someone ''does'' talk during the program, it is often met with glares or a "be quiet!" It is far better to engage in activities that require interaction among family members, such as board games.
Do your family's activities require a lot of driving to and fro from one place to another? This is often the case in a large family where one child has ballet, another has soccer practice, and another has piano lessons. Shuttling people from one event to another can be stressful! Why not suggest activities that everyone can enjoy instead of activities that only one person does? It's OK to have personal interests but be careful that your family activities don't reduce the parents to little more than chauffeurs (taxi drivers).
What other improvements can you think of?
==References==
[[{{BOOKCATEGORY|Adventist Youth Honors Answer Book}}|{{SUBPAGENAME}}]]
[[{{BOOKCATEGORY|Adventist Youth Honors Answer Book}}/Completed Honors|{{SUBPAGENAME}}]]
q95rttjxj50x8q581d5p205e2kebe0u
Chess Opening Theory/1. d4/1...Nf6/2. c4/2...e6/3. Nc3/3...Bb4
0
104473
4634734
4610161
2026-05-08T06:29:07Z
~2026-27711-60
3582062
"it does not" seem redundant and sounds grammatically bad when already say "This is not because 4.Bd2 loses immediately;"
4634734
wikitext
text/x-wiki
{{Chess Opening Theory/Position
|name=Nimzo-Indian Defence
|parent=[[../|Indian Defence]]
|eco=[[Chess/ECOE|E20-E59]]
}}
== 3...Bb4 · Nimzo-Indian Defence ==
3...Bb4 introduces the Nimzo-Indian Defence. Black develops their dark-squared bishop as actively as possible and pins the white knight. If not handled properly, this pin can cause problems for White for several reasons. The most positionally significant of these is that the pin nullifies White's control of the e4 square. White would like to play e4 at some point, but Black's knight on f6 dominates the square for now, since the c3 knight cannot recapture when pinned. Consequently, Black may be able to install their knight on e4 or otherwise use the square for his own purposes if White does not fight for it.
A second implication of the pin is that Black is threatening to exchange bishop for knight and double White's pawns. The resulting position would be unbalanced, with White trying to open the position to utilize the power of his two bishops, and Black working to keep the position closed and exploit White's pawn weaknesses. White must decide how they feel about this prospect when choosing their next moves.
The Nimzo-Indian Defence is quite popular and there are a number of systems available to each side. White's fourth move options are listed below. Note that perhaps the most obvious move, 4. Bd2, breaking the pin and eliminating Black's threat to double White's pawns, is not among them. This is not because 4. Bd2 loses immediately. However, it is rarely seen in top level chess because it is far less ambitious than White's other choices.
==Theory table==
{{ChessTable}}
{{Chess/theory table
|name1=Rubinstein System
|line1=4. e3 O-O 5. Bd3 d5 6. Nf3 c5 7. O-O dxc4
|eval1={{Chess/not|=}}
|name2=Fianchetto variation
|line2=4. g3 c5 5. Nf3 cxd4 6. Nxd4 O-O 7. Bg2 d5 8. cxd5 Nxd5
|eval2={{Chess/not|=}}
|name3=Classical/Capablanca variation
|line3=4. Qc2 O-O 5. a3 Bxc3+ 6. Qxc3 b6 7. Nf3 Bb7
|eval3={{Chess/not|=}}
|name4=Kasparov variation
|line4=4. Nf3 b6 5. Bg5 Bb7 6. e3 h6 7. Bh4 Bxc3+
|eval4={{Chess/not|=}}
|name5=Kmoch variation
|line5=4. f3 c5 5. d5 Nh5 6. g3 Bxc3+ 7. bxc3 f5
|eval5={{Chess/not|unclear}}
|name6=Sämisch variation
|line6=4. a3 Bxc3+ 5. bxc3 c5 6. e4 Nc6 7. Bd3 O-O
|eval6={{Chess/not|=}}
|name7=Leningrad variation
|line7=4. Bg5 c5 5. d5 d6 6. e3 exd5 7. cxd5 Nbd7
|eval7={{Chess/not|unclear}}
|name8=Spielmann variation
|line8=4. Qb3 c5 dxc5 Nc6 Bg5 h6 Bxf6 Qxf6
|eval8={{Chess/not|=}}
}}
{{ChessMid}}
==References==
{{reflist}}
{{wikipedia|Nimzo-Indian Defence}}
{{BCO2}}
{{Chess Opening Theory/Footer}}
8hvvd9hac1ht4pn5iemlgv5rddnutbn
Spanish/Vocabulary/Animals
0
107978
4634636
3626079
2026-05-07T12:01:17Z
~2026-27562-66
3581909
Gjhgyy
4634636
wikitext
text/x-wiki
= Los Animales =
== Las Aves ==
*''' el águila ''' : '' (feminine) eagle ''
*''' la oso ''' : '' bear ''
*''' el ansarino ''' : '' gosling ''
*''' el avestruz ''' : '' ostrich ''
*''' el azulejo ''' : '' bluebird ''
*''' el tíburon ''' : '' shark''
*''' el buitre; el zopilote (in Mexico and Central America) ''' : '' vulture ''
*''' el leon ''' : '' lion ''
*''' el cardenal ''' : '' cardinal ''
*''' el cenzontle ''' : '' mockingbird ''
*''' el chorlo ''' : '' plover ''
*''' la cigüeña ''' : '' stork ''
*''' el cisne ''' : '' swan ''
*''' el cisne joven ''' : '' cygnet ''
*''' la codorniz ''' : '' quail ''
*''' el colibrí ''' : '' hummingbird ''
*''' el cóndor ''' : '' condor ''
*''' el cucarachero ''' : '' wren ''
*''' el cuco ''' : '' cuckoo ''
*''' el cuervo ''' : '' crow ''
*''' el faisán ''' : '' pheasant ''
*''' el flamenco ''' : '' flamingo ''
*''' la gallina ''' : '' hen ''
*''' el gallo ''' : '' rooster ''
*''' el ganso ''' : '' goose ''
*''' la garza ''' : '' heron ''
*''' la golondrina ''' : '' swallow ''
*''' la gaviota ''' : '' seagull ''
*''' el gorrión ''' : '' sparrow ''
*''' la grulla ''' : '' crane ''
*''' el halcón ''' : '' hawk, falcon ''
*''' el ibis ''' : '' ibis ''
*''' el loro, el papagayo ''' : '' parrot ''
*''' el martín pescador ''' : '' kingfisher ''
*''' el mirlo ''' : '' Old World blackbird ''
*''' el pájaro ''' : '' bird ''
*''' el pájaro carpintero ''' : '' woodpecker ''
*''' el paloma ''' : '' pigeon, dove ''
*''' el patito ''' : '' duckling ''
*''' el pato ''' : '' duck ''
*''' el pavo ''' : '' turkey ''
*''' el pavorreal ''' : '' peacock ''
*''' el pelícano ''' : '' pelican ''
*''' el periquito ''' : '' parakeet, budgie ''
*''' el petirrojo ''' : '' robin (the English and Japanese robins, ''Erithacus'') ''
*''' el petirrojo americano ''' : '' robin (the American robins, ''Turdus migratorius'') ''
*''' el pingüino ''' : '' penguin ''
*''' el pinzón ''' : '' finch ''
*''' el pollo ''' : '' chicken ''
*''' el polluelo ''' : '' chick ''
*''' el ruiseñor ''' : '' nightingale ''
*''' el tucán ''' : '' toucan ''
*''' el turpial ''' : '' New World blackbird ''
*''' la urraca de América ''' : '' blue jay ''
== Los Insectos ==
*(1-23) ''' los insectos ''' : '' insects ''
[[image:Nonholometabolous.GIF]]
*(1) ''' la libélula ''' : '' dragonfly ''
*(2) ''' el saltamontes ''' : '' grasshopper ''
*(3) ''' el grillo ''' : '' cricket ''
*(4) ''' la cucaracha ''' : '' cockroach ''
*(5) ''' la mantis religiosa ''' : '' praying mantis ''
*(6) ''' la termita ''' : '' termite ''
[[image:Mischolometabolous.GIF]]
*(7) ''' la pulga ''' : '' flea ''
*(8) ''' el piojo ''' : '' louse ''
*(9) ''' la mosca ''' : '' fly ''
*(10) ''' el mosquito ''' : '' mosquito ''
[[image:Beetles.GIF]]
*(11-14) ''' los escarabajos ''' : '' beetles ''
*(11) ''' el escarabajo pelotero ''' : '' dung beetle ''
*(12) ''' la mariquita ''' : '' ladybug ''
*(13) ''' la luciérnaga ''' : '' firefly ''
*(14) ''' el ciervo volante ''' : '' stag beetle ''
[[image:Lepidoptera.GIF]]
*(15) ''' la oruga ''' : '' caterpillar ''
*(16) ''' la crisálida ''' : '' chrysalis ''
*(17) ''' la mariposa ''' : '' butterfly ''
*(18) ''' el gusano de seda ''' : '' silkworm ''
*(19) ''' el capullo ''' : '' cocoon ''
*(20) ''' la mariposa nocturna ''' : '' moth ''
[[image:Socialinsects.GIF]]
*(21) ''' la hormiga ''' : '' ant ''
*(22) ''' la abeja ''' : '' bee ''
*(23) ''' la avispa ''' : '' wasp ''
== Los Mamíferos ==
=== Lagomorfos ===
*''' el conejo ''' : '' rabbit ''
*''' la liebre ''' : '' hare ''
*''' la pica ''' : '' pika ''
=== Mamíferos acuáticos ===
*''' la ballena ''' : '' whale ''
*''' el delfín ''' : '' dolphin ''
*''' la foca ''' : '' seal ''
*''' la morsa ''' : '' walrus ''
*''' la orca ''' : '' orca, killer whale ''
=== Mamíferos carnívoros ===
*''' el cachorro ''' : '' puppy; cub (of lion) ''
*''' el chacal ''' : '' jackal ''
*''' el coyote ''' : '' coyote ''
*''' el gatito ''' : '' kitten ''
*''' el gato ''' : '' cat ''
*''' el guepardo ''' : '' cheetah ''
*''' el hurón ''' : '' ferret ''
*''' el jaguar ''' : '' jaguar ''
*''' el león ''' : '' lion ''
*''' el leopardo ''' : '' leopard ''
*''' el lobo ''' : '' wolf ''
*''' el mapache ''' : '' raccoon ''
*''' la mofeta (Spain), el zorrillo (Mexico & Central America) ''' : '' skunk ''
*''' la nutria ''' : '' otter ''
*''' el osezno ''' : '' cub (bear) ''
*''' el oso ''' : '' bear ''
*''' el oso blanco ''' : '' polar bear ''
*''' el perrito ''' : '' puppy ''
*''' el perro ''' : '' dog ''
*''' el puma ''' : '' puma, cougar, mountain lion ''
*''' el tejón ''' : '' badger ''
*''' el tigre ''' : '' tiger ''
*''' el zorro ''' : '' fox ''
=== Mamíferos herbívoro ===
*''' el panda ''' : '' panda ''
*''' el tapir ''' : '' tapir ''
=== Mamíferos insectívoros ===
*''' el armadillo ''' : '' armadillo ''
*''' el erizo ''' : '' hedgehog ''
*''' la musaraña ''' : '' shrew ''
*''' el topo ''' : '' mole ''
*''' el oso hormiguero ''' : '' anteater ''
=== Mamíferos marsupiales ===
*''' el canguro ''' : '' kangaroo ''
*''' el diablo de Tasmania ''' : '' Tasmanian devil ''
*''' el koala ''' : '' koala ''
*''' el ualabí ''' : '' wallaby ''
*''' la zarigüeya ''' : '' opossum ''
=== Mamíferos primates ===
*''' el mono ''' : '' monkey ''
*''' el simio ''' : '' ape ''
*''' el babuino ''' : '' baboon ''
*''' el chimpancé ''' : '' chimpanzee ''
*''' el gibón ''' : '' gibbon ''
*''' el gorila ''' : '' gorilla ''
*''' el humano/la humana ''' : '' human ''
*''' el lémur ''' : '' lemur ''
*''' el macaco ''' : '' macaque ''
*''' el orangután ''' : '' orangutan ''
*''' el tamarino ''' : '' tamarin ''
*''' el tití ''' : '' marmoset ''
=== Mamíferos ungulados ===
*''' el alce ''' : '' moose ''
*''' la alpaca ''' : '' alpaca ''
*''' el antílope ''' : '' antelope ''
*''' el búbalo ''' : '' water buffalo ''
*''' el buey ''' : '' ox ''
*''' el búfalo ''' : '' buffalo ''
*''' el burro ''' : '' donkey ''
*''' el caballo ''' : '' horse ''
*''' la cabra, la chiva ''' : '' goat; nanny-goat ''
*''' el cabrito ''' : '' kid ''
*''' el cabro ''' : '' billy-goat ''
*''' el camello ''' : '' camel ''
*''' el carnero ''' : '' ram ''
*''' la cebra ''' : '' zebra ''
*''' la cerda ''' : '' sow ''
*''' el cerdo ''' : '' pig ''
*''' el ciervo ''' : '' deer ''
*''' el cordero ''' : '' lamb ''
*''' el elefante ''' : '' elephant ''
*''' el hipopótamo ''' : '' hippopotamus ''
*''' la jirafa ''' : '' giraffe ''
*''' la llama ''' : '' llama ''
*''' la oveja ''' : '' sheep ''
*''' la oveja madre ''' : '' ewe ''
*''' el poni ''' : '' pony ''
*''' el reno, el rangífero ''' : '' reindeer ''
*''' el rinoceronte ''' : '' rhinoceros ''
*''' el ternero ''' : '' calf ''
*''' el toro ''' : '' bull ''
*''' la vaca ''' : '' cow ''
*''' el verraco ''' : '' boar ''
*''' el yak ''' : '' yak ''
=== Mamíferos voladores ===
*''' el murciélago ''' : '' bat ''
*''' el murciélago vampiro ''' : '' vampire bat ''
*''' el zorro volador ''' : '' flying fox; fruit bat ''
=== Roedores ===
*''' la ardilla ''' : '' squirrel ''
*''' la ardilla listada ''' : '' chipmunk ''
*''' el castor ''' : '' beaver ''
*''' el cobaya, la cobaya, el cuy ''' : '' guinea pig ''
*''' el hámster ''' : '' hamster ''
*''' el gerbillo ''' : '' gerbil ''
*''' la marmota ''' : '' groundhog ''
*''' el puercoespín ''' : '' porcupine ''
*''' la rata ''' : '' rat ''
*''' el ratón ''' : '' mouse ''
*''' la tuza ''' : '' gopher ''
{{BookCat}}
phtx2vwjo9ja2ne82y667p1ynofy6jb
Lucid Dreaming/Authors
0
117526
4634683
1930141
2026-05-07T18:31:38Z
Raihanur
3561150
4634683
wikitext
text/x-wiki
In alphabetical order:
*[[User:Evilshiznat|Evilshiznat]] has had a few lucid dreams.
*[[User:Kaycee|Kaycee]] [[Special:Contributions/Kaycee|(cont)]] [[User talk:Kaycee|(talk)]] is a natural-born lucid dreamer who upholds a practical view on most things.
*[[User:KirbyMeister|KirbyMeister]] has only had one lucid dream so far, re-organized the entire Appendices area, and is a total Spongebob freak.
*[[User:R3m0t|r3m0t]] [[Special:Contributions/r3m0t|(cont)]] [[User talk:r3m0t|(talk)]] (15) has only had a few lucid dreams so far, but has written most of the information in the wikibook.
*[[User:Sourcejedi|Sourcejedi]] has just come out of anonymous lurking to demonstrate his ruthless editing tendencies by trying to clean up someone else's botched rename. He also has far too brief lucid dreams.
*[[User:Tharenthel|Tharenthel]] <sup>[[User talk:Tharenthel|(Talk)]] [[Special:Contributions/Tharenthel|(Contribs)]]</sup> has had a few lucid dreams so far, and has done mostly reorganization.
*[[User:Xgamer4|Xgamer4]] has had many lucid dreams. He made (if you can call it that) the FAQ page, and monitors the page.
{{BookCat}}
[[bn:লুসিড ড্রিমিং/লেখক]]
mfuldxolfet4qcxov7r09fi9ao5vph9
Maxima
0
150879
4634650
4631701
2026-05-07T14:21:26Z
Idavidmiller
3577687
4634650
wikitext
text/x-wiki
[[File:Maxima-new.svg|center|200px|Maxima logo]]
Maxima is an open-source application that is in the category of computer algebra systems - CAS. However, it is important to recognize that the word "algebra" in this context should not be interpreted in a narrow sense of a mathematical topic of study and application. In the context of Maxima "algebra" should be interpreted in a broader sense of symbolic mathematics including what is conventionally meant by the use of algebra as a mathematical area of study and application.
Maxima is not a programming language. It is a primarily an interactive special-purpose computer application for composing and operating on mathematical expressions of various kinds. However, within that special category there is a sense in which it is general-purpose in that there is no emphasis on some particular goal or task such as numerical computations. While Maxima has significant numerical computational features, if the primary area of study or application involves merely "number crunching" then Maxima may or may not be the best choice. In these cases, other open-source software such as Julia, R, Octave, or Python as examples, may be better suited in terms of what is necessary to accomplish the task of interest.
If you are a teacher, student or someone involved in some specific field of mathematical investigation or application, then it is likely that you will find that Maxima is a tool of great interest and applicability.
This book is not intended to be of a tutorial nature on one hand or a comprehensive Maxima user manual on the other hand. It is also not intended to be a reference manual. It is intended to help new and current users get familiar with using Maxima.
This book shows how to get familiar with using[[w:Maxima (software)| Maxima]]. Maxima can be used for:
* Symbolic mathematics and [[Maxima#Numerical_methods|numerical computations]]
* [[Maxima#Plots|Plotting]] 2D and 3D
* Much more
{{Cleanup}}
== Table of Contents ==
{{Book search}}
{{Print version}}
* [[Maxima/What is Maxima and what is it useful for|What is Maxima and what is it useful for]]
* [[/Methods of use/]]
* [[/Installation/]]
* [[Maxima/Introduction By Example|Introduction By Example]]
* [[Maxima/Getting Started Using Maxima|Getting Started Using Maxima]]
* [[/Symbols/]]
* [[/Operators/]]
* [[/Names/]]
* [[/Objects/]]
* [[/Variables/]]
* [[/Data types/]]
* [[/Features/]]
* [[/Numbers/]]
* [[/Functions/]]
* [[/Debugging/]]
* [[/Data structures/]]
* [[/Numerical methods/]]
* [[/Algorithms/]]
* [[/Plots/]]
* [[/Outputs and warnings/]]
* [[/Example programs/]]
* [[Maxima/Weaknesses of math software|Weaknesses of math software]]
* [[/Help/]]
=See also=
* [[commons:Category:Images with Maxima CAS source code|Images with Maxima CAS source code]]
* [https://www.dropbox.com/home/Public/maxima?preview=maxima.lang syntax highlight for Gedit]
* [https://github.com/KDE/syntax-highlighting/blob/master/data/syntax/maxima.xml syntax highlight for KDE]
* [http://stackoverflow.com/questions/tagged/maxima questions tagged Maxima on stackoverflow]
{{Wikipedia|Maxima (software)}}
=References=
<references/>
[https://arxiv.org/pdf/1301.3240.pdf Chaotic dynamics with Maxima A. Morante and J. A. Vallejo]
{{alphabetical|M}}
{{shelves|Scientific software|Open source software}}
{{status|25%}}
[[pl:Maxima]]
[[ja:Maxima]]
h2o4n9x8xk89x2nydbdgm7ae4l06x76
Linear Algebra/Orthogonal Projection Onto a Line
0
151803
4634747
4410583
2026-05-08T09:02:36Z
ShakespeareFan00
46022
4634747
wikitext
text/x-wiki
<noinclude>{{navigation|Book=Linear Algebra
|current=Orthogonal Projection Onto a Line
|previous=Projection
|next=Gram-Schmidt Orthogonalization}}</noinclude>
We first consider orthogonal projection onto a line.
To orthogonally project a vector <math> \vec{v} </math> onto a line <math>\ell</math>,
mark the point on the line at which someone standing on that point could see <math> \vec{v} </math> by looking straight up or down (from that person's point of view).
[[Image:Linalg_projection_3.png|x200px|center]]
The picture shows someone who has walked out on the line
until the tip of <math>\vec{v}</math> is straight overhead.
That is, where the line is described as the span of some nonzero
vector <math>\ell=\{c\cdot\vec{s}\,\big|\, c\in\mathbb{R}\}</math>,
the person has walked out to find the coefficient <math>c_{\vec{p}}\,</math>
with the property that <math>\vec{v}-c_{\vec{p}}\cdot\vec{s}\,</math> is orthogonal
to <math>c_{\vec{p}}\cdot\vec{s}</math>.
[[Image:Linalg_projection_4.png|x200px|center]]
We can solve for this coefficient by noting that because
<math>\vec{v}-c_{\vec{p}}\vec{s}\,</math> is orthogonal to a scalar multiple
of <math>\vec{s}\,</math> it must be orthogonal to <math>\vec{s}\,</math> itself,
and then the consequent fact that the dot product
<math>(\vec{v}-c_{\vec{p}}\vec{s})\cdot \vec{s}\,</math> is zero gives that
<math>c_{\vec{p}}=\vec{v}\cdot \vec{s}/\vec{s}\cdot \vec{s}</math>.
{{TextBox|1=
;Definition 1.1{{anchor|def:ProjOntoLine}}:<!--\label{def:ProjOntoLine}-->
The '''orthogonal projection of <math> \vec{v} </math> onto the line spanned by a nonzero <math> \vec{s}\, </math>''' is this vector.
:<math>
\mbox{proj}_{[\vec{s}\,]}({\vec{v}})=
\frac{ \vec{v}\cdot\vec{s} }{ \vec{s}\cdot\vec{s} }\vec{s}
</math>
}}
[[#exer:LineProjFormIndOfVec|Problem 13]]<!--\ref{exer:LineProjFormIndOfVec}--> checks that the
outcome of the calculation depends only on the line and not on which vector
<math> \vec{s}\, </math> happens to be used to describe that line.
{{TextBox|1=
;Remark 1.2:
The wording of that definition says "spanned by <math> \vec{s}\, </math>" instead the more formal "the span of the set <math> \{\vec{s}\,\} </math>". This casual first phrase is common.
}}
{{TextBox|1=
;Example 1.3:
To orthogonally project
the vector <math>\binom{2}{3}</math> onto the line <math> y=2x </math>,
we first pick a direction vector for the line.
For instance,
:<math>
\vec{s}=\begin{pmatrix} 1 \\ 2 \end{pmatrix}
</math>
will do.
Then the calculation is routine.
<TABLE border=0 cellspacing=20px style="margin:auto;">
<TR>
<TD>[[Image:Linalg_projection_5.png|x200px]]
<TD><math>\frac{ \begin{pmatrix} 2 \\ 3 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix} }{
\begin{pmatrix} 1 \\ 2 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix} }
\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix}
={\displaystyle \frac{8}{5}}\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix}=\begin{pmatrix} 8/5 \\ 16/5 \end{pmatrix}</math>
</TABLE>
}}
{{TextBox|1=
;Example 1.4:
In <math> \mathbb{R}^3 </math>, the orthogonal projection of a general vector
:<math>
\begin{pmatrix} x \\ y \\ z \end{pmatrix}
</math>
onto the <math> y </math>-axis is
:<math>
\frac{ \begin{pmatrix} x \\ y \\ z \end{pmatrix}\cdot\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} }{
\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}\cdot\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} }
\cdot\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}=\begin{pmatrix} 0 \\ y \\ 0 \end{pmatrix}
</math>
which matches our intuitive expectation.
}}
The picture above with the stick figure walking out on the line until
<math>\vec{v}</math>'s tip is overhead is one way to think of the orthogonal projection of
a vector onto a line.
We finish this subsection with two other ways.
{{TextBox|1=
;Example 1.5{{anchor|exam:RailCar}}: <!--\label{exam:RailCar}-->
A railroad car left on an east-west track without its brake is pushed by
a wind blowing toward the northeast at fifteen miles per hour;
what speed will the car reach?
<center>
[[Image:Linalg_railroad_wind.png|x170px]]
</center>
For the wind we use a vector of length <math>15</math> that points toward
the northeast.
:<math>
\vec{v}=\begin{pmatrix} 15\sqrt{1/2} \\ 15\sqrt{1/2} \end{pmatrix}
</math>
The car can only be affected by the part of the wind blowing in the
east-west direction— the part of <math>\vec{v}</math> in the direction
of the <math>x</math>-axis is this (the picture has the same perspective as the
railroad car picture above).
<center>
<TABLE border=0px cellspacing=20px>
<TR>
<TD>[[Image:Linalg_railroad_wind_direction.png|x150px]]
<TD><math>\displaystyle \vec{p}=\begin{pmatrix} 15\sqrt{1/2} \\ 0 \end{pmatrix}</math>
</TABLE>
</center>
So the car will reach a velocity of <math> 15\sqrt{1/2} </math> miles per hour toward the east.
}}
Thus, another way to think
of the picture that precedes the definition is that it shows
<math>\vec{v}</math> as decomposed into two parts, the part with the line (here, the part
with the tracks, <math>\vec{p}</math>),
and the part that is orthogonal to the line
(shown here lying on the north-south axis).
These two are "not interacting" or "independent",
in the sense that the east-west car is not at all affected by the
north-south part of the wind (see [[#exer:PerpAreInd|Problem 5]]<!--\ref{exer:PerpAreInd}-->).
So the orthogonal projection of <math> \vec{v} </math>
onto the line spanned by <math> \vec{s}\, </math> can be thought of as
the part of <math> \vec{v}\, </math> that lies in the direction of <math> \vec{s} </math>.
Finally, another useful way to think of the orthogonal projection
is to have the person stand not on the line, but on the vector that is to be
projected to the line.
This person has a rope over the line and pulls it tight,
naturally making the rope orthogonal to the line.
<center>
[[Image:Linalg_projection_6.png|x200px]]
</center>
That is, we can think of the projection <math> \vec{p}\, </math> as being the vector
in the line that is closest to <math> \vec{v} </math>
(see [[#exer:ProjMinimizesDist|Problem 11]]<!--\ref{exer:ProjMinimizesDist}-->).
{{TextBox|1=
;Example 1.6:
A submarine is tracking a ship moving along the line <math> y=3x+2 </math>.
Torpedo range is one-half mile.
Can the sub stay where it is, at the origin on the chart below,
or must it move to reach a place where the ship will pass within range?
<center>
[[Image:Linalg_submarine_direction.png|x200px]]
</center>
The formula for projection
onto a line does not immediately apply because the line doesn't pass through
the origin, and so isn't the span of any <math>\vec{s}</math>.
To adjust for this, we start by shifting the entire map down two units.
Now the line is <math>y=3x</math>, which is a subspace, and we can project to get
the point <math>\vec{p}</math> of closest approach, the point on the
line through the origin closest to
:<math>
\vec{v}=\begin{pmatrix} 0 \\ -2 \end{pmatrix}
</math>
the sub's shifted position.
:<math>
\vec{p}=\frac{\begin{pmatrix} 0 \\ -2 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 3 \end{pmatrix}}{
\begin{pmatrix} 1 \\ 3 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 3 \end{pmatrix}}
\cdot \begin{pmatrix} 1 \\ 3 \end{pmatrix}=\begin{pmatrix} -3/5 \\ -9/5 \end{pmatrix}
</math>
The distance between <math>\vec{v}</math> and <math>\vec{p}</math> is approximately <math> 0.63 </math> miles and so the sub must move to get in range.
}}
This subsection has developed a natural projection map: orthogonal projection
onto a line.
As suggested by the examples, it is often called for in applications.
The next subsection shows how the definition of orthogonal
projection onto a line gives us a way to calculate especially convienent bases
for vector spaces, again something that is common in applications.
The final subsection completely generalizes projection, orthogonal or not,
onto any subspace at all.
== Exercises ==
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 1:
Project the first vector orthogonally
onto the line spanned by the second vector.
<ol type=1 start=1>
<li> <math> \begin{pmatrix} 2 \\ 1 \end{pmatrix} </math>, <math> \begin{pmatrix} 3 \\ -2 \end{pmatrix} </math>
<li> <math> \begin{pmatrix} 2 \\ 1 \end{pmatrix} </math>, <math>
\begin{pmatrix} 3 \\ 0 \end{pmatrix} </math>
<li> <math> \begin{pmatrix} 1 \\ 1 \\ 4 \end{pmatrix} </math>, <math>
\begin{pmatrix} 1 \\ 2 \\ -1 \end{pmatrix} </math>
<li> <math> \begin{pmatrix} 1 \\ 1 \\ 4 \end{pmatrix} </math>, <math>
\begin{pmatrix} 3 \\ 3 \\ 12 \end{pmatrix} </math>
</ol>
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 2:
Project the vector orthogonally onto the line.
<ol type=1 start=1>
<li>
<math>\begin{pmatrix} 2 \\ -1 \\ 4 \end{pmatrix}, \{c\begin{pmatrix} -3 \\ 1 \\ -3 \end{pmatrix}\,\big|\, c\in\mathbb{R}\}</math>
<li> <math>\begin{pmatrix} -1 \\ -1 \end{pmatrix}</math>, the line <math>y=3x</math>
</ol>
}}
{{TextBox|1=
;Problem 3:
Although the development of [[#def:ProjOntoLine|Definition 1.1]]<!--\ref{def:ProjOntoLine}-->
is guided by the pictures, we are not restricted to spaces that
we can draw.
In <math>\mathbb{R}^4</math> project this vector onto this line.
:<math>
\vec{v}=\begin{pmatrix} 1 \\ 2 \\ 1 \\ 3 \end{pmatrix}
\qquad
\ell=\{c\cdot\begin{pmatrix} -1 \\ 1 \\ -1 \\ 1 \end{pmatrix}\,\big|\, c\in\mathbb{R}\}
</math>
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 4:
[[#def:ProjOntoLine|Definition 1.1]]<!--\ref{def:ProjOntoLine}--> uses two vectors <math>\vec{s}</math> and
<math>\vec{v}</math>.
Consider the transformation of <math>\mathbb{R}^2</math> resulting from fixing
:<math>
\vec{s}=\begin{pmatrix} 3 \\ 1 \end{pmatrix}
</math>
and projecting <math>\vec{v}</math> onto the line that is the span of <math>\vec{s}</math>.
Apply it to these vectors.
<ol type=1 start=1>
<li> <math>\begin{pmatrix} 1 \\ 2 \end{pmatrix}</math>
<li> <math>\begin{pmatrix} 0 \\ 4 \end{pmatrix}</math>
</ol>
Show that in general the projection tranformation is this.
:<math>
\begin{pmatrix} x_1 \\ x_2 \end{pmatrix}
\mapsto
\begin{pmatrix} (9 x_1+3 x_2)/10 \\ (3 x_1 + x_2)/10 \end{pmatrix}
</math>
Express the action of this transformation with a matrix.
}}
{{TextBox|1=
;Problem 5{{anchor|exer:PerpAreInd}}: <!--\label{exer:PerpAreInd}-->
[[#exam:RailCar|Example 1.5]]<!--\ref{exam:RailCar}--> suggests that projection breaks <math>\vec{v}</math> into
two parts, <math>\mbox{proj}_{[\vec{s}\,]}({\vec{v}\,})</math> and
<math>\vec{v}-\mbox{proj}_{[\vec{s}\,]}({\vec{v}\,})</math>, that are
"not interacting".
Recall that the two are orthogonal.
Show that any two nonzero orthogonal vectors make up a linearly
independent set.
}}
{{TextBox|1=
;Problem 6:
<ol type=1 start=1>
<li> What is the orthogonal projection of <math> \vec{v} </math>
onto a line if <math> \vec{v} </math> is a member of that line?
<li> Show that
if <math>\vec{v}</math> is not a member of the line
then the set
<math>\{\vec{v},\vec{v}-\mbox{proj}_{[\vec{s}\,]}({\vec{v}\,})\}</math>
is linearly independent.
</ol>
}}
{{TextBox|1=
;Problem 7:
[[#def:ProjOntoLine|Definition 1.1]]<!--\ref{def:ProjOntoLine}--> requires that <math>\vec{s}\,</math> be
nonzero.
Why?
What is the right definition of the orthogonal projection
of a vector onto the (degenerate) line spanned by the zero vector?
}}
{{TextBox|1=
;Problem 8:
Are all vectors the projection of some other vector onto some line?
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 9:
Show that the projection of <math>\vec{v}</math> onto the line spanned by
<math>\vec{s}</math> has length equal to the absolute value of the number
<math>\vec{v}\cdot\vec{s}</math> divided by the length of the vector
<math>\vec{s}</math>.
}}
{{TextBox|1=
;Problem 10:
Find the formula for the distance from a point to a line.
}}
{{TextBox|1=
;Problem 11{{anchor|exer:ProjMinimizesDist}}: <!--\label{exer:ProjMinimizesDist}-->
Find the scalar <math> c </math> such that <math> (cs_1,cs_2) </math>
is a minimum distance from the point <math> (v_1,v_2) </math>
by using calculus (i.e., consider the distance function, set the
first derivative equal to zero, and solve).
Generalize to <math> \mathbb{R}^n </math>.
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 12:
Prove that the orthogonal projection of a vector onto a line is shorter
than the vector.
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 13{{anchor|exer:LineProjFormIndOfVec}}:<!--\label{exer:LineProjFormIndOfVec}-->
Show that the definition of orthogonal projection onto a line
does not depend
on the spanning vector: if <math> \vec{s} </math> is a nonzero multiple
of <math> \vec{q} </math> then
<math> (\vec{v}\cdot\vec{s}/\vec{s}\cdot\vec{s}\,)\cdot\vec{s} </math> equals
<math> (\vec{v}\cdot\vec{q}/\vec{q}\cdot\vec{q}\,)\cdot\vec{q} </math>.
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 14:
Consider the function mapping to plane to itself that takes
a vector to its projection onto the line <math> y=x </math>.
These two each show that the map is linear, the first one in a way that
is bound to the coordinates (that is, it fixes a basis and then computes)
and the second in a way that is more conceptual.
<ol type=1 start=1>
<li> Produce a matrix that describes the function's action.
<li> Show also that this map can be obtained by first rotating
everything in the plane <math> \pi/4 </math> radians clockwise,
then projecting onto the <math> x </math>-axis,
and then rotating <math> \pi/4 </math> radians counterclockwise.
</ol>
}}
{{TextBox|1=
;Problem 15:
For <math> \vec{a},\vec{b}\in\mathbb{R}^n </math> let <math> \vec{v}_1 </math> be the
projection of <math> \vec{a} </math> onto the line spanned by <math> \vec{b} </math>, let
<math> \vec{v}_2 </math> be the projection of <math> \vec{v}_1 </math> onto the line spanned
by <math> \vec{a} </math>, let <math> \vec{v}_3 </math> be the projection of <math> \vec{v}_2 </math>
onto the line spanned by <math> \vec{b} </math>, etc.,
back and forth between the spans of <math>\vec{a}</math> and <math>\vec{b}</math>.
That is, <math>\vec{v}_{i+1}</math> is the projection of
<math>\vec{v}_i</math> onto the
span of <math>\vec{a}</math> if <math>i+1</math> is even, and
onto the span of <math>\vec{b}</math> if <math>i+1</math> is odd.
Must that sequence of vectors eventually settle down— must
there be a sufficiently large <math>i</math> such that
<math> \vec{v}_{i+2} </math> equals <math> \vec{v}_{i} </math>
and <math> \vec{v}_{i+3} </math> equals <math> \vec{v}_{i+1} </math>?
If so, what is the earliest such <math>i</math>?
}}
<noinclude>
[[/Solutions/]]
{{navigation|Book=Linear Algebra
|current=Orthogonal Projection Onto a Line
|previous=Projection
|next=Gram-Schmidt Orthogonalization}}
{{BookCat}}
</noinclude>
icsl8qfqszqmgpvyqstyqfkxvxm04qg
4634748
4634747
2026-05-08T09:03:20Z
ShakespeareFan00
46022
4634748
wikitext
text/x-wiki
<noinclude>{{navigation|Book=Linear Algebra
|current=Orthogonal Projection Onto a Line
|previous=Projection
|next=Gram-Schmidt Orthogonalization}}</noinclude>
We first consider orthogonal projection onto a line.
To orthogonally project a vector <math> \vec{v} </math> onto a line <math>\ell</math>,
mark the point on the line at which someone standing on that point could see <math> \vec{v} </math> by looking straight up or down (from that person's point of view).
[[Image:Linalg_projection_3.png|x200px|center]]
The picture shows someone who has walked out on the line
until the tip of <math>\vec{v}</math> is straight overhead.
That is, where the line is described as the span of some nonzero
vector <math>\ell=\{c\cdot\vec{s}\,\big|\, c\in\mathbb{R}\}</math>,
the person has walked out to find the coefficient <math>c_{\vec{p}}\,</math>
with the property that <math>\vec{v}-c_{\vec{p}}\cdot\vec{s}\,</math> is orthogonal
to <math>c_{\vec{p}}\cdot\vec{s}</math>.
[[Image:Linalg_projection_4.png|x200px|center]]
We can solve for this coefficient by noting that because
<math>\vec{v}-c_{\vec{p}}\vec{s}\,</math> is orthogonal to a scalar multiple
of <math>\vec{s}\,</math> it must be orthogonal to <math>\vec{s}\,</math> itself,
and then the consequent fact that the dot product
<math>(\vec{v}-c_{\vec{p}}\vec{s})\cdot \vec{s}\,</math> is zero gives that
<math>c_{\vec{p}}=\vec{v}\cdot \vec{s}/\vec{s}\cdot \vec{s}</math>.
{{TextBox|1=
;Definition 1.1{{anchor|def:ProjOntoLine}}:<!--\label{def:ProjOntoLine}-->
The '''orthogonal projection of <math> \vec{v} </math> onto the line spanned by a nonzero <math> \vec{s}\, </math>''' is this vector.
:<math>
\mbox{proj}_{[\vec{s}\,]}({\vec{v}})=
\frac{ \vec{v}\cdot\vec{s} }{ \vec{s}\cdot\vec{s} }\vec{s}
</math>
}}
[[#exer:LineProjFormIndOfVec|Problem 13]]<!--\ref{exer:LineProjFormIndOfVec}--> checks that the
outcome of the calculation depends only on the line and not on which vector
<math> \vec{s}\, </math> happens to be used to describe that line.
{{TextBox|1=
;Remark 1.2:
The wording of that definition says "spanned by <math> \vec{s}\, </math>" instead the more formal "the span of the set <math> \{\vec{s}\,\} </math>". This casual first phrase is common.
}}
{{TextBox|1=
;Example 1.3:
To orthogonally project
the vector <math>\binom{2}{3}</math> onto the line <math> y=2x </math>,
we first pick a direction vector for the line.
For instance,
:<math>
\vec{s}=\begin{pmatrix} 1 \\ 2 \end{pmatrix}
</math>
will do.
Then the calculation is routine.
<TABLE border=0 cellspacing=20px style="margin:auto;">
<TR>
<TD>[[Image:Linalg_projection_5.png|x200px]]
<TD><math>\frac{ \begin{pmatrix} 2 \\ 3 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix} }{
\begin{pmatrix} 1 \\ 2 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix} }
\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix}
={\displaystyle \frac{8}{5}}\cdot\begin{pmatrix} 1 \\ 2 \end{pmatrix}=\begin{pmatrix} 8/5 \\ 16/5 \end{pmatrix}</math>
</TABLE>
}}
{{TextBox|1=
;Example 1.4:
In <math> \mathbb{R}^3 </math>, the orthogonal projection of a general vector
:<math>
\begin{pmatrix} x \\ y \\ z \end{pmatrix}
</math>
onto the <math> y </math>-axis is
:<math>
\frac{ \begin{pmatrix} x \\ y \\ z \end{pmatrix}\cdot\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} }{
\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}\cdot\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} }
\cdot\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}=\begin{pmatrix} 0 \\ y \\ 0 \end{pmatrix}
</math>
which matches our intuitive expectation.
}}
The picture above with the stick figure walking out on the line until
<math>\vec{v}</math>'s tip is overhead is one way to think of the orthogonal projection of
a vector onto a line.
We finish this subsection with two other ways.
{{TextBox|1=
;Example 1.5{{anchor|exam:RailCar}}: <!--\label{exam:RailCar}-->
A railroad car left on an east-west track without its brake is pushed by
a wind blowing toward the northeast at fifteen miles per hour;
what speed will the car reach?
[[Image:Linalg_railroad_wind.png|x170px|style="margin:auto;"]]
For the wind we use a vector of length <math>15</math> that points toward
the northeast.
:<math>
\vec{v}=\begin{pmatrix} 15\sqrt{1/2} \\ 15\sqrt{1/2} \end{pmatrix}
</math>
The car can only be affected by the part of the wind blowing in the
east-west direction— the part of <math>\vec{v}</math> in the direction
of the <math>x</math>-axis is this (the picture has the same perspective as the
railroad car picture above).
<center>
<TABLE border=0px cellspacing=20px>
<TR>
<TD>[[Image:Linalg_railroad_wind_direction.png|x150px]]
<TD><math>\displaystyle \vec{p}=\begin{pmatrix} 15\sqrt{1/2} \\ 0 \end{pmatrix}</math>
</TABLE>
</center>
So the car will reach a velocity of <math> 15\sqrt{1/2} </math> miles per hour toward the east.
}}
Thus, another way to think
of the picture that precedes the definition is that it shows
<math>\vec{v}</math> as decomposed into two parts, the part with the line (here, the part
with the tracks, <math>\vec{p}</math>),
and the part that is orthogonal to the line
(shown here lying on the north-south axis).
These two are "not interacting" or "independent",
in the sense that the east-west car is not at all affected by the
north-south part of the wind (see [[#exer:PerpAreInd|Problem 5]]<!--\ref{exer:PerpAreInd}-->).
So the orthogonal projection of <math> \vec{v} </math>
onto the line spanned by <math> \vec{s}\, </math> can be thought of as
the part of <math> \vec{v}\, </math> that lies in the direction of <math> \vec{s} </math>.
Finally, another useful way to think of the orthogonal projection
is to have the person stand not on the line, but on the vector that is to be
projected to the line.
This person has a rope over the line and pulls it tight,
naturally making the rope orthogonal to the line.
<center>
[[Image:Linalg_projection_6.png|x200px]]
</center>
That is, we can think of the projection <math> \vec{p}\, </math> as being the vector
in the line that is closest to <math> \vec{v} </math>
(see [[#exer:ProjMinimizesDist|Problem 11]]<!--\ref{exer:ProjMinimizesDist}-->).
{{TextBox|1=
;Example 1.6:
A submarine is tracking a ship moving along the line <math> y=3x+2 </math>.
Torpedo range is one-half mile.
Can the sub stay where it is, at the origin on the chart below,
or must it move to reach a place where the ship will pass within range?
<center>
[[Image:Linalg_submarine_direction.png|x200px]]
</center>
The formula for projection
onto a line does not immediately apply because the line doesn't pass through
the origin, and so isn't the span of any <math>\vec{s}</math>.
To adjust for this, we start by shifting the entire map down two units.
Now the line is <math>y=3x</math>, which is a subspace, and we can project to get
the point <math>\vec{p}</math> of closest approach, the point on the
line through the origin closest to
:<math>
\vec{v}=\begin{pmatrix} 0 \\ -2 \end{pmatrix}
</math>
the sub's shifted position.
:<math>
\vec{p}=\frac{\begin{pmatrix} 0 \\ -2 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 3 \end{pmatrix}}{
\begin{pmatrix} 1 \\ 3 \end{pmatrix}\cdot\begin{pmatrix} 1 \\ 3 \end{pmatrix}}
\cdot \begin{pmatrix} 1 \\ 3 \end{pmatrix}=\begin{pmatrix} -3/5 \\ -9/5 \end{pmatrix}
</math>
The distance between <math>\vec{v}</math> and <math>\vec{p}</math> is approximately <math> 0.63 </math> miles and so the sub must move to get in range.
}}
This subsection has developed a natural projection map: orthogonal projection
onto a line.
As suggested by the examples, it is often called for in applications.
The next subsection shows how the definition of orthogonal
projection onto a line gives us a way to calculate especially convienent bases
for vector spaces, again something that is common in applications.
The final subsection completely generalizes projection, orthogonal or not,
onto any subspace at all.
== Exercises ==
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 1:
Project the first vector orthogonally
onto the line spanned by the second vector.
<ol type=1 start=1>
<li> <math> \begin{pmatrix} 2 \\ 1 \end{pmatrix} </math>, <math> \begin{pmatrix} 3 \\ -2 \end{pmatrix} </math>
<li> <math> \begin{pmatrix} 2 \\ 1 \end{pmatrix} </math>, <math>
\begin{pmatrix} 3 \\ 0 \end{pmatrix} </math>
<li> <math> \begin{pmatrix} 1 \\ 1 \\ 4 \end{pmatrix} </math>, <math>
\begin{pmatrix} 1 \\ 2 \\ -1 \end{pmatrix} </math>
<li> <math> \begin{pmatrix} 1 \\ 1 \\ 4 \end{pmatrix} </math>, <math>
\begin{pmatrix} 3 \\ 3 \\ 12 \end{pmatrix} </math>
</ol>
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 2:
Project the vector orthogonally onto the line.
<ol type=1 start=1>
<li>
<math>\begin{pmatrix} 2 \\ -1 \\ 4 \end{pmatrix}, \{c\begin{pmatrix} -3 \\ 1 \\ -3 \end{pmatrix}\,\big|\, c\in\mathbb{R}\}</math>
<li> <math>\begin{pmatrix} -1 \\ -1 \end{pmatrix}</math>, the line <math>y=3x</math>
</ol>
}}
{{TextBox|1=
;Problem 3:
Although the development of [[#def:ProjOntoLine|Definition 1.1]]<!--\ref{def:ProjOntoLine}-->
is guided by the pictures, we are not restricted to spaces that
we can draw.
In <math>\mathbb{R}^4</math> project this vector onto this line.
:<math>
\vec{v}=\begin{pmatrix} 1 \\ 2 \\ 1 \\ 3 \end{pmatrix}
\qquad
\ell=\{c\cdot\begin{pmatrix} -1 \\ 1 \\ -1 \\ 1 \end{pmatrix}\,\big|\, c\in\mathbb{R}\}
</math>
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 4:
[[#def:ProjOntoLine|Definition 1.1]]<!--\ref{def:ProjOntoLine}--> uses two vectors <math>\vec{s}</math> and
<math>\vec{v}</math>.
Consider the transformation of <math>\mathbb{R}^2</math> resulting from fixing
:<math>
\vec{s}=\begin{pmatrix} 3 \\ 1 \end{pmatrix}
</math>
and projecting <math>\vec{v}</math> onto the line that is the span of <math>\vec{s}</math>.
Apply it to these vectors.
<ol type=1 start=1>
<li> <math>\begin{pmatrix} 1 \\ 2 \end{pmatrix}</math>
<li> <math>\begin{pmatrix} 0 \\ 4 \end{pmatrix}</math>
</ol>
Show that in general the projection tranformation is this.
:<math>
\begin{pmatrix} x_1 \\ x_2 \end{pmatrix}
\mapsto
\begin{pmatrix} (9 x_1+3 x_2)/10 \\ (3 x_1 + x_2)/10 \end{pmatrix}
</math>
Express the action of this transformation with a matrix.
}}
{{TextBox|1=
;Problem 5{{anchor|exer:PerpAreInd}}: <!--\label{exer:PerpAreInd}-->
[[#exam:RailCar|Example 1.5]]<!--\ref{exam:RailCar}--> suggests that projection breaks <math>\vec{v}</math> into
two parts, <math>\mbox{proj}_{[\vec{s}\,]}({\vec{v}\,})</math> and
<math>\vec{v}-\mbox{proj}_{[\vec{s}\,]}({\vec{v}\,})</math>, that are
"not interacting".
Recall that the two are orthogonal.
Show that any two nonzero orthogonal vectors make up a linearly
independent set.
}}
{{TextBox|1=
;Problem 6:
<ol type=1 start=1>
<li> What is the orthogonal projection of <math> \vec{v} </math>
onto a line if <math> \vec{v} </math> is a member of that line?
<li> Show that
if <math>\vec{v}</math> is not a member of the line
then the set
<math>\{\vec{v},\vec{v}-\mbox{proj}_{[\vec{s}\,]}({\vec{v}\,})\}</math>
is linearly independent.
</ol>
}}
{{TextBox|1=
;Problem 7:
[[#def:ProjOntoLine|Definition 1.1]]<!--\ref{def:ProjOntoLine}--> requires that <math>\vec{s}\,</math> be
nonzero.
Why?
What is the right definition of the orthogonal projection
of a vector onto the (degenerate) line spanned by the zero vector?
}}
{{TextBox|1=
;Problem 8:
Are all vectors the projection of some other vector onto some line?
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 9:
Show that the projection of <math>\vec{v}</math> onto the line spanned by
<math>\vec{s}</math> has length equal to the absolute value of the number
<math>\vec{v}\cdot\vec{s}</math> divided by the length of the vector
<math>\vec{s}</math>.
}}
{{TextBox|1=
;Problem 10:
Find the formula for the distance from a point to a line.
}}
{{TextBox|1=
;Problem 11{{anchor|exer:ProjMinimizesDist}}: <!--\label{exer:ProjMinimizesDist}-->
Find the scalar <math> c </math> such that <math> (cs_1,cs_2) </math>
is a minimum distance from the point <math> (v_1,v_2) </math>
by using calculus (i.e., consider the distance function, set the
first derivative equal to zero, and solve).
Generalize to <math> \mathbb{R}^n </math>.
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 12:
Prove that the orthogonal projection of a vector onto a line is shorter
than the vector.
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 13{{anchor|exer:LineProjFormIndOfVec}}:<!--\label{exer:LineProjFormIndOfVec}-->
Show that the definition of orthogonal projection onto a line
does not depend
on the spanning vector: if <math> \vec{s} </math> is a nonzero multiple
of <math> \vec{q} </math> then
<math> (\vec{v}\cdot\vec{s}/\vec{s}\cdot\vec{s}\,)\cdot\vec{s} </math> equals
<math> (\vec{v}\cdot\vec{q}/\vec{q}\cdot\vec{q}\,)\cdot\vec{q} </math>.
}}
{{Linear Algebra/Book 2/Recommended}}
{{TextBox|1=
;Problem 14:
Consider the function mapping to plane to itself that takes
a vector to its projection onto the line <math> y=x </math>.
These two each show that the map is linear, the first one in a way that
is bound to the coordinates (that is, it fixes a basis and then computes)
and the second in a way that is more conceptual.
<ol type=1 start=1>
<li> Produce a matrix that describes the function's action.
<li> Show also that this map can be obtained by first rotating
everything in the plane <math> \pi/4 </math> radians clockwise,
then projecting onto the <math> x </math>-axis,
and then rotating <math> \pi/4 </math> radians counterclockwise.
</ol>
}}
{{TextBox|1=
;Problem 15:
For <math> \vec{a},\vec{b}\in\mathbb{R}^n </math> let <math> \vec{v}_1 </math> be the
projection of <math> \vec{a} </math> onto the line spanned by <math> \vec{b} </math>, let
<math> \vec{v}_2 </math> be the projection of <math> \vec{v}_1 </math> onto the line spanned
by <math> \vec{a} </math>, let <math> \vec{v}_3 </math> be the projection of <math> \vec{v}_2 </math>
onto the line spanned by <math> \vec{b} </math>, etc.,
back and forth between the spans of <math>\vec{a}</math> and <math>\vec{b}</math>.
That is, <math>\vec{v}_{i+1}</math> is the projection of
<math>\vec{v}_i</math> onto the
span of <math>\vec{a}</math> if <math>i+1</math> is even, and
onto the span of <math>\vec{b}</math> if <math>i+1</math> is odd.
Must that sequence of vectors eventually settle down— must
there be a sufficiently large <math>i</math> such that
<math> \vec{v}_{i+2} </math> equals <math> \vec{v}_{i} </math>
and <math> \vec{v}_{i+3} </math> equals <math> \vec{v}_{i+1} </math>?
If so, what is the earliest such <math>i</math>?
}}
<noinclude>
[[/Solutions/]]
{{navigation|Book=Linear Algebra
|current=Orthogonal Projection Onto a Line
|previous=Projection
|next=Gram-Schmidt Orthogonalization}}
{{BookCat}}
</noinclude>
iyfp78o7m7nswzh96s2ahb6qd9zmjzq
Linear Algebra/Topic: Voting Paradoxes
0
151867
4634746
4634218
2026-05-08T08:52:46Z
ShakespeareFan00
46022
4634746
wikitext
text/x-wiki
<noinclude>{{navigation|Book=Linear Algebra
|current=Topic: Voting Paradoxes
|previous=Topic: Crystals
|next=Topic: Dimensional Analysis}}</noinclude>
Imagine that a Political Science class studying the American
presidential process holds a mock election. Members of the class are
asked to rank, from most preferred to least preferred, the nominees
from the Democratic Party, the Republican Party, and the Third Party,
and this is the result (<math>></math> means "is preferred to").
{|cellspacing=0px cellpadding=5 style="margin:auto;"|
|-
| style="font-style:italic; font-weight:normal; text-align:right; border-right: solid 2px black; border-bottom:solid 2px black;"| Preference order
| style="font-style:italic; font-weight=normal; text-align:left; border-bottom:solid 2px black;" | Number with <br> that preference
|-
|style="text-align:right; border-right: solid 2px black"| Democrat > Republican > Third
|style="text-align:left;"| 5
|-
|style="text-align:right; border-right: solid 2px black"| Democrat > Third > Republican
|style="text-align:left;"| 4
|-
|style="text-align:right; border-right: solid 2px black"| Republican > Democrat > Third
|style="text-align:left;"| 2
|-
|style="text-align:right; border-right: solid 2px black"| Republican > Third > Democrat
|style="text-align:left;"| 8
|-
|style="text-align:right; border-right: solid 2px black"| Third > Democrat > Republican
|style="text-align:left;"| 8
|-
|style="text-align:right; border-right: solid 2px black; border-bottom:solid 2px black;"| Third > Republican > Democrat
|style="text-align:left; border-bottom:solid 2px black;"| 2
|-
|style="text-align:right; border-right: solid 2px black"|Total
|style="text-align:left;"| 29
|}
What is the preference of the group as a whole?
Overall, the group prefers the Democrat to the Republican by five votes; seventeen voters ranked the Democrat above the Republican versus twelve the other way. And, overall, the group prefers the Republican to the Third's nominee, fifteen to fourteen. But, strangely enough, the group also prefers the Third to the Democrat, eighteen to eleven.
[[Image:Linalg_voting_diagram_1.png|200px|center]]
{{anchor|voting paradox}}This is an example of a '''voting paradox''', specifically, a '''majority cycle'''.
Voting paradoxes are studied in part because of their implications for practical politics. For instance, the instructor can manipulate the class into choosing the Democrat as the overall winner by first asking the class to choose between the Republican and the Third, and then asking the class to choose between the winner of that contest, the Republican, and the Democrat. By similar manipulations, any of the other two candidates can be made to come out as the winner. (In this Topic we will stick to three-candidate elections, but similar results apply to larger elections.)
Voting paradoxes are also studied simply because they are
mathematically interesting. {{anchor|rational preference}}One interesting aspect is that the
group's overall majority cycle occurs despite that each single
voters's preference list is '''rational'''— in a straight-line order. That is, the majority
cycle seems to arise in the aggregate, without being present in the
elements of that aggregate, the preference lists. Recently, however,
linear algebra has been used {{harv|Zwicker|1991}} to argue that a tendency
toward cyclic preference is actually present in each voter's list, and
that it surfaces when there is more adding of the tendency than
cancelling.
For this argument, abbreviating the choices as <math>D</math>, <math>R</math>, and <math>T</math>, we can describe how a voter with preference order <math>D>R>T</math> contributes to the above cycle.
[[Image:Linalg_voting_diagram_2.png|175px|center]]
(The negative sign is here because the arrow describes <math>T</math> as preferred to <math>D</math>, but this voter likes them the other way.) The descriptions for the other preference lists are in the ''Voting preferences'' table below.
Now, to conduct the election we linearly combine these descriptions; for instance, the Political Science mock election
:<math>5\cdot\,</math>[[Image:Linalg_voting_diagram_43.png|100px]]<math>\,+4\cdot\,</math>[[Image:Linalg_voting_diagram_44.png|100px]]<math>\,+\cdots+2\cdot\,</math>[[Image:Linalg_voting_diagram_45.png|100px]]
yields the circular group preference shown earlier.
Of course, taking linear combinations is linear algebra. The above cycle notation is suggestive but inconvienent, so we temporarily switch to using column vectors by starting at the <math>D</math> and taking the numbers from the cycle in counterclockwise order. Thus, the mock election and a single <math>D>R>T</math> vote are represented in this way.
:<math>
\begin{pmatrix} 7 \\ 1 \\ 5 \end{pmatrix}
\quad\text{and}\quad
\begin{pmatrix} -1 \\ 1 \\ 1 \end{pmatrix}
</math>
We will decompose vote vectors into two parts, one cyclic and the other acyclic. For the first part, we say that a vector is '''purely cyclic''' if it is in
this subspace of <math>\mathbb{R}^3</math>.
:<math>
C =\left\{\begin{pmatrix} k \\ k \\ k \end{pmatrix} \,\big|\, k \in\mathbb{R}\right\}
=\left\{k\cdot\begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} \,\big|\, k \in\mathbb{R}\right\}
</math>
For the second part, consider the subspace (see [[#exer:PerpIsSubSp|Problem 6]]<!--\ref{exer:PerpIsSubSp}-->) of vectors that are perpendicular to all of the vectors in <math>C</math>.
:<math>
C^\perp =\left\{\begin{pmatrix} c_1 \\ c_2 \\ c_3 \end{pmatrix} \,\big|\,
\begin{pmatrix} c_1 \\ c_2 \\ c_3 \end{pmatrix}\cdot\begin{pmatrix} k \\ k \\ k \end{pmatrix} =0
\text{ for all } k\in\mathbb{R}\right\}
</math>
::<math>
=\left\{\begin{pmatrix} c_1 \\ c_2 \\ c_3 \end{pmatrix} \,\big|\,
c_1+c_2+c_3=0\right\}
=\left\{c_2\begin{pmatrix} -1 \\ 1 \\ 0 \end{pmatrix}
+c_3\begin{pmatrix} -1 \\ 0 \\ 1 \end{pmatrix} \,\big|\, c_2,c_3\in\mathbb{R}\right\}
</math>
(Read that aloud as "<math>C</math> perp".) So we are led to this basis for <math>\mathbb{R}^3</math>.
:<math>
\left\langle \begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix},
\begin{pmatrix} -1 \\ 1 \\ 0 \end{pmatrix},
\begin{pmatrix} -1 \\ 0 \\ 1 \end{pmatrix} \right\rangle
</math>
We can represent votes with respect to this basis, and thereby decompose them into a cyclic part and an acyclic part. ''(Note for readers who have covered the optional section in this chapter: that is, the space is the direct sum of <math>C</math> and <math>C^\perp</math>.)''
For example, consider the <math>D>R>T</math> voter discussed above. The representation in terms of the basis is easily found,
:<math>\begin{array}{rcl}
\begin{array}{*{3}{rc}r}
c_1 &- &c_2 &- &c_3 &= &-1 \\
c_1 &+ &c_2 & & &= &1 \\
c_1 & & &+ &c_3 &= &1
\end{array}
&\xrightarrow[-\rho_1+\rho_3]{-\rho_1+\rho_2}\;
\xrightarrow[]{(-1/2)\rho_2+\rho_3}
&\begin{array}{*{3}{rc}r}
c_1 &- &c_2 &- &c_3 &= &-1 \\
& &2c_2 &+ &c_3 &= &2 \\
& & & &(3/2)c_3 &= &1
\end{array}
\end{array}
</math>
so that <math>c_1=1/3</math>, <math>c_2=2/3</math>, and <math>c_3=2/3</math>. Then
:<math>
\begin{pmatrix} -1 \\ 1 \\ 1 \end{pmatrix}
=\frac{1}{3}\cdot\begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix}
+\frac{2}{3}\cdot\begin{pmatrix} -1 \\ 1 \\ 0 \end{pmatrix}
+\frac{2}{3}\cdot\begin{pmatrix} -1 \\ 0 \\ 1 \end{pmatrix}
=\begin{pmatrix} 1/3 \\ 1/3 \\ 1/3 \end{pmatrix}
+\begin{pmatrix} -4/3 \\ 2/3 \\ 2/3 \end{pmatrix}
</math>
gives the desired decomposition into a cyclic part and an acyclic part.
:[[Image:Linalg_voting_diagram_3.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_4.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_5.png|x100px]]
Thus, this <math>D>R>T</math> voter's rational preference list can indeed be seen to have a cyclic part.
The <math>T>R>D</math> voter is opposite to the one just considered in
that the "<math>></math>" symbols are reversed. This voter's
decomposition
[[Image:Linalg_voting_diagram_6.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_7.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_8.png|x100px]]
shows that these opposite preferences have decompositions that are
opposite. {{anchor|spin}}We say that the first voter has positive
'''spin''' since the cycle part is with the direction we have chosen
for the arrows, while the second voter's spin is negative.
The fact that that these opposite voters cancel each other is reflected in the fact that their vote vectors add to zero. This suggests an alternate way to tally an election. We could first cancel as many opposite preference lists as possible, and then determine the outcome by adding the remaining lists.
The rows of the table below contain the three pairs of opposite preference lists. The columns group those pairs by spin. For instance, the first row contains the two voters just considered.
{{anchor|voting}}<!--\label{table:Voting}-->
{|border=1 cellspacing=0 style="margin:auto;"
|+Voting preferences
|-
|style="font-style:italic; text-align:center"|positive sign
|style="font-style:italic; text-algin:center"|negative spin
|-
||Democrat > Republican > Third <br>
[[Image:Linalg_voting_diagram_9.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_10.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_11.png|x100px]]
||Third > Republican > Democrat <br>
[[Image:Linalg_voting_diagram_12.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_13.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_14.png|x100px]]
|-
||Republican > Third > Democrat <br>
[[Image:Linalg_voting_diagram_15.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_16.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_17.png|x100px]]
||Democrat > Third > Republican <br>
[[Image:Linalg_voting_diagram_18.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_19.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_20.png|x100px]]
|-
||Third > Democrat > Republican <br>
[[Image:Linalg_voting_diagram_21.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_22.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_23.png|x100px]]
||Republican > Democrat > Third <br>
[[Image:Linalg_voting_diagram_24.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_25.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_26.png|x100px]]
|}
If we conduct the election as just described then after the cancellation of as many opposite pairs of voters as possible, there will be left three sets of preference lists, one set from the first row, one set from the second row, and one set from the third row. We will finish by proving that a voting paradox can happen only if the spins of these three sets are in the same direction. That is, for a voting paradox to occur, the three remaining sets must all come from the left of the table or all come from the right (see [[#exer:CancelPolSci|Problem 3]]<!--\ref{exer:CancelPolSci}-->). This shows that there is some connection between the majority cycle and the decomposition that we are using---a voting paradox can happen only when the tendencies toward cyclic preference reinforce each other.
For the proof, assume that opposite preference orders have been cancelled, and we are left with one set of preference lists from each of the three rows. Consider the sum of these three (here, the numbers <math>a</math>, <math>b</math>, and <math>c</math> could be positive, negative, or zero).
:[[Image:Linalg_voting_diagram_27.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_28.png|x100px]]<math>\,+\,</math>[[Image:Linalg_voting_diagram_29.png|x100px]]<math>\,=\,</math>[[Image:Linalg_voting_diagram_30.png|x100px]]
A voting paradox occurs when the three numbers on the right,
<math>a-b+c</math> and <math>a+b-c</math> and <math>-a+b+c</math>, are all nonnegative or all nonpositive.
On the left, at least two of the three numbers, <math>a</math> and <math>b</math> and <math>c</math>,
are both nonnegative or both nonpositive.
We can assume that they are <math>a</math> and <math>b</math>.
That makes four cases: the cycle is nonnegative and
<math>a</math> and <math>b</math> are nonnegative, the cycle is
nonpositive and <math>a</math> and <math>b</math> are nonpositive, etc.
We will do only the first case, since the second is similar
and the other two are also easy.
So assume that the cycle is nonnegative and
that <math>a</math> and <math>b</math> are nonnegative.
The conditions <math>0\leq a-b+c</math> and <math>0\leq -a+b+c</math> add to give
that <math>0\leq 2c</math>, which implies that <math>c</math> is also nonnegative, as desired.
That ends the proof.
This result says only that having all three spin in the same direction is a
necessary condition for a majority cycle.
It is not sufficient; see [[#exer:VoterCondNotSuff|Problem 4]]<!--\ref{exer:VoterCondNotSuff}-->.
Voting theory and associated topics are the subject of current research.
There are many intriguing results, most notably
the one produced by K. Arrow {{harv|Arrow|1963}}, who won the Nobel Prize in part for
this work, showing that no voting system is entirely fair
(for a reasonable definition of "fair").
For more information, some good introductory articles are {{harv|Gardner|1970}},
{{harv|Gardner|1974}}, {{harv|Gardner|1980}}, and {{harv|Neimi|Riker 1976}}.
A quite readable recent book is {{harv|Taylor|1995}}.
The long list of cases from recent American political history given in
{{harv|Poundstone|2008}} show that manipulation of these paradoxes is
routine in practice (and the author proposes a solution).
This Topic is largely drawn from {{harv|Zwicker|1991}}.
''(Author's Note: I would like to thank Professor Zwicker for his kind and illuminating discussions.)''
== Exercises ==
{{TextBox|1=
;Problem 1{{anchor|exer:IrrIndVote}}: <!--\label{exer:IrrIndVote}-->
Here is a reasonable way in which a voter could have a cyclic preference. Suppose that this voter ranks each candidate on each of three criteria.
<ol type=1 start=1>
<li> Draw up a table with the rows labelled "Democrat", "Republican", and "Third", and the columns labelled "character", "experience", and "policies". Inside each column, rank some candidate as most preferred, rank another as in the middle, and rank the remaining oneas least preferred.
<li> In this ranking, is the Democrat preferred to the Republican in (at least) two out of three criteria, or vice versa? Is the Republican preferred to the Third?
<li> Does the table that was just constructed have a cyclic preference order? If not, make one that does.
</ol>
So it is possible for a voter to have a cyclic preference among candidates. The paradox described above, however, is that even if each voter has a straight-line preference list, a cyclic preference can still arise for the entire group.
}}
{{TextBox|1=
;Problem 2{{anchor|exer:VoteCalcTable}}: <!--\label{exer:VoteCalcTable}-->
Compute the values in the table of decompositions.
}}
{{TextBox|1=
;Problem 3{{anchor|exer:CancelPolSci}}: <!--\label{exer:CancelPolSci}-->
Do the cancellations of opposite preference orders for the Political Science class's mock election. Are all the remaining preferences from the left three rows of the table or from the right?
}}
{{TextBox|1=
;Problem 4{{anchor|exer:VoterCondNotSuff}}: <!--\label{exer:VoterCondNotSuff}-->
The necessary condition that is proved above—a voting paradox can happen only if all three preference lists remaining after cancellation have the same spin—is not also sufficient.
<ol type=1 start=1>
<li> Continuing the positive cycle case considered in the proof, use the two inequalities <math>0\leq a-b+c</math> and <math>0\leq -a+b+c</math> to show that <math>|a-b|\leq c</math>.
<li> Also show that <math>c\leq a+b</math>, and hence that <math>|a-b|\leq c\leq a+b</math>.
<li> Give an example of a vote where there is a majority cycle, and addition of one more voter with the same spin causes the cycle to go away.
<li> Can the opposite happen; can addition of one voter with a "wrong" spin cause a cycle to appear?
<li> Give a condition that is both necessary and sufficient to get a majority cycle.
</ol>
}}
{{TextBox|1=
;Problem 5: A one-voter election cannot have a majority cycle because of the requirement that we've imposed that the voter's list must be rational.
<ol type=1 start=1>
<li> Show that a two-voter election may have a majority cycle. (We consider the group preference a majority cycle if all three group totals are nonnegative or if all three are nonpositive---that is, we allow some zero's in the group preference.)
<li> Show that for any number of voters greater than one, there is an election involving that many voters that results in a majority cycle.
</ol>
}}
{{TextBox|1=
;Problem 6{{anchor|exer:PerpIsSubSp}}: <!--\label{exer:PerpIsSubSp}-->
Let <math>U</math> be a subspace of <math>\mathbb{R}^3</math>. Prove that the set <math>U^\perp=\{\vec{v}\,\big|\,\vec{v}\cdot\vec{u}=0 \text{ for all } \vec{u}\in U\}</math> of vectors that are perpendicular to each vector in <math>U</math> is also a subspace of <math>\mathbb{R}^3</math>.
}}
<noinclude>
[[/Solutions/]]
==References==
* {{citation|first=J.|last=Arrow|title=Social Choice and Individual Values|publisher=Wiley|year=1963}}.
* {{citation|first=Martin|last=Gardner|title=Mathematical Games, Some mathematical curiosities embedded in the solar system|journal=Scientific American|year=April 1970|pages=108-112}}.
* {{citation|first=Martin|last=Gardner|title=Mathematical Games, On the paradoxical situations that arise from nontransitive relations|journal=Scientific American|year=October 1974}}.
* {{citation|first=Martin|last=Gardner|title=Mathematical Games, From counting votes to making votes count: the mathematics of elections|journal=Scientific American|year=October 1980}}.
* {{citation|first1=G.|last1=Neimi|first2=W.|last2=Riker|title=The Choice of Voting Systems|journal=Scientific American|year=June 1976|pages=21-27}}.
* {{citation|first=W.|last=Poundstone|title=Gaming the vote|publisher=Hill and Wang|year=2008|ISBN=978-0-8090-4893-9}}.
* {{citation|first=Alan D.|last=Taylor|title=Mathematics and Politics: Strategy, Voting, Power, and Proof|publisher=Springer-Verlag|year=1995}}.
* {{citation|first=S.|last=Zwicker|title=The Voters' Paradox, Spin, and the Borda Count|journal=Mathematical Social Sciences|year=1991|volume=22|pages=187-227}}
{{navigation|Book=Linear Algebra
|current=Topic: Voting Paradoxes
|previous=Topic: Crystals
|next=Topic: Dimensional Analysis}}
{{BookCat}}
</noinclude>
r3lcbr4ckj0b7w110so26eqt2wl0sq0
Wikibooks:Reading room/Proposals
4
155682
4634643
4634509
2026-05-07T12:44:54Z
Leaderboard
1176064
/* Introduce speedy deletion criteria? */ Reply
4634643
wikitext
text/x-wiki
__NEWSECTIONLINK__ {{Discussion Rooms}} {{Shortcut|WB:RFC|WB:PROPOSALS}} {{TOC left<!--|limit=2-->}}
Welcome to the '''Proposals reading room'''. On this page, Wikibookians are free to talk about suggestions for improving Wikibooks.
{{User:MiszaBot/config
|archive = Wikibooks:Reading room/Proposals/%(year)d/%(monthname)s
|algo = old(120d)
|counter = 1
|key = 1f2adc5eee951900b65c7b981b786191
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{clear}}
<!--Take threads to archive below this line-->
<!--Add new threads to bottom of page-->
== Retiring [[Template:Deleted page]] ==
{{tlx|Deleted page}} is a template that was used back in the day before salting (page creation protection) existed. Back then, if an admin wanted to prevent a page from being recreated, they would delete it and then recreate it with just that template, before fully protecting it. This method is completely unnecessary now that we can directly create-protect pages, and no new page has been added to [[:Category:Protected deleted pages]] in nearly eight years.
Furthermore, I would like to propose that all the pages that currently have {{tlx|Naming policy notice}} be deleted and added to the ''title blacklist''. In the [[MediaWiki:Titleblacklist|title blacklist]], the error message should be set to an interface message that transcludes {{tlx|Naming policy notice}}. Since this is an editor-facing template, only would-be editors should be able to see it. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:55, 31 December 2025 (UTC)
: Do you think we should delete {{tlx|Deleted page}} via RfD, but keep {{tlx|Naming policy notice}}? [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:04, 31 December 2025 (UTC)
::@[[User:Codename Noreste|Codename Noreste]]: Yes. {{tlx|Deleted page}} should be deleted, and {{tlx|Naming policy notice}} should be fully protected and transcluded in a MediaWiki namespace message. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:16, 31 December 2025 (UTC)
:::Considering there were no objections to this proposal here, {{Doing|I am doing this...}} [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:44, 30 March 2026 (UTC)
::::{{done|All done}}, but the discussion about {{tlx|Deleted page}} is awaiting to be closed (since I initiated it). [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:37, 30 March 2026 (UTC)
:[[User:JJPMaster|JJPMaster]], I filed a request at [[Wikibooks:Requests for deletion#Template:Deleted page]] to discuss whether to delete this template (and the categories used). [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:38, 29 January 2026 (UTC)
== Some proposals involving a separate permission request page and notification of ongoing RFAs ==
I would like to propose the following below:
=== Proposal 1 ===
<s>We split off [[Wikibooks:Requests for adminship]] as a separate page for requesting adminship, bureaucrat, checkuser and suppressor (oversight) permissions. All other permissions, except the former mentioned permissions, would still be requested at [[Wikibooks:Requests for permissions]] (this is also the case for requesting interface administrator permissions, for admins).</s>
=== Proposal 2 ===
Given the low activity on this project, I propose that we must notify the community about ongoing RFAs, which could be either [[MediaWiki:Sitenotice]] or adding a notification at [[Wikibooks:Reading room/General]]. A general rule is that the notification must be written in a neutral fashion.
=== In conclusion... ===
Feel free to comment, ask, or anything else. Thanks. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:31, 1 January 2026 (UTC)
:1. I don't see [[WB:RFP]] being clogged to justify creating a fork just for advanced permissions.
:2. That is already something we do occasionally on a case-by-case basis. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 07:40, 1 January 2026 (UTC)
:My thoughts below:
:# I agree with @[[User:Leaderboard|Leaderboard]] and don't really see a need for splitting off [[Wikibooks:Requests for adminship]] as a separate page, since there are generally not so many requests.
:# I do think it could potentially be useful to notify the community about requests for adminship using [[MediaWiki:Sitenotice]]—it's not something I've seen us do before. @[[User:Codename Noreste|Codename Noreste]] are you proposing specifically that we codify it in policy?
:—[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:59, 1 January 2026 (UTC)
::After considering, I've crossed out proposal 1, and regarding proposal 2, I would still think it should be in a guideline, not a policy. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:22, 1 January 2026 (UTC)
:Proposal 2 seems reasonable to me. It could help people find requests if they are not watching RFP. [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 15:01, 2 January 2026 (UTC)
:I've been thinking about proposal 2, and it seems like it would be a good idea to create a template for this purpose that we could just pop into [[MediaWiki:Sitenotice]]. What about creating [[Template:RFA notice]], which could take as parameters the requestor and the path to the discussion? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:35, 24 January 2026 (UTC)
::I agree. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:12, 27 January 2026 (UTC)
== Implement Visual Editor in more namespaces ==
{{closed|The Phabricator task has been resolved, and VE is enabled on the proposed namespaces as of today. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:06, 27 January 2026 (UTC)}}
See the [[Wikibooks:Reading room/Technical Assistance#Visual Editor Implementation|original discussion]] for reference.
===Proposal===
Currently, the visual editor is implemented on the following namespaces:
* Main
* User
* Help
* Category
* Cookbook
* Wikijunior
I am proposing that we implement the visual editor on the following namespaces:
* Wikibooks
* Transwiki
===Reasoning===
I use the source editor and the visual editor for different purposes. One of my primary uses of the visual editor is for text-heavy pages, where I use it for writing content and proofreading/copyediting. In contrast, I use the source editor for more complex and technical edits. I find it very difficult to parse text in the source editor, especially when there are many templates, tables, links, etc, and it is a pretty significant accessibility issue for me—I imagine that it could be so for other users as well.
The Wikibooks and Transwiki namespaces are both namespaces that contain text- and content-heavy pages (e.g. policies, guidelines, essays), and I know I would benefit from the visual editor here—for example, I am currently working on the [[Wikibooks:Artificial intelligence/Unstable|unstable branch of a policy]], and it is proving to be kind of a pain to do without having the visual editor as an adjunct tool.
The main challenge I see is that the Wikibooks namespace contains some talk pages (i.e. the reading room), and the visual editor is not intended for talk pages. However, there is [https://phabricator.wikimedia.org/T370158 precedent] for implementing the visual editor in namespaces that contain talk pages as long as it is understood that the visual editor is not intended for these talk pages. Overall, it looks technically feasible.
—[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:40, 11 January 2026 (UTC)
=== Discussion ===
Kicking off the discussion here! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:37, 24 January 2026 (UTC)
:Pinging people who were part of the original discussion thread: @[[User:Leaderboard|Leaderboard]] @[[User:Codename Noreste|Codename Noreste]] @[[User:SHB2000|SHB2000]].
:Also pinging some other active administrators: @[[User:JJPMaster|JJPMaster]] @[[User:MarcGarver|MarcGarver]] @[[User:Atcovi|Atcovi]] @[[User:Xania|Xania]] @[[User:JackPotte|JackPotte]] @[[User:TunnelESON|TunnelESON]]. Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:48, 24 January 2026 (UTC)
::No objections. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:30, 24 January 2026 (UTC)
::I'm fine as well. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:04, 24 January 2026 (UTC)
:::Ditto. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 22:49, 24 January 2026 (UTC)
::All good on my end. —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 17:09, 25 January 2026 (UTC)
:Phab ticket has been created at {{phab|T415595}}! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:49, 26 January 2026 (UTC)
{{end closed}}
== Redefining the inactivity policy for administrators and bots ==
Hi. I would like to propose that we redefine the inactivity policy for administrators (superseding the current procedure), and to create a local inactivity policy for bots.
* For administrators that have made zero edits '''''and''''' zero logged actions for over a year, they will be listed under the removal section of [[Wikibooks:Requests for permissions]] (and notified on their user talk pages), where they are given a specific timeframe to respond so that they can retain their access, unless they specify otherwise. If they do not respond after that timeframe, a request will be forwarded to the removal section of [[:m:SRP]]. Should the timeframe last at least one week, two weeks, or one month?
* For bots, the process is slightly different. Bots that are inactive (made no edits/logged actions) for over two years will be listed under the removal section of RfP (in the same manner as inactive administrators), but their operators must be notified first, and a week is given for the operators to respond. After the timeframe passes and an operator does not respond to the inactive bot removal request (for example), a request will be forwarded to the removal section of [[:m:SRB]]. Bot users that do not have the bot user group might be exempt, unless the discussion proposes otherwise.
Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:34, 18 January 2026 (UTC)
:Sounds fine to me. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 06:58, 21 January 2026 (UTC)
::Agreed here. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:36, 25 January 2026 (UTC)
:I have no problem with this. Regarding the timeframe for administrators, one months seems reasonable. Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:29, 24 January 2026 (UTC)
::I think one month might be excessive IMO, but one week might not be enough for a timeframe, especially given the lack of discussion activity. Let’s compromise by choosing two weeks instead, if that's okay.
::Also, the reason I made this is because the inactivity policy on [[Wikibooks:Administrators]] seems vague. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:15, 24 January 2026 (UTC)
:::@[[User:Kittycataclysm|Kittycataclysm]], what timeframe would be feasible, two weeks, or one month? I'll be ready to implement this today. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:20, 30 January 2026 (UTC)
::::Two weeks should probably be fine unless anyone else has thoughts! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:55, 31 January 2026 (UTC)
:::::[[User:Kittycataclysm|Kittycataclysm]], I am reconsidering the current timeframe. I think we should revise by lowering the timeframe to one week for administrator inactivity removal, similar to how we currently do this for bots. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:17, 10 February 2026 (UTC)
::::::I think we should check to see what other people think here —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:49, 10 February 2026 (UTC)
:I'm afraid I don't fully understand the procedure you're proposing for administrators. When someone is listed to be removed on RFP, is there a vote? Or is the poster just waiting for the inactive admin to reply? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:31, 24 January 2026 (UTC)
::In my new proposal, there will be no votes for removal, but inactive admins will be notified and given a timeframe to respond if they wish to retain their rights, unless they specify otherwise. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:42, 24 January 2026 (UTC)
:{{done|Implemented}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:51, 31 January 2026 (UTC)
::Should I reduce the timeframe from two weeks down to one week? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:55, 22 February 2026 (UTC)
== Create a "file" that is an Example Book structured to be copied/used to quickly start a new book? ==
I am new to Wikibooks, if this already exists let me know....
If there was a Wikibook "file" that contained all the templates and "parts" that are used to create a properly structured book, it might be easier and quicker to create and contribute books here. This would have to include text that would explain the purpose of each of the sections and templates and offer advice for making changes that customize the example.
One might copy it to their sandbox, follow the directions and make the updates that create the framework for their book. Then the work would be to fill in the text. I suppose the downside is that books would be categorized and shelved that are in progress. Abandoned books would need to be deleted or some template might need to be developed that might indicate that the book is incomplete. This would be removed when the book is ready for prime-time.
{{unsigned|Rchaswms01|01:32, 3 February 2026}}
== Allow all users (registered and unregistered) to view edit filters and their logs? ==
Hello, everyone. I would like to propose allowing all users to view not just edit filters and [[Special:AbuseLog|their log]], but also detailed edit filter log entries. In addition to that, I am also proposing that we set <code>$wgAbuseFilterNotifications</code> to <code>true</code> by removing <code>$wgAbuseFilterNotifications = false;</code>.
{{collapse top|This proposal aims to reverse a part of [[phab:T26304]] for the AbuseFilter extension:}}
<syntaxhighlight lang="wikitext">
We would like to enable the AbuseFilter extension (see below) with custom permissions. Please *add*:
$wgGroupPermissions['*']['abusefilter-view'] = false;
$wgGroupPermissions['*']['abusefilter-log'] = false;
$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
</syntaxhighlight>
<syntaxhighlight lang="wikitext">
I'm sorry for yet another reply, but the user rights for the abuse filter need to be tweaked to match the request.
abusefilter-view should be for autoconfirmed/confirmed only and not for all users.
abusefilter-log should be for autoconfirmed/confirmed only and not for all users.
The logic behind this was to prevent casual vandals from gaming the system.
Thank you for your efforts.
</syntaxhighlight>
{{collapse bottom}}
{{collapse top|Current configuration}}
<syntaxhighlight lang="php">
case 'enwikibooks':
$wgGroupPermissions['*']['abusefilter-view'] = false;
$wgGroupPermissions['*']['abusefilter-log'] = false;
$wgAbuseFilterNotifications = false;
$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = true; // T383332
$wgGroupPermissions['sysop']['abusefilter-revert'] = true; // T411828
$wgAbuseFilterActions['block'] = true; // T273864
break;
</syntaxhighlight>
{{collapse bottom}}
{{collapse top|Proposed configuration}}
<syntaxhighlight lang="php">
case 'enwikibooks':
$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
$wgGroupPermissions['sysop']['abusefilter-revert'] = true; // T411828
$wgAbuseFilterActions['block'] = true; // T273864
break;
</syntaxhighlight>
{{collapse bottom}}
Thoughts? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:55, 2 April 2026 (UTC)
:See also: {{section link|Wikibooks:Reading room/Proposals/2025/January#Reforming the edit filter}}. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:50, 2 April 2026 (UTC)
== Introduce speedy deletion criteria? ==
I would like to propose that we introduce speedy deletion criteria to Wikibooks, such as {{tq|G1: [reason]}}. I suggest that we adapt from the English Wikipedia's CSD criteria ([[:w:Wikipedia:Speedy deletion]]) but utilize our existing deletion reasons, and even include '''G''' for general, '''R''' for redirects, and so on.
Speedy deletion reasons are already included in the [[Wikibooks:Deletion policy|deletion policy]], but should this proposal pass, the new speedy deletion criteria can be split out to a separate policy page, if needed (e.g. [[Wikibooks:Speedy deletion]]).
Thoughts? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:39, 7 April 2026 (UTC)
:On the whole, that seems like it could be useful to expand out our CSD in a more detailed way. Why don't you go ahead and create [[Wikibooks:Speedy deletion]] as a draft, write out your initial proposal, and then we can workshop it together? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:33, 10 April 2026 (UTC)
:@[[User:Codename Noreste|Codename Noreste]]: How can this proposal avoid accusations of [[m:Instruction creep|instruction creep]]? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:21, 14 April 2026 (UTC)
:: How does instruction creep have anything to do with this? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:31, 14 April 2026 (UTC)
::: Well, in that case, we might keep the descriptions simple, not overly detailed. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:30, 17 April 2026 (UTC)
::::In that case, we may need to introduce that motion. – [[User:RestoreAccess111|RestoreAccess111]] <sup style="font-family:Arimo, Arial;">[[User talk:RestoreAccess111|Talk!]]</sup> <sup style="font-family:Times New Roman, Tinos;">[[Special:Contributions/RestoreAccess111|Watch!]]</sup> 04:38, 17 April 2026 (UTC)
:We already have speedy deletion though so I don't understand this proposal. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 15:56, 24 April 2026 (UTC)
:@[[User:Codename Noreste|Codename Noreste]] I created a very early draft in [[User:Kingofnuthin/sandbox|my sandbox]] by merging content from [[w:Wikipedia:Speedy deletion]] and [[Wikibooks:Deletion policy]]. I added most of the criteria from English Wikipedia's page but I left some that can't be in Wikibooks (such as notability criteria). As I said, the draft is currently very undetailed and only provides simple explanations for criteria except for a few of them. You can add this draft to [[Wikibooks:Speedy deletion]] to clarify the details of the proposal. I am also open to any feedback regarding the draft. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 16:11, 26 April 2026 (UTC)
:: I moved your draft to [[Wikibooks:Speedy deletion]]. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:15, 26 April 2026 (UTC)
::This generally looks good; I've got a couple comments on specific criteria:
::* "G5. Pages dependent on a non-existent or deleted page" includes subpages with no parent page. Given the extent to which Wikibooks uses page nesting, this seems risky - at a minimum, the criterion should be revised to "subpages with no parent '''book'''", and existing pages which meet this criterion should be grandfathered in or otherwise addressed.
::* "B4. Books that duplicate an existing topic" should probably be removed. Unlike Wikipedia, Wikibooks has historically allowed multiple books to address the same topic, e.g. [[Mandarin Chinese]] and [[Chinese (Mandarin)]], or [[C++ Language]] and [[C++ Programming]]. Whether a book "expands upon, details or improves information" in another book is very subjective; determining whether this is the case should be handled in a deletion discussion, not by an admin processing speedy deletions.
::Additionally, I'd suggest that three criteria be added:
::* Books which are over a week old and which contain no instructional content (e.g. books which are nothing but a table of contents). These books are already routinely deleted under [[WB:NMC]]; adopting this as a CSD streamlines the process.
::* Pages in any namespace which are unambiguously advertisements or promotional in nature (akin to [[:w:WP:CSD#G11]]).
::* Pages in any namespace which infringe upon copyright, akin to [[:w:WP:CSD#G12]]. F6/F7 address ''files'' which are copyvios, but not text.
::[[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:54, 29 April 2026 (UTC)
::: [[User:Omphalographer|Omphalographer]], feel free to make those changes to [[Wikibooks:Speedy deletion]], from your comments. It's a draft proposal. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:21, 29 April 2026 (UTC)
:::@[[User:Omphalographer|Omphalographer]]: I agree on your thoughts for the removal of B4 and the addition of a new general criterion for copyvios, so I did those. However, I think that G5 is fine in its current state. I don't understand what situation would be "risky" in this case, so please provide some example for that. Additionally, I don't think we need an advertisement criterion right now, as Wikibooks does not seem to have a promotion problem, as it is a collection of textbooks. Also, you mentioned [[Wikibooks:NMC]] as a new criterion even though I copy-pasted criterion G1 from the exact part you mentioned. Such pages could be deleted under G1. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 16:06, 29 April 2026 (UTC)
::::With regards to G5, I've seen some situations where a book was incorrectly renamed in such a way that some of the subpages remained under the original title of the book, or pages of a book are inadvertently created under an incorrect title. Given the proposed wording for G5, those pages would be eligible for speedy deletion, even though they are in use as part of the book.
::::With regards to advertisements, Wikibooks does get some spam page creations; you'll see some if you scroll through [https://en.wikibooks.org/wiki/Special:Log?type=delete the deletion log]. It's typically deleted quickly by admins, but if we're codifying criteria for speedy deletion, this should be included as an allowable reason.
::::As far as G1 / NMC is concerned, I initially read G1 as applying only to pages which contain no meaningful content at all, like pages which are empty, nonsense, or vandalism, and which should be deleted promptly. I see this as distinct from books which are superficially well-formed, but which fail to develop, e.g. a user who creates an ambitious-sounding table of contents for a book, but never returns to write any of the text. These shouldn't be deleted immediately (since it takes time to write content!), but are routinely speedily deleted once it's clear that no further content is forthcoming. Since this is a bit of a different process, it should probably be treated as a separate criterion. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:28, 29 April 2026 (UTC)
:::::I added "Editors should be careful when nominating such pages, as they might be incorrectly named instead. In such cases, editors should move the page to its correctly-titled version." to G5. For advertising you said "Wikibooks does get some spam page creations", but we already have "Spam and vandalism" for G1. In G1, I removed "abandoned content" and made it a new criterion B5 under the book section. (As this would only apply to books.) [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 17:43, 29 April 2026 (UTC)
:Quite frankly I don't see the need for a wiki of this size, in addition to what {{u|Leaderboard}} has mentioned. The current reasonings are perfectly fine, and subtly discourage the use of using abbreviations meaningless to new users. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 05:51, 4 May 2026 (UTC)
::Maybe we could do it without abbreviations, whilst keeping the categories. Our current speedy deletion policy is too short, and only includes main and userspace pages. We need more criteria for the Cookbook and Wikijunior for example. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 12:21, 4 May 2026 (UTC)
:::But why? [[:w:Wikipedia:If it ain't broke, don't fix it|If it ain't broke, don't fix it]]. Cookbook and Wikijunior for all purposes of policy can generally be implied to be mainspace pages. I find this really overkill for a wiki of this size. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:55, 5 May 2026 (UTC)
::::I have to agree with SHB2000 here. One perk of a wiki like this is that we have rules when needed, but we don't put a rule for the sake for it. I haven't had anyone tell that they can't perform their tasks, and it's not like there's a lot of pages to delete. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 12:44, 7 May 2026 (UTC)
::My other worry with this change is that it removes a ''lot'' of flexibility when it comes to page deletions. That's especially crucial on a wiki like this where there is a lot of abandoned content lying around; I thus {{oppose}} this proposal in any form. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:11, 6 May 2026 (UTC)
== Questions about [[Wikibooks:Annotated texts]] ==
I was recently reading over the policy on annotated texts and had a few questions aimed at reforming that policy. (The talk page for the policy has been inactive for eleven years, so I figured a post there would be unlikely to attract attention.)
# First and foremost - how many annotated texts of the type described by this policy are actually hosted on Wikibooks? I am only aware of one, [[Annotations to James Joyce's Ulysses]], which is quite incomplete. Are there a significant number more that I am unable to find? If not, might it be appropriate to revise this policy and related documents to reflect that annotated texts are, at best, an experimental part of the project?
# The policy on annotated texts currently permits '''unannotated''' source texts to be hosted on Wikibooks provided that either the text is not on Wikisource, or that it is "widely used in classrooms". This seems like a rather large unintended loophole in the policy - there are innumerable texts which have not been transcribed on Wikisource, but which it would not make sense for Wikibooks to house either. Similarly, there are many texts which are "widely used in classrooms", but which have never been annotated on Wikibooks and are unlikely to ever be. The policy also notes the possibility that a multilingual project could create annotated texts with parallel page names across all language editions; I am certainly unaware of any such. Are there any texts on Wikibooks which rely on this policy, or would it be appropriate to strike this section?
[[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:54, 28 April 2026 (UTC)
:The policy seems to be contradicting [[Wikibooks:SOURCE]], which states that annotated texts are the only exception to published texts being on Wikibooks. This means that we have a policy that says unannotated source texts are permitted, and another one that says they aren't allowed. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 19:02, 28 April 2026 (UTC)
:There is also [[Annotations of The Complete Peanuts]]. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 14:26, 29 April 2026 (UTC)
::That isn't an annotated text of the type described by this policy, as it doesn't include the original text that's being commented on. (Which it can't, because ''Peanuts'' is still under copyright.) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 16:29, 29 April 2026 (UTC)
:::Correct, it is not an inline annotation: I was just pointing it out as another kind of annotated text here.
:::For what it's worth, our sister project Wikisource [[:s:en:Category:Wikisource annotations|also hosts inline annotations]], such as [[:s:en:What to the Slave Is the Fourth of July?/Annotated]], which I made. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:33, 29 April 2026 (UTC)
:::The main problem here is that the policy permits "unannotated texts" even though we don't host them here. I think that the first thing you mentioned can stay but we might need to strike out the second part from the policy as it is contradictory. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 16:38, 29 April 2026 (UTC)
::::Yeah - I certainly don't mean to suggest that the ''Ulysses'' annotations need to go away; I'm mostly curious if this policy has any wider applicability, or if its only function is to allow this one text. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:37, 29 April 2026 (UTC)
== Proposal related to FlaggedRevs ==
As said per [[Wikibooks:Reading room/General#Page patrolling]], I would like to propose the following:
# <code>$wgUseNPPatrol</code> and <code>$wgUseFilePatrol</code> are both to be set to <code>false</code>.
# <code>autopatrol</code> and <code>patrol</code> are to be removed from some user groups on this wiki.
This is because FlaggedRevs is used to review new pages and edits, so I don't think MediaWiki's native patrol function is needed here. It's similar to [[phab:T423461]] (completely turning off the new page patrol function on Ukrainian Wikipedia).
In addition, I would like to propose we move the following interface pages once after the below configuration has been implemented:
* [[MediaWiki:Revreview-value]] to [[MediaWiki:Revreview-accuracy]]
* [[MediaWiki:Revreview-value-1]] to [[MediaWiki:Revreview-accuracy-1]]
* [[MediaWiki:Revreview-value-2]] to [[MediaWiki:Revreview-accuracy-2]]
* [[MediaWiki:Revreview-value-3]] to [[MediaWiki:Revreview-accuracy-3]]
I don't really see a reason why we should use {{tq|value}} instead of {{tq|accuracy}} to stand out, when some other projects use {{tq|accuracy}}.
{{collapse top|Proposed configuration}}
=== core-Permissions.php ===
<syntaxhighlight lang="php">
'+enwikibooks' => [
'reviewer' => [
'rollback' => true,
'suppressredirect' => true,
],
'flood' => [ 'bot' => true ],
'sysop' => [
'autopatrol' => false,
'patrol' => false,
'importupload' => true, // T278683
],
'uploader' => [
'upload' => true,
'reupload' => true,
],
'import' => [ 'mergehistory' => true ], // T382785
'transwiki' => [ 'mergehistory' => true ], // T382785
],
</syntaxhighlight>
=== flaggedrevs.php ===
<syntaxhighlight lang="php">
elseif ( $wgDBname == 'enwikibooks' ) {
// Limited to the main, Cookbook, and Wikijunior namespaces (T408110)
$wgFlaggedRevsNamespaces = [ NS_MAIN, 102, 110 ];
$wgFlaggedRevsTags = [ 'accuracy' => [ 'levels' => 3 ] ];
// Group permissions for sysops
$wgGroupPermissions['sysop']['review'] = true;
$wgGroupPermissions['sysop']['stablesettings'] = true;
$wgGroupPermissions['sysop']['validate'] = true;
// Remove the 'editor' user group
unset( $wgGroupPermissions['editor'] );
}
</syntaxhighlight>
{{collapse bottom}}
Thoughts? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:05, 3 May 2026 (UTC)
:{{support}}, patrolling is obsolete since we have FlaggedRevs extension here. Additionally, we should also consider renaming <code>editor</code> to <code>reviewer</code> to avoid confusion. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 15:19, 3 May 2026 (UTC)
:: I agree, but about the <code>validate</code> user right, is this still needed? <code>reviewer</code> has it by default, and administrators already have that user right; we might need to consider whether to remove <code>validate</code> completely from this wiki.
:: Also, <code>reviewer</code> is ''not'' under autopromotion, so this means an administrator will have to manually grant and remove that user group, unlike <code>editor</code>. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:45, 3 May 2026 (UTC)
1nnffrk5uel3sbs3ewgqs00iuuar1xx
Brave New World/Castes
0
158506
4634687
4599617
2026-05-07T21:22:44Z
~2026-27723-39
3581999
Capitalized I
4634687
wikitext
text/x-wiki
In Aldous huxley's BRAVE NEW WORLD, Each caste is split into "plus" and "minus" members.
===Alphas and Betas===
Alphas and Betas are at the top of the caste system, and perform the more intellectual jobs. Unlike the lower castes, Alphas and Betas are not clones, allowing for more individual personalities. Alphas wear gray, and Betas wear mulberry. Examples of Alphas include Thomas, Henry Foster, Mustapha Mond, Bernard Marx, Benito Hoover, and Helmholtz Watson. Some Betas included Lenina Crowne, Fanny Crowne, and Linda, ect.
===Gammas, Deltas, and Epsilons===
The lower three castes do more menial and standardized work. As a result, they are usually clones. When being decanted, processes such as oxygen deprivation are used to ensure predictable mental and physical traits in each caste (with Epsilons having the greatest degree of oxygen deprivation, resulting in the greatest degree of brain damage). Gammas wear green, Deltas wear khakis, and Epsilons wear black. Gammas, Deltas, and Epsilons are conditioned to serve the higher ranking castes (Alpha and Beta). In Chapter 5, it states that "Everyone works for everyone else. We can't do this without anyone. Even Epsilons are useful. We couldn't do without Epsilons. Every one works for every one else. We can't do this without anyone..." all Deltas are trained to not like flowers or books at a very young age.
{{BookCat}}
4469v1ik4i2ayxgul0hnfyrr6i5fja0
Wikibooks:Userboxes/Programming
4
180192
4634745
3343583
2026-05-08T08:49:41Z
ShakespeareFan00
46022
4634745
wikitext
text/x-wiki
{{programming language|c|1|category=}}
{{programming language|c|2|category=}}
{{programming language|c|3|category=}}
{{programming language|c|4|category=}}
Placing the {{tlx|programming language}} userbox template on your user page automatically lists you in the category system under the corresponding category so that other users may find you based on your skills. See below for details on the template's use as well as a list of the languages supported.
You can place a box around all your userboxes by putting {{tlx|userboxtop}} above them and {{tlx|userboxbottom}} below them, though the programming userboxes will automatically float to the right side of the page by default and need no box to enclose them.
{{clear}}
==Usage==
<pre>
{{programming language|c|4}}
</pre>
Copy and paste the example code above, and replace "c" with the desired language's code and "4" with one of the following characters representing your proficiency level:<br />
{| class="wikitable"
|-
! Level
! Description
|- style="vertical-align: top;"
! 1
| This user is a beginning coder in this language.
|- style="vertical-align: top;"
! 2
| This user is an intermediate coder in this language.
|- style="vertical-align: top;"
! 3
| This user is an advanced coder in this language.
|- style="vertical-align: top;"
! 4
| This user is an expert coder in this language.
|}
==Customizing format==
It is possible to customize the behavior and appearance of the template with the following override parameters (for example, <code><nowiki>{{programming language|c|4|align=left}}</nowiki></code>).
{| class="wikitable"
|-
! align
| Set the alignment on the page. Possible values are left, center, and right (default). This also sets appropriate clearing, so that the boxes will stack automatically in that position (you can override this with the "css-box" override below).
|-
! css-box
| Apply arbitrary [[w:CSS|CSS]] to the box.
|-
! css-left
| Apply arbitrary [[w:CSS|CSS]] to the left cell.
|-
! css-right
| Apply arbitrary [[w:CSS|CSS]] to the right (main) cell.
|-
! category
| Setting this parameter to empty (<code>category=</code>) displays the language box without categorizing the page. For the opposite effect—categorizing the page without displaying the box, see the {{nowrap|{{tlx|Programming language/category}}}} template.
|}
==Languages supported==
Below are the languages supported by the {{tlx|programming language}} userbox template along with their codes.
*ActionScript - '''<code>acsct</code>'''
*Ada - '''<code>ada</code>'''
*AppleScript - '''<code>apsct</code>'''
*ASP - '''<code>asp</code>'''
*Assembly - '''<code>asm</code>'''
*Bash - '''<code>bash</code>'''
*Batch - '''<code>batch</code>'''
*BASIC - '''<code>basic</code>'''
*Bourne Shell Script - '''<code>bsh</code>'''
*C - '''<code>c</code>'''
*C++ - '''<code>c++</code>'''
*C# - '''<code>csharp</code>'''
*COBOL - '''<code>cobol</code>'''
*ColdFusion - '''<code>coldf</code>'''
*CSS - '''<code>css</code>'''
*Erlang - '''<code>erlang</code>'''
*Forth - '''<code>fth</code>'''
*Fortran - '''<code>for</code>'''
*HTML - '''<code>html</code>'''
*Haskell - '''<code>hs</code>'''
*Java - '''<code>java</code>'''
*JavaScript - '''<code>js</code>'''
*LaTeX - '''<code>latex</code>'''
*Lisp - '''<code>lisp</code>'''
*Lua - '''<code>lua</code>'''
*Mathematica - '''<code>math</code>'''
*MySQL - '''<code>mysql</code>'''
*Objective-C - '''<code>objc</code>'''
*Objective Caml - '''<code>ocaml</code>'''
*Pascal - '''<code>pas</code>'''
*Perl - '''<code>perl</code>'''
*PHP - '''<code>php</code>'''
*Prolog - '''<code>pro</code>'''
*Python - '''<code>py</code>'''
*REXX - '''<code>rexx</code>'''
*Ruby - '''<code>ruby</code>'''
*Scheme - '''<code>sch</code>'''
*SQL - '''<code>sql</code>'''
*Tcl - '''<code>tcl</code>'''
*Vala - '''<code>vala</code>'''
*VBScript - '''<code>vbs</code>'''
*Visual Basic - '''<code>vb</code>'''
*Visual Basic .NET - '''<code>vbn</code>'''
*XHTML - '''<code>xhtml</code>'''
*XML - '''<code>xml</code>'''
*XQuery - '''<code>xquery</code>'''
[[category:Wikibooks:Userboxes]]
1vq0pnpjf093vfxb63uz84u5d9gnbhr
Aros/Platforms/x86 Complete System HCL
0
237398
4634648
4634412
2026-05-07T13:52:36Z
Jeff1138
301139
4634648
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.
So consequently, be aware that driver support on native is now a decade behind linux, MacOS(TM) and Windows(TM). Although still being worked upon
Alternatively, an hosted OS (windows or linux) of AROS could give better results.
[[#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 10% || 3D 0% || Audio 20% || 20% || Wired 20% || 0% || Max RAM 8GB / 16GB better to go Ryzen over older AMD A series
|-
| 2018-2024 || Poor || VESA 98% || 2D 0% || 3D 0% || Audio 20% || 0% || Wired 30% || 0% || Max RAM 32GB better 64bit option with a internal dvd drive and 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}} || 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-->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-->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-->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-->Icaros 2.1.1 || <!--Comments-->2007 32bit very budget machine with InsydeH20 bios and F10 boot menu
|-
| <!--Name-->ACER Aspire 5920 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 alc888 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-->Icaros 2.1.2 and 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-->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-->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-->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-->Icaros 2.1.1, 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--> Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1 and 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-->Icaros 2.1.2, 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-->Icaros 1.4, 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-->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-->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-->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-->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-->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-->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-->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-->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-->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-->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-->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-->Slow AMD 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-->Slow AMD 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-->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-->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 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-->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 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-->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-->Slow AMD 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-->Slow AMD 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 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 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 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 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-->2017 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 - || <!--Chipset-->AMD 8th Gen 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 455 G4, Probook 455 G5, should have cmos battery || <!--Chipset-->AMD 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-->2016 64bit 15.6in 1366 x 768 - 2 ddr4 sodimm slots - keyboard swap problematic - rr03xl battery -
|-
| <!--Name-->HP ProBook 645 G6, 255 G6 (), 255 G7 (la-g078p), HP Pavilion 14-BW - no cmos battery so needs internal battery || <!--Chipset-->AMD 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-->HP Pavilion 14-BS, HP 15-BS no cmos battery but main battery || <!--Chipset-->Intel i3-6006u || <!--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--> || <!--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 main battery || <!--Chipset-->Range all dual cores - AMD A6-9225 APU, AMD A4-9125 APU, AMD PRO A6-8350B APU, AMD PRO 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--> || <!--Comments-->2017 64bit - many variants - keyboard swap problematic -
|-
| <!--Name-->Pavilion 15z bw0xxx, 15-bw024na 15-ba506na (), 15-bw060na () 15-DB0521SA (LA-G076P), HP Envy x360 () 15-ar052sa 2 in 1 (), no cmos battery but main battery || <!--Chipset-->AMD A9-9420 2c 2t, A10-9620p 4c4t 9700p 7th Gen Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->sata and an extra 2.5in sata if detachable 8pin ribbon cable present || <!--Gfx-->{{Maybe|VESA R5 GCN 3}} || <!--Audio-->{{No|HD Audio 0x1022, 0x157a with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Realtek }} || <!--Wireless-->{{No|Realtek }} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 15.6in 768p or 1080p - internal battery - 19.5V 2.31A hp plug - 1 DDR4-1866 SDRAM sodimm slot - 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 || <!--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-->AROS || <!--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, 0x0227 and 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-->Icaros 2.3 USB || <!--Comments-->2018 64bit 2kg - screen is dim 14in, 15.6in or 17.3" 768p, later 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 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-->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-->[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 || <!--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-->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-->{{No|Icaros 2.3 onto USB and AROS One 1.8 and 2.0 USB}} || <!--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 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--> || <!--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 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 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-->
|-
|}
====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}} || 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-->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 or 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-->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 or 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 or 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 - IPS options available - keyboard repair swap requires removal of all components or 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 - large touchpad with integrated but no physical buttons - bottom panel loosening 8 retained screws - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Thinkpad T450 T450s t450p T550 L550 || <!--Chipset-->Intel i5 4300U i3 5010U i5 5200U 5300U i7 5500U 5600U soldered || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA Intel HD 5500 5600 with optional nvidia 940M}} || <!--Audio-->{{No|Intel HD Audio with ALC3232 codec Realtek ALC3232 0x10ec, 0x0292}} || <!--USB-->{{maybe|3 USB 3.0}} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel Wireless AC 7265 bios locked}} || <!--Test Distro--> || <!--Comments-->2015 64bit 14" 1366 x 768, 1600 x 900 or IPS 1920x1080 - Broadwell - keyboard swap requires removal of all components and key cap versions -
|-
| <!--Name-->Thinkpad x250 x250t || <!--Chipset-->i3 5010U i5 5200U 5300U i7 5600U || <!--IDE-->{{N/A|}} || <!--SATA-->{{Maybe|2.5in 7mm or m.2 2242 sata (m and b key)}} || <!--Gfx-->{{Maybe|VESA Intel}} || <!--Audio-->{{No|HD Audio with Realtek ALC3232 codec / Intel HDMI}} || <!--USB-->{{maybe|up to 3 USB 3.0 partly boots from usb but stops waiting for usb}} || <!--Ethernet-->{{No|Intel I218 extension port}} || <!--Wireless-->{{No|Intel AC 7265 bios locked}} || <!--Test Distro-->AROS One 2.0 USB || <!--Comments-->2015 64bit - 768p, 1080p 12.5" screen - Fn and F1 for setup bios - F12 boot options - 1 ddr3l sodimm slot - keyboard repair swap requires removal of all components -
|-
| <!--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 or 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 6.3 for HDAudio 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 || <!--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 - battery internal about 30whr - 4GB soldered -
|-
|<!--Name-->Ideapad 330s-14ARR, 330s-15ARR, ideapad 330S-14IKB, 330S-15IKB, || <!--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 - battery internal about 30whr - 4GB soldered -
|-
|<!--Name-->Thinkpad Edge E485 E585 || <!--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 - internal battery only - TPM 2.0 software -
|-
|<!--Name-->Thinkpad A285 || <!--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 - internal and external battery - 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] || <!--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 - internal and external battery - 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 || <!--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-->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 - bios winbond 25q64fwsiq soic 1.8v bios near nvme -
|-
|<!--Name-->V15-ADA 82C700E4UK- elan touchpad not working || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 2pin cr2032 cmos coin battery - sd card slot - noisy fan -
|-
|<!--Name-->V15-ADA 82C7 - elan touchpad not working || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 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 || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 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 || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 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 || <!--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 - internal battery L18M3PF2 - 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-->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-->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-->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-->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-->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--> 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--> 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--> 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-->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
|-
| <!--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-->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-->
|-
| <!--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-->2011 zacate
|-
|<!--Name-->Toshiba Satellite C660D-19X || <!--Chipset-->AMD E-300 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|ATi}} || <!--Audio-->{{no|HD Audio with Realtek codec}} || <!--USB-->{{no| }} || <!--Ethernet-->{{Maybe|r8169 rtl8101e}} || <!--Wireless-->{{no|Realtek RTL8188 8192ce rtl8192ce}} || <!--Test Distro--> || <!--Comments-->
|-
| <!--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-->
|- 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-->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-->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--> || <!--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-->
|-
|}
===Netbook===
[[#top|...to the top]]
* One of the better options if re-partitioning of the hard disk is not suitable or wanted is to go with AROS hosted i.e. run a small linux distro and host AROS on top. AROS can exist on a Windows(TM) install as well. See here for more information [https://ae.amigalife.org/index.php?topic=779.0 Linux hosted] and [ Windows hosted] with downloads here [http://aros.sourceforge.net/download.php AROS download page]
* installation needs an USB optical drive or an USB pen drive (see below)
* PC with CD or DVD to install to a USB pendrive 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,
[http://www.hardwaresecrets.com/article/Audio-Codec-Comparison-Table/520 Audio Codecs]
====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|RTL8101E - rtl8169}} || {{Yes|AR5006}} atheros 5k || AspireOS 1.8 || 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|RTL8101E - rtl8169}} || {{Yes|AR5006}} atheros 5k || AspireOS 1.8 || 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}} || Icaros Desktop 1.3 || 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}} || 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}} || 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-->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-->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| }} AR5007EG (AR2425) - [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=32391&forum=28&start=20&viewmode=flat&order=0#583583 works] || NB 2013 and 2.1.1 (best) and 2.1.2 || 2007 32bit - power supplies fail due to bad caps issue psu Power Charger 9.5V 2.5A 24W Charger 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}} || 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) - [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=32391&forum=28&start=20&viewmode=flat&order=0#583583 works] but not RaLink || 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 and not all model revisions -
|-
| 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 05-25 || 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}} || Icaros 1.4 || 2009 32bit
|-
| 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}} || Aspire OS 1.6 || 2010 32bit
|-
| <!--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--> || <!--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}} || Icaros 1.3.3 || 2011 64bit
|-
| 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]}} || || 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--> || <!--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)}} || HD Audio || {{yes|USB}} || {{yes|RTL8102E 8103E}} || {{no|Dell 1397 Wireless}} || || 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--> 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-->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-->Icros 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}} || || 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}} || || 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--> || <!--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}} || || 2009 32bit - unable to change wifi
|-
| HP Mini 200 210 || 945GM NM10 Express || {{N/A}} || SATA || Intel GMA 950 || HD Audio || USB || RTL8101E RTL8102E || {{no|Broadcom BCM4312 hard locked}} || || 2009 32bit -
|-
| HP Mini 311 DM1 (Quanta FP7) || N280 + ION LE || {{N/A}} || SATA || nVidia Geforce ION || HD Audio || USB || eth || {{No|hard locked}} || || 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)}} || {{no|ALC269 or SigmaTel HD Audio}} || {{yes|USB}} || {{no|Broadcom NetLink BCM5906M}} || {{no|Broadcom BCM4312 hard blocked}} || || 2009 32bit - little support
|-
| IdeaPad S12 || N270 + Nvidia ION LE MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || ALC269 HD Audio || USB || Broadcom || Intel hard blocked || || 2009 32bit - does not boot - cause unknown
|-
| S10-2 || 945GME and N280 CPU || {{N/A}} || SATA || {{yes|Intel GMA (2D)}} || {{no|ALC269 HD Audio}} || {{yes}} || {{yes|rtl8169}} || {{no|Broadcom BCM4312 hard blocked}} || Icaros 1.3 || 2009 32bit -
|-
| S10-3 || NM410 and N450 CPU || {{N/A}} || SATA || {{yes|Intel GMA 3150 (2D)}} || {{no|HD Audio ALC269}} || {{yes|USB}} || {{yes|rtl8169}} || {{no|Atheros 9285 or Broadcom BCM4312 hard blocked}} || 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}} || 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}} || || 2009 32bit - little support
|-
| N110 N120 || 945GSE || {{N/A}} || SATA || {{yes|Intel GMA 950 (2D)}} || {{yes|ALC272 HD Audio or ALC6628}} || {{yes|USB}} || {{no|Marvell 88E8040}} || {{no|Realtek rtl8187}} || || 2009 32bit - some support - Namuga 1.3M Webcam none
|-
| 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}} || || 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--> || <!--Opinion-->2010 32bit - N280 version changed specs
|-
| N510 || N270 euro N280 uk + ION MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || HD Audio || USB || Marvell 88E8040 || Realtek 8192E || || 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}} || || 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--> || <!--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 || || 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-->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--> || <!--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--> || <!--Comments-->2011 - a little
|-
| <!--Name-->NC110 Pxx Cedarview || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Intel 6000g}} || <!--Test Distro--> || <!--Comments-->
|-
|}
====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--> || <!--Comments-->2009 32bit - some support
|-
| <!--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-->{{unk|AR9285}} || <!--Test Distro--> || <!--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-->RTL8101E RTL8102E || <!--Wireless-->{{unk|AR9285}} || <!--Test Distro--> || <!--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-->RTL8101E RTL8102E || <!--Wireless-->Realtek 8176 RTL 8188CE || <!--Test Distro--> || <!--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 || Realtek 8111e rtl8169 || Atheros 9k || || 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 || Icaros 1.2.4 ||
|-
| <!--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--> || <!--Comments-->good
|-
| 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}} || || Slowly gaining support
|-
| <!--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--> || <!--Opinion-->
|-
| 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)}} || Icaros 1.3 ||
|-
| Advent 4211 || 945GSE || {{N/A}} || {{maybe|IDE legacy mode}} || Intel GMA950 (2D) || ALC HD Audio || USB || rtl8169 || {{no|Intel 3945 ABG}} || || 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--> || <!--Comments-->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--> Icaros 2.0.3
| <!--Comments--> 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-->
| <!--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--> || <!--Comments-->
|-
| <!--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-->Icaros 2.1 || <!--Comments-->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 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, Elitedesk 705 G4 65w, HP Prodesk 405 G4 35W USFF
| <!--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|HD audio 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 12v up to 180w ac - baseboard 83e9 35W - AMD Athlon PRO 200GE (2c 4t), 2200GE (4c t) or 2400GE (4c t) on AMD B350 FCH -
|-
| <!--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-->
|-
| <!--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 (latest beta)
| <!--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-->[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,
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,
006600 Qualcomm Snapdragon 888 5G, AMD Athlon 300U (FP5 2c4t 15W), Intel i7-7600U, 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,
004400 AMD A10-8700P A8-8600P, Intel Core i5-4200U, Intel Core i5-2540M, Intel i3-6006U,
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-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,
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}}
koebwxk1qbheq4fqsctxr2pu6qzobol
4634652
4634648
2026-05-07T14:55:32Z
Jeff1138
301139
4634652
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.
So consequently, be aware that driver support on native is now a decade behind linux, MacOS(TM) and Windows(TM). Although still being worked upon
Alternatively, an hosted OS (windows or linux) of AROS could give better results.
[[#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 10% || 3D 0% || Audio 20% || 20% || Wired 20% || 0% || Max RAM 8GB / 16GB better to go Ryzen over older AMD A series
|-
| 2018-2024 || Poor || VESA 98% || 2D 0% || 3D 0% || Audio 20% || 0% || Wired 30% || 0% || Max RAM 32GB better 64bit option with a internal dvd drive and 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}} || 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-->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-->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-->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-->Icaros 2.1.1 || <!--Comments-->2007 32bit very budget machine with InsydeH20 bios and F10 boot menu
|-
| <!--Name-->ACER Aspire 5920 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 alc888 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-->Icaros 2.1.2 and 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-->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-->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-->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-->Icaros 2.1.1, 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--> Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1 and 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-->Icaros 2.1.2, 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-->Icaros 1.4, 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-->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-->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-->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-->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-->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-->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-->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-->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-->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-->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-->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-->Slow AMD 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-->Slow AMD 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-->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-->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 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-->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 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-->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-->Slow AMD 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-->Slow AMD 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 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 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 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 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-->2017 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 - || <!--Chipset-->AMD 8th Gen 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 455 G4, Probook 455 G5, should have cmos battery || <!--Chipset-->AMD 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-->2016 64bit 15.6in 1366 x 768 - 2 ddr4 sodimm slots - keyboard swap problematic - rr03xl battery -
|-
| <!--Name-->HP ProBook 645 G6, 255 G6 (), 255 G7 (la-g078p), HP Pavilion 14-BW - no cmos battery so needs internal battery || <!--Chipset-->AMD 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-->HP Pavilion 14-BS, HP 15-BS no cmos battery but main battery || <!--Chipset-->Intel i3-6006u || <!--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--> || <!--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 main battery || <!--Chipset-->Range all dual cores - AMD A6-9225 APU, AMD A4-9125 APU, AMD PRO A6-8350B APU, AMD PRO 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--> || <!--Comments-->2017 64bit - many variants - keyboard swap problematic -
|-
| <!--Name-->Pavilion 15z bw0xxx, 15-bw024na 15-ba506na (), 15-bw060na () 15-DB0521SA (LA-G076P), HP Envy x360 () 15-ar052sa 2 in 1 (), no cmos battery but main battery || <!--Chipset-->AMD A9-9420 2c 2t, A10-9620p 4c4t 9700p 7th Gen Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->sata and an extra 2.5in sata if detachable 8pin ribbon cable present || <!--Gfx-->{{Maybe|VESA R5 GCN 3}} || <!--Audio-->{{No|HD Audio 0x1022, 0x157a with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Realtek }} || <!--Wireless-->{{No|Realtek }} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 15.6in 768p or 1080p - internal battery - 19.5V 2.31A hp plug - 1 DDR4-1866 SDRAM sodimm slot - 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 || <!--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-->AROS || <!--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, 0x0227 and 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-->Icaros 2.3 USB || <!--Comments-->2018 64bit 2kg - screen is dim 14in, 15.6in or 17.3" 768p, later 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 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-->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-->[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 || <!--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-->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-->{{No|Icaros 2.3 onto USB and AROS One 1.8 and 2.0 USB}} || <!--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 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--> || <!--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 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 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-->
|-
|}
====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}} || 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-->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 or 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-->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 or 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 or 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 - IPS options available - keyboard repair swap requires removal of all components or 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 - large touchpad with integrated but no physical buttons - bottom panel loosening 8 retained screws - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Thinkpad T450 T450s t450p T550 L550 || <!--Chipset-->Intel i5 4300U i3 5010U i5 5200U 5300U i7 5500U 5600U soldered || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA Intel HD 5500 5600 with optional nvidia 940M}} || <!--Audio-->{{No|Intel HD Audio with ALC3232 codec Realtek ALC3232 0x10ec, 0x0292}} || <!--USB-->{{maybe|3 USB 3.0}} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel Wireless AC 7265 bios locked}} || <!--Test Distro--> || <!--Comments-->2015 64bit 14" 1366 x 768, 1600 x 900 or IPS 1920x1080 - Broadwell - keyboard swap requires removal of all components and key cap versions -
|-
| <!--Name-->Thinkpad x250 x250t || <!--Chipset-->i3 5010U i5 5200U 5300U i7 5600U || <!--IDE-->{{N/A|}} || <!--SATA-->{{Maybe|2.5in 7mm or m.2 2242 sata (m and b key)}} || <!--Gfx-->{{Maybe|VESA Intel}} || <!--Audio-->{{No|HD Audio with Realtek ALC3232 codec / Intel HDMI}} || <!--USB-->{{maybe|up to 3 USB 3.0 partly boots from usb but stops waiting for usb}} || <!--Ethernet-->{{No|Intel I218 extension port}} || <!--Wireless-->{{No|Intel AC 7265 bios locked}} || <!--Test Distro-->AROS One 2.0 USB || <!--Comments-->2015 64bit - 768p, 1080p 12.5" screen - Fn and F1 for setup bios - F12 boot options - 1 ddr3l sodimm slot - keyboard repair swap requires removal of all components -
|-
| <!--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 or 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 6.3 for HDAudio 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 || <!--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 - battery internal about 30whr - 4GB soldered -
|-
|<!--Name-->Ideapad 330s-14ARR, 330s-15ARR, ideapad 330S-14IKB, 330S-15IKB, || <!--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 - battery internal about 30whr - 4GB soldered -
|-
|<!--Name-->Thinkpad Edge E485 E585 || <!--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 - internal battery only - TPM 2.0 software -
|-
|<!--Name-->Thinkpad A285 || <!--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 - internal and external battery - 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] || <!--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 - internal and external battery - 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 || <!--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-->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 - bios winbond 25q64fwsiq soic 1.8v bios near nvme -
|-
|<!--Name-->V15-ADA 82C700E4UK- elan touchpad not working || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 2pin cr2032 cmos coin battery - sd card slot - noisy fan -
|-
|<!--Name-->V15-ADA 82C7 - elan touchpad not working || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 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 || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 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 || <!--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-->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 - internal battery 34whr L16M2PB2 l16l2pb3 - 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 || <!--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 - internal battery L18M3PF2 - 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-->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-->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-->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-->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-->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--> 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--> 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--> 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-->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
|-
| <!--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-->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-->
|-
| <!--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-->2011 zacate
|-
|<!--Name-->Toshiba Satellite C660D-19X || <!--Chipset-->AMD E-300 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|ATi}} || <!--Audio-->{{no|HD Audio with Realtek codec}} || <!--USB-->{{no| }} || <!--Ethernet-->{{Maybe|r8169 rtl8101e}} || <!--Wireless-->{{no|Realtek RTL8188 8192ce rtl8192ce}} || <!--Test Distro--> || <!--Comments-->
|-
| <!--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-->
|- 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-->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-->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--> || <!--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-->
|-
|}
===Netbook===
[[#top|...to the top]]
* One of the better options if re-partitioning of the hard disk is not suitable or wanted is to go with AROS hosted i.e. run a small linux distro and host AROS on top. AROS can exist on a Windows(TM) install as well. See here for more information [https://ae.amigalife.org/index.php?topic=779.0 Linux hosted] and [ Windows hosted] with downloads here [http://aros.sourceforge.net/download.php AROS download page]
* installation needs an USB optical drive or an USB pen drive (see below)
* PC with CD or DVD to install to a USB pendrive 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,
[http://www.hardwaresecrets.com/article/Audio-Codec-Comparison-Table/520 Audio Codecs]
====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|RTL8101E - rtl8169}} || {{Yes|AR5006}} atheros 5k || AspireOS 1.8 || 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|RTL8101E - rtl8169}} || {{Yes|AR5006}} atheros 5k || AspireOS 1.8 || 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}} || Icaros Desktop 1.3 || 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}} || 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}} || 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-->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-->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| }} AR5007EG (AR2425) - [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=32391&forum=28&start=20&viewmode=flat&order=0#583583 works] || NB 2013 and 2.1.1 (best) and 2.1.2 || 2007 32bit - power supplies fail due to bad caps issue psu Power Charger 9.5V 2.5A 24W Charger 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}} || 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) - [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=32391&forum=28&start=20&viewmode=flat&order=0#583583 works] but not RaLink || 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 and not all model revisions -
|-
| 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 05-25 || 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}} || Icaros 1.4 || 2009 32bit
|-
| 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}} || Aspire OS 1.6 || 2010 32bit
|-
| <!--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--> || <!--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}} || Icaros 1.3.3 || 2011 64bit
|-
| 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]}} || || 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--> || <!--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)}} || HD Audio || {{yes|USB}} || {{yes|RTL8102E 8103E}} || {{no|Dell 1397 Wireless}} || || 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--> 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-->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-->Icros 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}} || || 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}} || || 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--> || <!--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}} || || 2009 32bit - unable to change wifi
|-
| HP Mini 200 210 || 945GM NM10 Express || {{N/A}} || SATA || Intel GMA 950 || HD Audio || USB || RTL8101E RTL8102E || {{no|Broadcom BCM4312 hard locked}} || || 2009 32bit -
|-
| HP Mini 311 DM1 (Quanta FP7) || N280 + ION LE || {{N/A}} || SATA || nVidia Geforce ION || HD Audio || USB || eth || {{No|hard locked}} || || 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)}} || {{no|ALC269 or SigmaTel HD Audio}} || {{yes|USB}} || {{no|Broadcom NetLink BCM5906M}} || {{no|Broadcom BCM4312 hard blocked}} || || 2009 32bit - little support
|-
| IdeaPad S12 || N270 + Nvidia ION LE MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || ALC269 HD Audio || USB || Broadcom || Intel hard blocked || || 2009 32bit - does not boot - cause unknown
|-
| S10-2 || 945GME and N280 CPU || {{N/A}} || SATA || {{yes|Intel GMA (2D)}} || {{no|ALC269 HD Audio}} || {{yes}} || {{yes|rtl8169}} || {{no|Broadcom BCM4312 hard blocked}} || Icaros 1.3 || 2009 32bit -
|-
| S10-3 || NM410 and N450 CPU || {{N/A}} || SATA || {{yes|Intel GMA 3150 (2D)}} || {{no|HD Audio ALC269}} || {{yes|USB}} || {{yes|rtl8169}} || {{no|Atheros 9285 or Broadcom BCM4312 hard blocked}} || 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}} || 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}} || || 2009 32bit - little support
|-
| N110 N120 || 945GSE || {{N/A}} || SATA || {{yes|Intel GMA 950 (2D)}} || {{yes|ALC272 HD Audio or ALC6628}} || {{yes|USB}} || {{no|Marvell 88E8040}} || {{no|Realtek rtl8187}} || || 2009 32bit - some support - Namuga 1.3M Webcam none
|-
| 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}} || || 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--> || <!--Opinion-->2010 32bit - N280 version changed specs
|-
| N510 || N270 euro N280 uk + ION MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || HD Audio || USB || Marvell 88E8040 || Realtek 8192E || || 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}} || || 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--> || <!--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 || || 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-->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--> || <!--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--> || <!--Comments-->2011 - a little
|-
| <!--Name-->NC110 Pxx Cedarview || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Intel 6000g}} || <!--Test Distro--> || <!--Comments-->
|-
|}
====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--> || <!--Comments-->2009 32bit - some support
|-
| <!--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-->{{unk|AR9285}} || <!--Test Distro--> || <!--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-->RTL8101E RTL8102E || <!--Wireless-->{{unk|AR9285}} || <!--Test Distro--> || <!--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-->RTL8101E RTL8102E || <!--Wireless-->Realtek 8176 RTL 8188CE || <!--Test Distro--> || <!--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 || Realtek 8111e rtl8169 || Atheros 9k || || 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 || Icaros 1.2.4 ||
|-
| <!--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--> || <!--Comments-->good
|-
| 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}} || || Slowly gaining support
|-
| <!--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--> || <!--Opinion-->
|-
| 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)}} || Icaros 1.3 ||
|-
| Advent 4211 || 945GSE || {{N/A}} || {{maybe|IDE legacy mode}} || Intel GMA950 (2D) || ALC HD Audio || USB || rtl8169 || {{no|Intel 3945 ABG}} || || 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--> || <!--Comments-->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--> Icaros 2.0.3
| <!--Comments--> 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-->
| <!--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--> || <!--Comments-->
|-
| <!--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-->Icaros 2.1 || <!--Comments-->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, Elitedesk 705 G4 65w, HP Prodesk 405 G4 35W USFF
| <!--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|HD audio 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 12v up to 180w ac - baseboard 83e9 35W - AMD Athlon PRO 200GE (2c 4t), 2200GE (4c t) or 2400GE (4c t) on AMD B350 FCH -
|-
| <!--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-->
|-
| <!--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 (latest beta)
| <!--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-->[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,
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,
006600 Qualcomm Snapdragon 888 5G, AMD Athlon 300U (FP5 2c4t 15W), Intel i7-7600U, 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,
004400 AMD A10-8700P A8-8600P, Intel Core i5-4200U, Intel Core i5-2540M, Intel i3-6006U,
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-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,
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}}
l62ts2rndgp8rfdc92ek62o4lbin08p
Aros/User/Applications
0
237399
4634673
4634339
2026-05-07T17:36:46Z
Jeff1138
301139
4634673
wikitext
text/x-wiki
==Introduction==
[[#Graphical Image Editing Art]]
[[#Office Application]]
[[#Audio]]
[[#Misc Application]]
[[#Games & Emulation]]
[[#Application Guides]]
[[#top|...to the top]]
[[#top|...to the top]]
Most apps can be opened on the Workbench (aka publicscreen pubscreen) which is the default display option but can offer a custom one set to your configurations (aka custom screen mode promotion). These custom ones tend to stack so the possible use of A-M/A-N method of switching between full screens and the ability to pull down screens as well
If you are interested in creating or porting new software, see [http://en.wikibooks.org/wiki/Aros/Developer/Docs here]
{| class="wikitable sortable"
|-
!width:30%;|Internet Applications
!width:10%;|AROS(x86)
!width:10%;|Commodore-Amiga OS 3.1 (68k)
!width:10%;|Hyperion OS4(PPC)
!width:10%;|MorphOS(PPC)
|-
|<!--Sub Menu-->Web Online Browser [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/browser Odyssey 2.0], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1175&highlight=odyssey&rowstart=100 Odyssey 3.0],
|<!--Amiga OS-->[https://blog.alb42.de/programs/amifox/ amifox] with [https://github.com/alb42/wrp wrp server], IBrowse*, Voyager*, [ AWeb], [https://github.com/matjam/aweb AWeb Src], [http://aminet.net/package/comm/www/NetSurf-m68k-sources Netsurf], [],
|<!--AmigaOS4-->[ Odyssey OWB], [ Timberwolf (Firefox port 2011)], [http://amigaworld.net/modules/newbb/viewtopic.php?forum=32&topic_id=32847 OWB-mui], [http://strohmayer.org/owb/ OWB-Reaction], IBrowse*, [http://os4depot.net/index.php?function=showfile&file=network/browser/aweb.lha AWeb], Voyager, [http://www.os4depot.net/index.php?function=browse&cat=network/browser Netsurf],
|<!--MorphOS-->Wayfarer, [http://fabportnawak.free.fr/owb/ Odyssey OWB], [ Netsurf], IBrowse*, AWeb, [],
|-
|<!--Sub Menu-->YouTube Viewing and downloading videos
|<!--AROS-->Odyssey 2.0 can show Youtube webpage, [https://blog.alb42.de/amitube/ Amitube],
|[https://blog.alb42.de/amitube/ Amitube], [https://github.com/YePpHa/YouTubeCenter/releases or this one],
|[https://blog.alb42.de/amitube/ Amitube], getVideo, Tubexx, [https://github.com/walkero-gr/aiostreams aiostreams],
|[ Wayfarer], [https://blog.alb42.de/amitube/ Amitube],Odyssey (OWB), [http://morphos.lukysoft.cz/en/vypis.php?kat=5 getVideo], Tubexx
|-
|<!--Sub Menu-->E-mailing SMTP POP3 IMAP based
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/email SimpleMail], [http://sourceforge.net/projects/simplemail/files/ src], [https://github.com/jens-maus/yam YAM]
|<!--Amiga OS-->[http://sourceforge.net/projects/simplemail/files/ SimpleMail], [https://github.com/jens-maus/yam YAM]
|<!--AmigaOS4-->SimpleMail, YAM,
|<!--MorphOS--> SimpleMail, YAM
|-
|<!--Sub Menu-->IRC
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/chat WookieChat], [https://sourceforge.net/projects/wookiechat/ Wookiechat src], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat AiRcOS], Jabberwocky,
|<!--Amiga OS-->Wookiechat, AmIRC
|<!--AmigaOS4-->Wookiechat
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Wookiechat], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 AmIRC],
|-
|<!--Sub Menu-->Instant Messaging IM like [https://github.com/BlitterStudio/amidon Hollywood Mastodon client], BlueSky AT protocol, Facebook(TM), Twitter (TM) and others
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/chat jabberwocky], Bitlbee IRC Gateway
|<!--Amiga OS-->[http://amitwitter.sourceforge.net/ AmiTwitter], CLIMM, SabreMSN, jabberwocky,
|<!--AmigaOS4-->[http://amitwitter.sourceforge.net/ AmiTwitter], SabreMSN,
|<!--MorphOS-->[http://amitwitter.sourceforge.net/ AmiTwitter], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 PolyglotNG], SabreMSN,
|-
|<!--Sub Menu-->Torrents
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/p2p ArTorr],
|<!--Amiga OS-->
|<!--AmigaOS4-->CTorrent, Transmission
|<!--MorphOS-->MLDonkey, Beehive, [http://morphos.lukysoft.cz/en/vypis.php?kat=5 Transmission], CTorrent,
|-
|<!--Sub Menu-->FTP
|<!--AROS-->Plugin included with Dopus Magellan, MarranoFTP,
|<!--Amiga OS-->[http://aminet.net/package/comm/tcp/AmiFTP AmiFTP], AmiTradeCenter, ncFTP,
|<!--AmigaOS4-->
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Pftp], [http://aminet.net/package/comm/tcp/AmiFTP-1.935-OS4 AmiFTP],
|-
|<!--Sub Menu-->WYSIWYG Web Site Editor
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Internet Radio Streaming Audio [http://www.gnu.org/software/gnump3d/ gnump3d], [http://www.icecast.org/ Icecast2] Server (Broadcast) and Client (Listen), [ mpd], [http://darkice.sourceforge.net/ DarkIce], [http://www.dyne.org/software/muse/ Muse],
|<!--AROS-->Mplayer (Icecast Client only),
|<!--Amiga OS-->[https://github.com/sandlbn/TuneFinder TuneFinder C Src], [https://github.com/sandlbn/TuneFinderMUI TuneFinderMUI], [http://amigazeux.net/anr/ AmiNetRadio], [], [],
|<!--AmigaOS4-->[http://www.tunenet.co.uk/ Tunenet],
|<!--MorphOS-->Mplayer, AmiNetRadio,
|-
|<!--Sub Menu-->VoIP (Voice over IP) with SIP Client (Session Initiation Protocol) or Asterisk IAX2 Clients Softphone (skype like)
|<!--AROS-->
|<!--Amiga OS-->AmiPhone with Speak Freely,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Weather Forecast
|<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ WeatherBar], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench AWeather], []
|<!--Amiga OS-->[http://amigazeux.net/wetter/ Wetter], [https://github.com/emartisoft/AmiWeatherForecasts AmiWeatherForecasts src],
|<!--AmigaOS4-->[http://os4depot.net/?function=showfile&file=utility/workbench/flipclock.lha FlipClock],
|<!--MorphOS-->[http://amigazeux.net/wetter/ Wetter],
|-
|<!--Sub Menu-->Street Road Maps Route Planning GPS Tracking
|<!--AROS-->[https://blog.alb42.de/programs/muimapparium/ MuiMapparium] [https://build.alb42.de/ Build of MuiMapp versions],
|<!--Amiga OS-->AmiAtlas*, UKRoutePlus*, [http://blog.alb42.de/ AmOSM],
|<!--AmigaOS4-->
|<!--MorphOS-->[http://blog.alb42.de/programs/mapparium/ Mapparium],
|-
|<!--Sub Menu-->Clock and Date setting from the internet (either ntp or websites) [https://www.timeanddate.com/worldclock/ World Clock], [http://www.time.gov/ NIST], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/misc ntpsync],
|<!--Amiga OS-->ntpsync
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Newsgroups
|<!--AROS-->
|<!--Amiga OS-->[http://newscoaster.sourceforge.net/ Newscoaster], [https://github.com/jens-maus/newsrog NewsRog], [ WorldNews],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->IP-based video production workflows with High Dynamic Range (HDR), 10-bit color collaborative NDI,
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Blogging like Lemmy or kbin
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->VR face recognition for Vtubers
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->VR chatting Live 2D models with Cubism type editor
<pre>
Model data (cmo3)
Basic motions (can3)
Background image (png)
Set of files for embedding (runtime folder)
• Model data (moc3)
• Motion data (motion3.json)
• Model settings file (model3.json)
• Physics settings file (physics3.json)
• Display auxiliary file (cdi3.json)
</pre>
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->VR chatting chatters .VRML models - standardized 3D file format for VR avatars
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->V-tubers V-tubing like Vseeface with Openseeface tracker or Vpuppr (virtual puppet project) for 2d / 3d art models rigging rigged LIV
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|}
<nowiki>*</nowiki> Commercial product.
==Graphical Image Editing Art==
{| class="wikitable sortable"
|-
!width:30%;|Image Editing
!width:10%;|AROS(x86)
!width:10%;|Commodore-Amiga OS 3.1(68k)
!width:10%;|Hyperion OS4(PPC)
!width:10%;|MorphOS(PPC)
|-
|<!--Sub Menu-->Pixel Raster Artwork [https://github.com/LibreSprite/LibreSprite LibreSprite based on GPL aseprite], [https://github.com/abetusk/hsvhero hsvhero], [],
|<!--AROS-->[https://sourceforge.net/projects/zunetools/files/ZunePaint/ ZunePaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit LunaPaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit GrafX2], [ LodePaint needs OpenGL],
|<!--Amiga OS-->[http://www.amigaforever.com/classic/download.html PPaint], GrafX2, [https://github.com/grovdata/Amiga_Sources/blob/master/software.md DeluxePaint], [http://www.amiforce.de/perfectpaint/perfectpaint.php PerfectPaint], Zoetrope, Brilliance2*,
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/edit LodePaint], GrafX2,
|<!--MorphOS-->Sketch, Pixel*, GrafX2, [http://morphos.lukysoft.cz/en/vypis.php?kat=3 LunaPaint]
|-
|<!--Sub Menu-->Image viewing
|<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LookHere], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LoView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer PicShow] , [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album],
|<!--Amiga OS-->PicShow, PicView, Photoalbum,
|<!--AmigaOS4-->WarpView, PicShow, flPhoto, Thumbs, [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album],
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album]
|-
|<!--Sub Menu-->Photography retouching / Image Manipulation like Photoshop(tm)
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOEffects], [https://sourceforge.net/projects/zunetools/files/ ZunePaint], [http://sourceforge.net/projects/zunetools/files/ ZuneView],
|<!--Amiga OS-->[ Tecsoft Video Paint aka TVPaint], Photogenics*, ArtEffect*, ImageFX*, XiPaint, fxPaint, ImageMasterRT, Opalpaint,
|<!--AmigaOS4-->WarpView, flPhoto, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit Photocrop]
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], ImageFX*,
|-
|<!--Sub Menu-->Manage RAW picture folder galleries like Darktable, RAWtherapy, etc
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Graphic Format Converter - ICC profile support sRGB, Adobe RGB, XYZ and linear RGB
|<!--AROS-->
|<!--Amiga OS-->GraphicsConverter, ImageStudio, [http://www.coplabs.org/artpro.html ArtPro]
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Thumbnail Generator [],
|<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=utility/shell Thumbnail Generator]
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Icon Editor
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/iconedit Archives], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench Icon Toolbox],
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/iconedit IconEditor]
|<!--MorphOS-->
|-
|<!--Sub Menu-->2D Pixel Art Animation
|<!--AROS-->Lunapaint
|<!--Amiga OS-->PPaint, AnimatED, Scala*, GoldDisk MovieSetter*, Walt Disney's Animation Studio*, ProDAD*, [https://github.com/historicalsource/DeluxePaint DeluxePaint src], Brilliance
|<!--AmigaOS4-->
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 Titler]
|-
|<!--Sub Menu-->2D SVG based MovieSetter type
|<!--AROS-->
|<!--Amiga OS-->MovieSetter*, Fantavision*
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Morphing
|<!--AROS-->[ GLMorph]
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->2D Cad (qcad->LibreCAD, etc.)
|<!--AROS-->
|<!--Amiga OS-->Xcad, MaxonCAD
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->3D Cad like FreeCad, BRL-CAD, OpenSCAD, AvoCADo, etc. using dxf, obj (vertices), blend,
|<!--AROS-->
|<!--Amiga OS-->XCad3d*, DynaCADD*, Cycas,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->3D Model Rendering of glft (json) gbl (png jpg), usdz (USD files with materials, textures, and animations), FBX Filmbox is a proprietary Autodesk format,
|<!--AROS-->POV-Ray
|<!--Amiga OS-->[http://www.discreetfx.com./amigaproducts.html CINEMA 4D]*, POV-Ray, Lightwave3D*, Real3D*, Caligari24*, Reflections/Monzoom*, [https://github.com/privatosan/RayStorm Raystorm src], Tornado 3D
|<!--AmigaOS4-->Blender, POV-Ray, Yafray
|<!--MorphOS-->Blender, POV-Ray, Yafray
|-
|<!--Sub Menu-->3D Format Converter [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=showfile&file=graphics/convert/ivcon.lha IVCon]
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Screen grabbing display
|<!--AROS-->[ Screengrabber], [http://archives.arosworld.org/index.php?function=browse&cat=utility/misc snapit], [http://archives.arosworld.org/index.php?function=browse&cat=video/record screen recorder], []
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Grab graphics music from apps [https://github.com/Malvineous/ripper6 ripper6], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|}
<nowiki>*</nowiki> Commercial product.
[[#top|...to the top]]
==Office Application==
{| class="wikitable sortable"
|-
!width:30%;|Office
!width:10%;|AROS (x86)
!width:10%;|[http://en.wikipedia.org/wiki/Amiga_software Commodore-Amiga OS 3.1] (68k)
!width:10%;|[http://en.wikipedia.org/wiki/AmigaOS_4 Hyperion OS4] (PPC)
!width:10%;|[http://en.wikipedia.org/wiki/MorphOS MorphOS] (PPC)
|-
|<!--Sub Menu-->Word-processing
|<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=office/wordprocessing Cinnamon Writer], [https://finalwriter.godaddysites.com/ Final Writer 7*], [https://github.com/sodero/MUI-Vim/releases MUI-Vim], [ ],
|<!--AmigaOS-->[ Softwood FinalCopy II*], Haage AmigaWriter*, Digita WordWorth*, Softwood FinalWriter*, Micro-Systems Excellence 3*, Arnor Protext, Rashumon, [ InterWord], [ KindWords], [WordPerfect], [ New Horizons Flow], [ CygnusEd Pro], [ Micro-systems Scribble],
|<!--AmigaOS4-->AbiWord, [ CinnamonWriter]
|<!--MorphOS-->[ Cinnamon Writer], [http://www.meta-morphos.org/viewtopic.php?topic=1246&forum=53 scriba], [http://morphos.lukysoft.cz/en/index.php Papyrus Office],
|-
|<!--Sub Menu-->Spreadsheets
|<!--AROS-->[https://blog.alb42.de/programs/leu/ Leu], [https://archives.arosworld.org/index.php?function=browse&cat=office/spreadsheet],
|<!--AmigaOS-->[https://aminet.net/package/biz/spread/ignition-src Ignition Src 1.3], [MaxiPlan 500 Plus], [OXXI Plan/IT v2.0 Speadsheet], [ Superplan], [ Creative Developments TurboCalc], [ ProCalc], [ InterSpread], [Digita DGCalc], [ Gold Disk Advantage], [ Micro-systems Analyze!]
|<!--AmigaOS4-->Gnumeric, [https://ignition-amiga.sourceforge.net/ Ignition],
|<!--MorphOS-->[ ignition], [http://morphos.lukysoft.cz/en/vypis.php Papyrus Office],
|-
|<!--Sub Menu-->Presentations
|<!--AROS-->[http://www.hollywoood-mal.com/ Hollywood]*,
|<!--Amiga OS-->[http://www.hollywoood-mal.com/ Hollywood]*, MediaPoint, PointRider, Scala*,
|<!--Amiga OS4-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider
|<!--MorphOS-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider
|-
|<!--Sub Menu-->Databases
|<!--AROS-->[http://sdb.freeforums.org/ SDB], [http://archives.arosworld.org/index.php?function=browse&cat=office/database BeeBase],
|<!--Amiga OS-->Precision Superbase 4 Pro*, Arnor Prodata*, BeeBase, Datastore, FinalData*, AmigaBase, Fiasco, Twist2*, [Digita DGBase], [],
|<!--AmigaOS4-->BeeBase, SQLite,
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=6 BeeBase],
|-
|<!--Sub Menu-->PDF Viewing and editing digital signatures
|<!--AROS-->[http://sourceforge.net/projects/arospdf/ ArosPDF via splash], [https://github.com/wattoc/AROS-vpdf vpdf wip],
|<!--Amiga OS-->APDF
|<!--AmigaOS4-->AmiPDF
|<!--MorphOS-->APDF, vPDF,
|-
|<!--Sub Menu-->Printing
|<!--AROS-->Postscript 3 laser printers and Ghostscript internal, [ GutenPrint],
|<!--Amiga OS-->[http://www.irseesoft.de/tp_what.htm TurboPrint]*
|<!--AmigaOS4-->(some native drivers),
|<!--MorphOS-->early TurboPrint included,
|-
|<!--Sub Menu-->Note Taking Rich Text support like joplin, OneNote, EverNote Notes, xournalpp, etc
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->PIM Personal Information Manager - Day Diary Planner Calendar App
|<!--AROS-->[ ], [ ], [ ],
|<!--Amiga OS-->Digita Organiser*, On The Ball, Everyday Organiser, [ Contact Manager],
|<!--AmigaOS4-->AOrganiser,
|<!--MorphOS-->[http://polymere.free.fr/orga_en.html PolyOrga],
|-
|<!--Sub Menu-->Accounting
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=office/misc ETB], LoanCalc, [ ], [ ], [ ],
|[ Digita Home Accounts2], Accountant, Small Business Accounts, Account Master, [ Amigabok],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Project Management
|<!--AROS-->
|<!--Amiga OS-->SuperGantt, SuperPlan,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->System Wide Dictionary - multilingual [http://sourceforge.net/projects/babiloo/ Babiloo], [http://code.google.com/p/stardict-3/ StarDict],
|<!--AROS-->[ ],
|<!--AmigaOS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->System wide Thesaurus - multi lingual
|<!--AROS-->[ ],
|Kuma K-Roget*,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Sticky Desktop Notes (post it type)
|<!--AROS-->[http://aminet.net/package/util/wb/amimemos.i386-aros AmiMemos], [https://aminet.net/package/util/wb/amimemos.src-aros AmiMemos Src], [],
|<!--Amiga OS-->[http://aminet.net/package/util/wb/StickIt-2.00 StickIt v2],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->DTP Desktop Publishing
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOPublisher],
|<!--Amiga OS-->[http://pagestream.org/ Pagestream]*, Professional Pro Page*, Saxon Publisher, Pagesetter, PenPal,
|<!--AmigaOS4-->[http://pagestream.org/ Pagestream]*
|<!--MorphOS-->[http://pagestream.org/ Pagestream]*
|-
|<!--Sub Menu-->Scanning
|<!--AROS-->[ SCANdal], [],
|<!--Amiga OS-->FxScan*, ScanQuix*
|<!--AmigaOS4-->SCANdal (Sane)
|<!--MorphOS-->SCANdal
|-
|<!--Sub Menu-->OCR
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/convert gOCR]
|<!--AmigaOS-->
|<!--AmigaOS4-->
|<!--MorphOS-->[http://morphos-files.net/categories/office/text Tesseract]
|-
|<!--Sub Menu-->Text Editing
|<!--AROS-->Jano Editor (already installed as Editor), [http://archives.arosworld.org/index.php?function=browse&cat=development/edit EdiSyn], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit Annotate], [https://archives.arosworld.org/index.php?function=browse&cat=development/edit Vim], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd] [https://github.com/vidarh/FrexxEd src], [ NoWinEd],
|<!--Amiga OS-->Annotate, MicroGoldED/CubicIDE*, CygnusED*, Turbotext, Protext*, NoWinED,
|<!--AmigaOS4-->Notepad, Annotate, CygnusED*, NoWinED,
|<!--MorphOS-->MorphOS ED, NoWinED, GoldED/CubicIDE*, CygnusED*, Annotate,
|-
|<!--Sub Menu-->Office Fonts [http://sourceforge.net/projects/fontforge/files/fontforge-source/ Font Designer]
|<!--AROS-->[ ], [ ],
|<!--Amiga OS-->TypeSmith*, SaxonScript (GetFont Adobe Type 1),
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Drawing Vector
|<!--AROS-->[http://sourceforge.net/projects/amifig/ ZuneFIG previously AmiFIG]
|<!--Amiga OS-->Drawstudio*, ProVector*, ArtExpression*, Professional Draw*, AmiFIG, MetaView, [https://gitlab.com/amigasourcecodepreservation/designworks Design Works Src], [],
|<!--AmigaOS4-->MindSpace, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit amifig],
|<!--MorphOS-->SteamDraw, [http://aminet.net/package/gfx/edit/amifig amiFIG],
|-
|<!--Sub Menu-->video conferencing (jitsi)
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->source code hosting
|<!--AROS-->Gitlab,
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Remote Desktop (server)
|<!--AROS-->[http://sourceforge.net/projects/zunetools/files/VNC_Server ArosVNCServer],
|<!--Amiga OS-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC], [http://dspach.free.fr/amiga/avnc/index.html AVNC]
|<!--AmigaOS4-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC]
|MorphVNC, vncserver
|-
|<!--Sub Menu-->Remote Desktop (client)
|<!--AROS-->[https://sourceforge.net/projects/zunetools/files/VNC_Client/ ArosVNC], [http://archives.arosworld.org/index.php?function=browse&cat=network/misc rdesktop],
|<!--Amiga OS-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://dspach.free.fr/amiga/vva/index.html VVA], [http://www.hd-zone.com/ RDesktop]
|<!--AmigaOS4-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop]
|[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop]
|-
|<!--Sub Menu-->notifications
|<!--AROS-->
|<!--Amiga OS-->Ranchero
|<!--AmigaOS4-->Ringhio
|<!--MorphOS-->MagicBeacon
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|}
<nowiki>*</nowiki> Commercial product.
[[#top|...to the top]]
==Audio==
{| class="wikitable sortable"
|-
!width:30%;|Audio
!width:10%;|AROS(x86)
!width:10%;|Commodore-Amiga OS 3.1(68k)
!width:10%;|Hyperion OS4(PPC)
!width:10%;|MorphOS(PPC)
|-
|<!--Sub Menu-->Playing playback Audio like MP3, [https://github.com/chrg127/gmplayer NSF], [https://github.com/kode54/lazyusf miniusf .usflib], [], etc
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer], [ HarmonyPlayer hp], [http://www.a500.org/downloads/audio/index.xhtml playcdda] CDs, [ WildMidi Player], [https://bszili.morphos.me/ UADE mod player], [], [RNOTunes ], [ mp3Player], [],
|<!--Amiga OS-->AmiNetRadio, AmigaAmp, playOGG,
|<!--AmigaOS4-->TuneNet, SimplePlay, AmigaAmp, TKPlayer
|AmiNetRadio, Mplayer, Kaya, AmigaAmp
|-
|<!--Sub Menu-->Editing Audio
|<!--AROS-->[ Audio Evolution 4]
|<!--Amiga OS-->[ Samplitude Opus Key], [https://sourceforge.net/projects/hd-rec/ HD-Rec Src], [http://www.sonicpulse.de/eng/news.html SoundFX],
|<!--AmigaOS4-->[https://sourceforge.net/projects/hd-rec/ HD-Rec], AmiSoundED, [http://os4depot.net/?function=showfile&file=audio/record/audioevolution4.lha Audio Evolution 4]
|[http://www.hd-rec.de/HD-Rec/index.php?site=home HD-Rec],
|-
|<!--Sub Menu-->Editing Tracker Music
|<!--AROS-->[https://github.com/hitchhikr/protrekkr Protrekkr], [ Schism Tracker], [http://archives.arosworld.org/index.php?function=browse&cat=audio/tracker MilkyTracker], [http://www.hivelytracker.com/ HivelyTracker], [ Radium in AROS already], [http://www.a500.org/downloads/development/index.xhtml libMikMod],
|<!--Amiga OS-->MilkyTracker, HivelyTracker, DigiBooster, Octamed SoundStudio,
|<!--AmigaOS4-->MilkyTracker, HivelyTracker, GoatTracker
|MilkyTracker, GoatTracker, DigiBooster,
|-
|<!--Sub Menu-->Editing Music [], [https://github.com/kmatheussen/camd CAMD] and/or staves and notes manuscript
|<!--AROS-->[http://bnp.hansfaust.de/ Bars and Pipes for AROS], [ Audio Evolution], [],
|<!--Amiga OS-->[http://bnp.hansfaust.de/ Bars'n'Pipes], MusicX* David "Talin" Joiner & Craig Weeks (for Notator-X), Deluxe Music Construction 2*, [https://github.com/timoinutilis/midi-sequencer-amigaos Horny c Src], HD-Rec, [https://aminet.net/package/mus/midi/dominatorV1_51 Dominator],
|<!--AmigaOS4-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Rockbeat, [http://bnp.hansfaust.de/download.html Bars'n'Pipes], [http://os4depot.net/index.php?function=browse&cat=audio/edit Horny], Audio Evolution 4,
|<!--MorphOS-->Bars'n'Pipes,
|-
|<!--Sub Menu-->Sound Sampling
|<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/record Audio Evolution 4], [http://www.imica.net/SitePortalPage.aspx?siteid=1&did=162 Quick Record], [https://archives.arosworld.org/index.php?function=browse&cat=audio/misc SOX to get AIFF 16bit files], [https://github.com/aros-development-team/AROS/tree/master/workbench/tools/AHIRecord AHIRecord],
|<!--Amiga OS-->[https://aminet.net/package/mus/edit/AudioEvolution3_src Audio Evolution 3 c src], [ Samplitude-MS Opus Key], Audiomaster IV*,
|<!--AmigaOS4-->[https://github.com/timoinutilis/phonolith-amigaos phonolith c src], HD-Rec, Audio Evolution 4,
|<!--MorphOS-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Audio Evolution 4,
|-
|<!--Sub Menu-->Live Looping or Audio Misc - Groovebox like
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->CD/DVD burn
|[https://code.google.com/p/amiga-fryingpan/ FryingPan],
|<!--Amiga OS-->FryingPan, [http://www.estamos.de/makecd/#CurrentVersion MakeCD],
|<!--AmigaOS4-->FryingPan, AmiDVD,
|[http://www.amiga.org/forums/printthread.php?t=58736 FryingPan], Jalopeano,
|-
|<!--Sub Menu-->CD/DVD audio rip
|Lame, [http://www.imica.net/SitePortalPage.aspx?siteid=1&cfid=0&did=167 Quick CDrip],
|<!--Amiga OS-->Lame,
|<!--AmigaOS4-->Lame,
|Lame,
|-
|<!--Sub Menu-->MP3 v1 and v2 Tagger
|<!--AROS-->id3ren (v1), [http://archives.arosworld.org/index.php?function=browse&cat=audio/edit mp3info],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|
|-
|<!--Sub Menu-->Audio Convert
|<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc Sox], [],
|<!--Amiga OS-->[http://aminet.net/package/mus/misc/SoundBox SoundBox], [http://aminet.net/package/mus/misc/SoundBoxKey SoundBox Key], [http://aminet.net/package/mus/edit/SampleE SampleE], sox
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->DJ mixing jamming
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Radio Automation Software [http://www.rivendellaudio.org/ Rivendell], [http://code.campware.org/projects/livesupport/report/3 Campware LiveSupport], [http://www.sourcefabric.org/en/airtime/ SourceFabric AirTime], [http://www.ohloh.net/p/mediabox404 MediaBox404],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Speakers Audio Sonos Mains AC networked wired controlled
*2005 ZP100 with ZP80
*2008 Zoneplayer ZP120 (multi-room wireless amp) ZP90 receiver only with CR100 controller,
*2009 ZonePlayer S5,
*2010 BR100 wireless Bridge (no support),
*2011 Play:3
*2013 Bridge (no support), Play:1,
*2016 Arc, Play:1,
*Beam (Gen 2), Playbar, Ray, Era 100, Era 300, Roam, Move 2,
*Sub (Gen 3), Sub Mini, Five, Amp S2
|<!--AROS-->SonosController
|<!--Amiga OS-->SonosController
|<!--AmigaOS4-->SonosController
|<!--MorphOS-->SonosController
|-
|<!--Sub Menu-->Smart Speakers
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|}
<nowiki>*</nowiki> Commercial product.
[[#top|...to the top]]
==Video Creativity and Production==
{| class="wikitable sortable"
|-
!width:30%;|Video
!width:10%;|AROS(x86)
!width:10%;|Commodore-Amiga OS 3.1(68k)
!width:10%;|Hyperion OS4(PPC)
!width:10%;|MorphOS(PPC)
|-
|<!--Sub Menu-->Playing Video
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer VAMP], [http://www.a500.org/downloads/video/index.xhtml CDXL player], [http://www.a500.org/downloads/video/index.xhtml IffAnimPlay], [],
|<!--Amiga OS-->Frogger*, AMP2, MPlayer, RiVA*, MooViD*,
|<!--AmigaOS4-->DvPlayer, MPlayer
|<!--MorphOS-->MPlayer, Frogger, AMP2, VLC
|-
|<!--Sub Menu-->Streaming Video and game streaming like OBS studio, Parsec, etc
|<!--AROS-->Mplayer,
|<!--Amiga OS-->
|<!--AmigaOS4-->Mplayer, Gnash, Tubexx
|<!--MorphOS-->Mplayer, OWB, Tubexx
|-
|<!--Sub Menu-->Playing DVD
|<!--AROS-->[http://a-mc.biz/ AMC]*, Mplayer
|<!--Amiga OS-->AMP2, Frogger
|<!--AmigaOS4-->[http://a-mc.biz/ AMC]*, DvPlayer*, AMP2,
|<!--MorphOS-->Mplayer
|-
|<!--Sub Menu-->Screen Recording
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/record Screenrecorder], [ ], [ ], [ ], [ ],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->Screenrecorder,
|-
|<!--Sub Menu-->Create and Edit Individual Video NLE
|<!--AROS-->[ Mencoder], [ Quick Videos], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit AVIbuild], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/misc FrameBuild], FFMPEG,
|<!--Amiga OS-->[ MainConcept Mainactor Broadcast*], [http://en.wikipedia.org/wiki/Video_Toaster Video Toaster*], MacroSystem MovieShop 4.3*, proDAD Adorage*, [ IOSpirit VHI studio]*, [Gold Disk ShowMaker], [],
|<!--AmigaOS4-->FFMpeg/GUI
|<!--MorphOS-->Blender, Mencoder, FFmpeg
|-
|<!--Sub Menu-->Subtitle editor
|<!--AROS-->[https://aminet.net/package/text/edit/Slarti_Arosx86ABIv0 Slarti_Arosx86ABIv0], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|}
<nowiki>*</nowiki> Commercial product.
[[#top|...to the top]]
==Misc Application==
{| class="wikitable sortable"
|-
!width:30%;|Misc Application
!width:10%;|AROS(x86)
!width:10%;|Commodore-Amiga OS 3.1 (68k)
!width:10%;|Hyperion OS4(PPC)
!width:10%;|MorphOS(PPC)
|-
|<!--Sub Menu-->File Management
|<!--AROS-->DOpus4, [https://github.com/BlitterStudio/dopus5 DOpus Magellan aka DOpus 5], [ Scalos], [ ],
|<!--Amiga OS-->DOpus2, DOpus 4, [http://sourceforge.net/projects/dopus5allamigas/files/?source=navbar DOpus Magellan DOpus5], ClassAction, FileMaster, [http://www.amiga.org/forums/showthread.php?t=4897 DirWork 2]*, [https://github.com/RudolphRiedel/DiskMaster2 DiskMaster2 src],
|<!--AmigaOS4-->DOpus4, DOpus5, Filer, AmiDisk
|<!--MorphOS-->DOpus4, DOpus5
|-
|<!--Sub Menu-->File Verification / Repair
|<!--AROS-->md5 (works in linux compiling shell), [http://archives.arosworld.org/index.php?function=browse&cat=utility/filetool workpar2] (PAR2), [http://zakalwe.fi/~shd/foss/cksfv/files/ compile cksfv from website],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->Par2,
|-
|App Installer
|<!--AROS-->[], [ InstallerNG],
|<!--Amiga OS-->InstallerNG, Grunch,
|<!--AmigaOS4-->Jack
|<!--MorphOS-->Jack
|-
|<!--Sub Menu-->Compression archiver [https://github.com/FS-make-simple/paq9a paq9a], [],
|<!--AROS-->XAD system is a toolkit designed for handling various file and disk archiver
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->C/C++ IDE
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd], [https://github.com/vidarh/FrexxEd FrexxEd src], Annotate, Murks,
|<!--Amiga OS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Annotate,
|<!--AmigaOS4-->CodeBench , [https://gitlab.com/boemann/codecraft CodeCraft],
|<!--MorphOS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Anontate,
|-
|<!--Sub Menu-->Gui Creators
|<!--AROS-->[ MuiBuilder],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->[ MuiBuilder],
|-
|<!--Sub Menu-->Catalog .cd .ct Editors
|<!--AROS-->FlexCat
|<!--Amiga OS-->[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat
|<!--AmigaOS4-->[http://aminet.net/package/dev/misc/simplecat SimpleCat], FlexCat
|[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat
|-
|<!--Sub Menu-->Binary Hexadecimal Editor
|<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/edit Zaphod], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Repository
|<!--AROS-->[ Git]
|<!--Amiga OS-->
|<!--AmigaOS4-->Git
|<!--MorphOS-->
|-
|<!--Sub Menu-->Filesystem Backup
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Filesystem Repair
|<!--AROS-->ArSFSDoctor,
|<!--Amiga OS--> Quarterback Tools, [ ], [ ], [ ],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Multiple File renaming
|<!--AROS-->DOpus 4 or 5,
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Anti Virus
|<!--AROS-->
|<!--Amiga OS-->VChecker,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Random Wallpaper Desktop changer [ DOpus5], [ Scalos],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Alarm Clock, Timer, Stopwatch, Countdown
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench DClock], [http://aminet.net/util/time/AlarmClockAROS.lha AlarmClock], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Digital Signage
|<!--AROS-->Hollywood, Hollywood Designer
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Fortune Cookie Quotes Sayings
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/misc AFortune],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Languages
|<!--AROS-->
|<!--Amiga OS-->Fun School,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Mathematics ([http://www-fourier.ujf-grenoble.fr/~parisse/install_en.html Xcas], etc.),
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/scientific mathX]
|<!--Amiga OS-->Maple V, mathX, Fun School, GCSE Maths, [ ], [ ], [ ],
|<!--AmigaOS4-->Yacas
|<!--MorphOS-->Yacas
|-
|}
<nowiki>*</nowiki> Commercial product.
==Misc Application 2==
{| class="wikitable sortable"
|-
!width:30%;|Misc Application
!width:10%;|AROS(x86)
!width:10%;|Commodore-Amiga OS 3.1(68k)
!width:10%;|Hyperion OS4(PPC)
!width:10%;|MorphOS(PPC)
|-
|<!--Sub Menu-->BASIC
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/language Basic4SDL], [ Ace Basic], [ X-AMOS], [SDLBasic], [ Alvyn],
|<!--Amiga OS-->[http://www.amiforce.de/main.php Amiblitz 3], [http://amos.condor.serverpro3.com/AmosProManual/contents/c1.html Amos Pro], [http://aminet.net/package/dev/basic/ace24dist ACE Basic],
|<!--AmigaOS4-->
|<!--MorphOS-->sdlBasic
|-
|<!--Sub Menu-->OSK On Screen Keyboard
|<!--AROS-->[],
|<!--Amiga OS-->[https://aminet.net/util/wb/OSK.lha OSK]
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Screen Magnifier Magnifying Glass Magnification
|<!--AROS-->[http://www.onyxsoft.se/files/zoomit.lha ZoomIT],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Comic Book CBR CBZ format reader viewer
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comics], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comicon], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Ebook Reader
|<!--AROS-->[https://blog.alb42.de/programs/#legadon Legadon EPUB],[]
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Ebook Converter
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Text to Speech tts [https://github.com/JonathanFly/bark-installer Bark], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=audio/misc flite],
|<!--Amiga OS-->[http://www.text2speech.com translator],
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=search&tool=simple FLite]
|<!--MorphOS-->[http://se.aminet.net/pub/aminet/mus/misc/ FLite]
|-
|<!--Sub Menu-->Speech Voice Recognition Dictation - [http://sourceforge.net/projects/cmusphinx/files/ CMU Sphinx], [http://julius.sourceforge.jp/en_index.php?q=en/index.html Julius], [http://www.isip.piconepress.com/projects/speech/index.html ISIP],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Speech Voice Changer [], [], [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Fractals
|<!--AROS-->
|<!--Amiga OS-->ZoneXplorer,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Landscape Rendering
|<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/raytrace WCS World Construction Set],
|<!--Amiga OS-->[ Vista Pro], [http://en.wikipedia.org/wiki/World_Construction_Set World Construction Set]
|<!--AmigaOS4-->[ WCS World Construction Set],
|<!--MorphOS-->[ WCS World Construction Set],
|-
|<!--Sub Menu-->Astronomy
|<!--AROS-->[ Digital Almanac (ABIv0 only)],
|<!--Amiga OS-->[http://aminet.net/search?query=planetarium Aminet search], [http://aminet.net/misc/sci/DA3V56ISO.zip Digital Almanac], [https://aminet.net/package/misc/sci/da3sourceV58 Src c V58], [ Galileo renamed to Distant Suns]*, [http://www.syz.com/DU/ Digital Universe]*,
|<!--AmigaOS4-->[http://sourceforge.net/projects/digital-almanac/ Digital Almanac], Distant Suns*, [http://www.digitaluniverse.org.uk/ Digital Universe]*,
|<!--MorphOS-->[http://www.aminet.net/misc/sci/da3.lha Digital Almanac], [http://www.aminet.net/package/misc/sci/da3-mos-src Src c V56],
|-
|<!--Sub Menu-->PCB design
|<!--AROS-->
|<!--Amiga OS-->[ ], [ ], [ ],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Genealogy History Family Tree Ancestry Records (FreeBMD, FreeREG, and FreeCEN file formats or GEDCOM GenTree)
|<!--AROS-->
|<!--Amiga OS--> [ Origins], [ Your Family Tree], [ ], [ ], [ ],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Screen Display Blanker screensaver
|<!--AROS-->Blanker Commodity (built in), [https://archives.arosworld.org/index.php?function=browse&cat=graphics/screenblanker GarshneBlanker], [http://sourceforge.net/projects/gblanker/ GBlanker Src], [],
|<!--Amiga OS-->MultiCX,
|<!--AmigaOS4-->
|<!--MorphOS-->ModernArt Blanker,
|-
|<!--Sub Menu-->Maths Graph Function Plotting
|<!--AROS-->[https://blog.alb42.de/programs/#MUIPlot MUIPlot],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->App Utility Launcher Dock toolbar
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/docky BoingBar], [],
|<!--Amiga OS-->[https://github.com/adkennan/DockBot Dockbot],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Classroom Aids
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Assessments
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Reference
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Training
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Courseware
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Skills Builder
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->System
|<!--AROS-->[ SysExplorer], [ SysMon], [ Scout], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|}
<nowiki>*</nowiki> Commercial product.
==Games & Emulation==
Some emulators/games require OpenGL to function and to adjust ahi prefs channels, frequency and unit0 and unit1 and
[http://aros.sourceforge.net/documentation/users/shell/changetaskpri.php changetaskpri -1]
Rom patching https://www.marcrobledo.com/RomPatcher.js/ https://www.romhacking.net/patch/ (ips, ups, bps, etc) and this other site supports the latter formats https://hack64.net/tools/patcher.php
Free public domain roms for use with emulators can be found [http://www.pdroms.de/ here] as most of the rest are covered by copyright rules. If you like to read about old games see [http://retrogamingtimes.com/ here] and [http://www.armchairarcade.com/neo/ here] and a [http://www.vintagecomputing.com/ blog] about old computers. Possibly some of the [http://www.answers.com/topic/list-of-best-selling-computer-and-video-games best selling] of all time. [http://en.wikipedia.org/wiki/List_of_computer_system_emulators Wiki] with emulated systems list.
[https://archive.gamehistory.org/ Archive of VGHF], [https://library.gamehistory.org/ Video Game History Foundation Library search]
{| class="wikitable sortable"
|-
!width:10%;|Games [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Emulation]
!width:10%;|AROS(x86)
!width:10%;|AmigaOS3(68k)
!width:10%;|AmigaOS4(PPC)
!width:10%;|MorphOS(PPC)
|-
|<!--Sub Menu-->Games Emulation Amstrad CPC
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [ Caprice32 (OpenGL & pure SDL)], [ Arnold], [https://retroshowcase.gr/cpcbox-master/],
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer]
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2],
|-
|<!--Sub Menu-->Games Emulation Apple2 and 2GS
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Arcade
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Mame], [ SI Emu (ABIv0 only)],
|<!--Amiga OS-->Mame,
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem xmame], amiarcadia,
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 Mame],
|-
|<!--Sub Menu-->Games Emulation Atari 2600 [], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Stella],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Atari 5200 [https://github.com/wavemotion-dave/A5200DS A5200DS], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Atari 7800
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Atari 400 800 130XL [https://github.com/wavemotion-dave/A8DS A8DS], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Atari800],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Atari Lynx
|<!--AROS-->[http://myfreefilehosting.com/f/6366e11bdf_1.93MB Handy (ABIv0 only)],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Atari Jaguar
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Bandai Wonderswan
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation BBC Micro and Acorn Electron [http://beehttps://bem-unix.bbcmicro.com/download.html BeebEm], [http://b-em.bbcmicro.com/ B-Em], [http://elkulator.acornelectron.co.uk/ Elkulator], [http://electrem.emuunlim.com/ ElectrEm],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Dragon 32 and Tandy CoCo [http://www.6809.org.uk/xroar/ xroar], [],
|<!--AROS-->[], [], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Commodore C16 Plus4
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Commodore C64
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Vice (ABIv0 only)], [],
|<!--Amiga OS-->Frodo,
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem viceplus],
|<!--MorphOS-->Vice,
|-
|<!--Sub Menu-->Games Emulation Commodore Amiga
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Janus UAE], Emumiga,
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer UAE],
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 UAE],
|-
|<!--Sub Menu-->Games Emulation Japanese MSX MSX2
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Mattel Intelivision
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Mattel Colecovision and Adam
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Milton Bradley (MB) Vectrex [ Vectrex OpenGL],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation PICO8 Pico-8 fantasy video game console [https://github.com/egordorichev/pemsa-sdl/ pemsa-sdl], [https://github.com/jtothebell/fake-08 fake-08], [https://github.com/Epicpkmn11/fake-08/tree/wip fake-08 fork],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Nintendo Gameboy
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem vba no sound], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem vba]
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Nintendo NES
|<!--AROS-->[ EmiNES], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Fceu], [https://github.com/takahirox/nes-js?tab=readme-ov-file nes-js], [https://github.com/bfirsh/jsnes jsnes], [https://github.com/angelo-wf/NesJs NesJs],
|<!--Amiga OS-->AmiNES, [http://www.dridus.com/~nyef/darcnes/ darcNES],
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem amines]
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Nintendo SNES
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Zsnes],
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem warpsnes]
|<!--MorphOS-->[http://fabportnawak.free.fr/snes/ Snes9x],
|-
|<!--Sub Menu-->Games Emulation Nintendo N64
*HLE and plugins [ mupen64], [https://github.com/ares-emulator/ares ares], [https://github.com/N64Recomp/N64Recomp N64Recomp], [https://github.com/rt64/rt64 rt64], [https://github.com/simple64/simple64 Simple64],
*LLE [],
|<!--AROS-->[http://code.google.com/p/mupen64plus/ Mupen64+],
|<!--Amiga OS-->[http://code.google.com/p/mupen64plus/ Mupen64+], [http://aminet.net/package/misc/emu/tr-981125_src TR64],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->[ Nintendo Gamecube Wii]
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->[ Nintendo Wii U]
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->[https://github.com/yuzu-emu Nintendo Switch]
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation NEC PC Engine
|<!--AROS-->[], [], [https://github.com/yhzmr442/jspce js-pce],
|[http://www.hugo.fr.fm/ Hugo], [http://mednafen.sourceforge.net/ Mednafen],
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem tgemu]
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sega Master System (SMS)
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Dega], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem sms],
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem osmose]
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sega Genesis/Megadrive
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem gp no sound], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem DGen],
|<!--Amiga OS-->[http://code.google.com/p/genplus-gx/ Genplus],
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem genesisplus]
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sega Saturn
*HLE [https://mednafen.github.io/ mednafen], [http://yabause.org/ yabause], [],
*LLE [], [],
|<!--AROS-->?
|<!--Amiga OS-->[http://yabause.org/ Yabause],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sega Dreamcast
*HLE [https://github.com/flyinghead/flycast flycast], [https://code.google.com/archive/p/nulldc/downloads NullDC],
*LLE [], [],
|<!--AROS-->?
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sinclair ZX80 and ZX81
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sinclair Spectrum
|[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Fuse (crackly sound)], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer SimCoupe], [ FBZX slow], [https://jsspeccy.zxdemo.org/ jsspeccy], [http://torinak.com/qaop/games qaop],
|<!--Amiga OS-->[http://www.lasernet.plus.com/ Asp], [http://www.zophar.net/sinclair.html Speculator], [http://www.worldofspectrum.org/x128/index.html X128],
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/computer]
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sinclair QL
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [],
|<!--Amiga OS-->[http://aminet.net/package/misc/emu/QDOS4amiga1 QDOS4amiga]
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation SNK NeoGeo Pocket
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem],
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem gngeo], NeoPop,
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation Sony PlayStation
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem FPSE],
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem FPSE]
|<!--MorphOS-->
|-
|<!--Sub Menu-->[ Sony PS2]
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->[ Sony PS3]
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->[https://vita3k.org/ Sony Vita]
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->[https://github.com/shadps4-emu/shadPS4 PS4]
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation [http://en.wikipedia.org/wiki/Tangerine_Computer_Systems Tangerine] Oric and Atmos
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Oricutron]
|<!--Amiga OS-->
|<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem Oricutron]
|<!--MorphOS-->[http://aminet.net/package/misc/emu/oricutron Oricutron]
|-
|<!--Sub Menu-->Games Emulation TI 99/4 99/4A [https://github.com/wavemotion-dave/DS994a DS994a], [], [https://js99er.net/#/ js99er], [], [http://aminet.net/package/misc/emu/TI4Amiga TI4Amiga], [http://aminet.net/package/misc/emu/TI4Amiga_src TI4Amiga src in c],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation HP 38G 40GS 48 49G/50G Graphing Calculators
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Emulation TI 58 83 84 85 86 - 89 92 Graphing Calculators
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|}
{| class="wikitable sortable"
|-
!width:10%;|Games [https://www.rockpapershotgun.com/ General]
!width:10%;|AROS(x86)
!width:10%;|AmigaOS3(68k)
!width:10%;|AmigaOS4(PPC)
!width:10%;|MorphOS(PPC)
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Games [https://www.trackawesomelist.com/michelpereira/awesome-open-source-games/ Open Source and others] || AROS || Amiga OS || Amiga OS4 || Morphos
|-
|<!--Sub Menu-->Games Action like [https://github.com/BSzili/OpenLara/tree/amiga/src source of openlara SDL2], [https://github.com/opentomb/OpenTomb opentomb], [https://github.com/LostArtefacts/TRX TRX formerly Tomb1Main], [https://github.com/TombEngine TombEngine], [http://archives.arosworld.org/index.php?function=browse&cat=game/action Thrust], [https://github.com/fragglet/sdl-sopwith sdl sopwith],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/action], [https://archives.arosworld.org/index.php?function=browse&cat=game/action BOH], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Adventure like [http://dotg.sourceforge.net/ DMJ], [https://github.com/kromenak/gengine Gabriel Knight 3],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/adventure], [https://archives.arosworld.org/?function=browse&cat=emulation/misc ScummVM], [http://www.toolness.com/wp/category/interactive-fiction/ Infocom], [http://www.accardi-by-the-sea.org/ Zork Online]. [http://www.sarien.net/ Sierra Sarien], [http://www.ucw.cz/draci-historie/index-en.html Dragon History for ScummVM], []
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Board like [https://github.com/aperture-software/colditz-escape escape from colditz], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/board], [http://amigan.1emu.net/releases Africa]
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Cards like
|<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/card ], [],
|<!--AmigaOS-->[http://home.arcor.de/amigasolitaire/e/welcome.html Reko], [https://github.com/samskivert/beschei-en beschei Src],
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Misc [https://github.com/michelpereira/awesome-open-source-games Awesome open], [https://github.com/bobeff/open-source-games General Open Source], [https://github.com/SAT-R/sa2 Sonic Advance 2], [https://github.com/velorek1/cwordle Wordle type],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/misc], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games FPS like [https://aminet.net/package/game/shoot/D1X_Rebirth_AGA Descent D1X src], [https://github.com/DescentDevelopers/Descent3 Descent 3], [https://github.com/Fewnity/Counter-Strike-Nintendo-DS Counter-Strike-Nintendo-DS], [https://github.com/Aleph-One-Marathon/alephone Bungie Marathon 1994], [],
|<!--AROS-->Doom, Quake, [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Quake 3 Arena (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Assault Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube 2 Sauerbraten (OpenGL)], [http://fodquake.net/test/ FodQuake QuakeWorld], [ Duke Nukem 3D], [ Darkplaces Nexuiz Xonotic], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Doom 3 SDL (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Hexenworld and Hexen 2], [ Aliens vs Predator Gold 2000 (openGL)], [ Odamex (openGL doom)],
|<!--Amiga OS-->Doom, Quake, AB3D, Fears, Breathless,
|<!--AmigaOS4-->Doom, Quake,
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12 Doom], Quake, Quake 3 Arena, [https://github.com/OpenXRay/xray-16 S.T.A.L.K.E.R Xray]
|-
|<!--Sub Menu-->Games MMORG like
|<!--AROS-->[ Eternal Lands (OpenGL)],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Platform like
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/platform], [ Maze of Galious], [ Gish]*(openGL), [ Mega Mario],
[http://www.gianas-return.de/ Giana's Return], [http://www.sqrxz.de/ Sqrxz], [.html Aquaria]*(openGL),
[http://www.sqrxz2.de/ Sqrxz 2], [http://www.sqrxz.de/sqrxz-3/ Sqrxz 3], [http://www.sqrxz.de/sqrxz-4/ Sqrxz 4], [http://archives.arosworld.org/index.php?function=browse&cat=game/platform Cave Story],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Puzzle [https://github.com/mariopartyrd/marioparty4/tree/port Party], [], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle], [ Cubosphere (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle Candy Crisis], [http://bszili.morphos.me/ TailTale],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Racing [ Trigger Rally], [ VDrift], [http://www.ultimatestunts.nl/index.php?page=2&lang=en Ultimate Stunts], [http://maniadrive.raydium.org/ Mania Drive], [https://github.com/plowteam/donut Simpsons Hit and Run], [],
|<!--AROS-->[ Super Tux Kart (OpenGL)], [http://www.dusabledanslherbe.eu/AROSPage/F1Spirit.30.html F1 Spirit (OpenGL)], [http://bszili.morphos.me/index.html MultiRacer],
|<!--AmigaOS-->
|<!--AmigaOS4-->[http://bszili.morphos.me/index.html Speed Dreams],
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12], [http://bszili.morphos.me/index.html TORCS],
|-
|<!--Sub Menu-->Games 1st first person DRPG [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/OpenEnroth/OpenEnroth OpenEnroth MM], []
|<!--AROS-->[https://github.com/BSzili/aros-stuff Arx Libertatis], [http://www.playfuljs.com/a-first-person-engine-in-265-lines/ js raycaster], [https://github.com/Dorthu/es6-crpg webgl], [https://github.com/sonountaleban/AmiShockolate System Shock], [], [],
|<!--AmigaOS-->Phantasie, Faery Tale, Dungeon Master,
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games 3rd third person action CRPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/alexbatalov/fallout1-ce fallout ce], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games isometric RPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/topics/dungeon?l=javascript Dungeon], [], [https://github.com/clintbellanger/heroine-dusk JS Dusk],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying nethack], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying GemRB], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games card based RPG [https://github.com/open-duelyst/duelyst Duelyst], [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Rhythm, Beat, Step [], [], [https://clonehero.net/ clonehero], [https://github.com/MatteoGodzilla/Dj-Engine Dj-Engine],
|<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/misc Frets on Fire], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Shoot Em Ups [http://www.mhgames.org/oldies/formido/ Formido], [http://code.google.com/p/violetland/ Violetland],
||<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/action Open Tyrian], [http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ Alien Blaster], [https://github.com/OpenFodder/openfodder OpenFodder],
|<!--AmigaOS-->
|<!--AmigaOS4-->[http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter],
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Simulations [http://scp.indiegames.us/ Freespace 2], [http://www.heptargon.de/gl-117/gl-117.html GL117], [http://code.google.com/p/corsix-th/ Theme Hospital], [http://code.google.com/p/freerct/ Rollercoaster Tycoon], [http://hedgewars.org/ Hedgewars], [https://github.com/raceintospace/raceintospace raceintospace], [https://github.com/Return-To-The-Roots RTTR Settlers 2], [https://github.com/OoliteProject/oolite oolite elite], [https://github.com/fesh0r/newkind newkind elite], [],
|<!--AROS-->
|<!--Amiga OS-->SimCity, SimAnt, Sim Hospital, Theme Park,
|<!--AmigaOS4-->
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12]
|-
|<!--Sub Menu-->Games Life Sim [https://github.com/ACreTeam/forest Animal Crossing], [ ], [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Strategy [http://rtsgus.org/ RTSgus], [http://wargus.sourceforge.net/ Wargus], [http://stargus.sourceforge.net/ Stargus], [https://github.com/KD-lab-Open-Source/Perimeter Perimeter], [https://matty77.itch.io/conflict-3049 conflict-3049], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/strategy MegaGlest (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/strategy UFO:AI (OpenGL)], [http://play.freeciv.org/ FreeCiv],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12]
|-
|<!--Sub Menu-->Games Horror [https://github.com/Mikompilation/MikuPan Fatal Frame], [ ], [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Sandbox Voxel Open World Exploration [https://github.com/UnknownShadow200/ClassiCube Classicube],[http://www.michaelfogleman.com/craft/ Craft], [https://github.com/tothpaul/DelphiCraft DelphiCraft],[https://www.minetest.net/ Luanti formerly Minetest], [ infiniminer],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Battle Royale [https://bruh.io/ Play.Bruh.io], [https://www.coolmathgames.com/0-copter Copter Royale], [https://surviv.io/ Surviv.io], [https://nuggetroyale.io/#Ketchup Nugget Royale], [https://miniroyale2.io/ Miniroyale2.io],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Tower Defense [https://chriscourses.github.io/tower-defense/ HTML5], [https://github.com/SBardak/Tower-Defense-Game TD C++], [https://github.com/bdoms/love_defense LUA and LOVE], [https://github.com/HyOsori/Osori-WebGame HTML5], [https://github.com/PascalCorpsman/ConfigTD ConfigTD Pascal], [https://github.com/GloriousEggroll/wine-ge-custom Wine], []
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Visual Novel Engines [https://github.com/Kirilllive/tuesday-js Tuesday JS], [ Lua + LOVE], [https://github.com/weetabix-su/renpsp-dev RenPSP], [https://github.com/Galladite27/ONScripter-EN ONScripter-EN], [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Virtual Reality VR [https://gitlab.com/madsbuvi/openmw openmw vr], [https://github.com/Team-Beef-Studios/BeefRaiderXR BeefRaiderXR],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Virtual Table Top VTT [ Roll20], [https://www.owlbear.rodeo/ owlbear rodeo], [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Computer assisted TableTop TTRPG OSR [https://www.rpgsolo.com/play.php RPGSolo], [https://github.com/fpsvogel/solo-ttrpgs Solo TTRPG], [], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games 2D 3D Engines [https://github.com/fegennari/3DWorld 3DWorld], [https://github.com/GarageGames/Torque3D Torque3D], [https://github.com/gameplay3d/GamePlay GamePlay 3D], [https://www.babylonjs.com/ BabylonJS ], [ Godot], [ Ogre], [ Crystal Space], [], [], [],
|<!--AROS-->[https://www.arkhamdev.net/wiki.htm?id=agx Arkham Development antiryadgx 8.9 lts with register], [],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games C based game frameworks [https://github.com/orangeduck/Corange Corange], [https://github.com/scottcgi/Mojoc Mojoc], [https://orx-project.org/ Orx], [https://github.com/ioquake/ioq3 Quake 3], [https://www.mapeditor.org/ Tiled], [https://www.raylib.com/ 2d Raylib], [https://github.com/Rabios/awesome-raylib other raylib], [https://github.com/MrFrenik/gunslinger Gunslinger], [https://o3de.org/ o3d], [http://archives.aros-exec.org/index.php?function=browse&cat=development/library GLFW], [],
|<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/library Raylib 5],
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|-
|<!--Sub Menu-->Games Virtual Pinball [https://github.com/vpinball/vpinball vpinball], [],
|<!--AROS-->
|<!--Amiga OS-->
|<!--AmigaOS4-->
|<!--MorphOS-->
|}
==Application Guides==
[[#top|...to the top]]
===Web Browser===
OWB is now at version 2.0 (which got an engine refresh, from July 2015 to February 2019) and 3.0.
This latest version has a good support for many/most web sites, even YouTube web page now works.
This improved compatibility comes at the expense of higher RAM usage (now 1GB RAM is the absolute minimum).
Also, keep in mind that the lack of a JIT (Just-In-Time) JS compiler on the 32 bit version, makes the web surfing a bit slow.
Only the 64 bit version of OWB 2.0 will have JIT enabled, thus benefitting of more speed.
There are tooltypes that can be added to the icon to provide further features JIT, MSE etc
Please make sure you have [https://easylist.to/easylist/easylist.txt easylist.txt] in PROGDIR:Conf before starting browser with enabled AdBlock.
and possibly [https://curl.se/docs/caextract.html ca certs]
OWB speed is much better when running from RAM Disk, the best way is to add the below into your S:User-Startup which copies OWB drawer from Extras:Internet/OWB to RAM Disk:
So add this :
<pre>
copy Extras:Internet/OWB Ram:OWB/ ALL CLONE >NIL:
copy Extras:Internet/OWB.info Ram: >NIL:
</pre>
Open RAM Disk and open OWB drawer and double click on OWB icon so that the above icon tooltypes are activated
Problems are that the copy time is long (around 20 seconds added in the background), but we can make it faster if we delete useless files from the OWB drawer (docs, …)
If you don’t copy the drawer back onto the HD, you won’t save your cache, cookies, passwords… So you need a script for it.
Error messages
SSL error "cant verify with ca-certificates", check bios clock time date is correct
Error 6, try checking networking prefs settings and Save / Use preferences again or a '''few times''' otherwise the network chipset may not be compatible with Aros
[https://www.google.com/search?q=%s&udm=14 Google search without AI overview]
===E-mail===
YAM does not support SSL and most mail providers now switched to encrypted SMTP/POP3 connections
====SimpleMail====
SimpleMail supports IMAP and appears to work with GMail, but it's never been reliable enough, it can crash with large mailboxes.
Please read more on this [http://www.freelists.org/list/simplemail-usr User list]
GMail
Be sure to activate the pop3 usage in your gmail account setup / configuration first.
pop3:
pop.gmail.com
Use SSL: Yes
Port: 995
smtp:
smtp.gmail.com (with authentication)
Use Authentication: Yes
Use SSL: Yes
Port: 465 or 587
Hotmail/MSN/outlook/Microsoft Mail mid-2017, all outlook.com accounts will be migrated to Office 365 / Exchange
Most users are currently on POP which does not allow showing folders and many other features (technical limitations of POP3). With Microsoft IMAP you will get folders, sync read/unread, and show flags. You still won't get push though, as Microsoft has not turned on the IMAP Idle command as at Sept 2013.
If you want to try it, you need to first remove (you can't edit) your pop account (long-press the account on the accounts screen, delete account). Then set it up this way:
1. Email/Password
2. Manual
3. IMAP
4.
* Incoming: imap-mail.outlook.com, port 993, SSL/TLS should be checked
* Outgoing: smtp-mail.outlook.com, port 587, SSL/TLS should be checked
* POP server name pop-mail.outlook.com, port 995, POP encryption method SSL
Yahoo Mail
On April 24, 2002 Yahoo ceased to offer POP access to its free mail service. Introducing instead a yearly payment feature, allowing users POP3 and IMAP server support, along with such benefits as larger file attachment sizes and no adverts.
Sorry to see Yahoo leaving its users to cough up for the privilege of accessing their mail. Understandable, when competing against rivals such as Gmail and Hotmail who hold a large majority of users and were hacked in 2014 as well.
Incoming Mail (IMAP) Server
* Server - imap.mail.yahoo.com
* Port - 993
* Requires SSL - Yes
Outgoing Mail (SMTP) Server
* Server - smtp.mail.yahoo.com
* Port - 465 or 587
* Requires SSL - Yes
* Requires authentication - Yes
Your login info
* Email address - Your full email address (name@domain.com)
* Password - Your account's password
* Requires authentication - Yes
Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program.
You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client.
Cannot be done since 2002 unless the customer pays Yahoo a subscription subs fee to have access to SMTP and POP3
* Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port.
* “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”.
* “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com
* “Password” – Your Yahoo Mail password.
Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com.
* Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work.
====YAM Yet Another Mailer====
YAM does not support SSL and most mail providers have now switched to encrypted SMTP/POP3 connections
This email client is POP3 only if the SSL library is available [http://www.freelists.org/list/yam YAM Freelists]
One of the downsides of using a POP3 mailer unfortunately - you have to set an option not to delete the mail if you want it left on the server. IMAP keeps all the emails on the server.
Possible issues
Sending mail issues is probably a matter of using your ISP's SMTP server, though it could also be an SSL issue.
getting a "Couldn't initialise TLSv1 / SSL error
Use of on-line e-mail accounts with this email client is not possible as it lacks the OpenSSL AmiSSl v3 compatible library
GMail
Incoming Mail (POP3) Server - requires SSL: pop.gmail.com
Use SSL: Yes
Port: 995
Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication)
Use Authentication: Yes
Use STARTTLS: Yes (some clients call this SSL)
Port: 465 or 587
Account Name: your Gmail username (including '@gmail.com')
Email Address: your full Gmail email address (username@gmail.com)
Password: your Gmail password
Anyway, the SMTP is pop.gmail.com port 465 and it uses SSLLv3 Authentication. The POP3 settings are for the same server (pop.gmail.com), only on port 995 instead.
Outlook.com access
<pre >
Outlook.com SMTP server address: smtp.live.com
Outlook.com SMTP user name: Your full Outlook.com email address (not an alias)
Outlook.com SMTP password: Your Outlook.com password
Outlook.com SMTP port: 587
Outlook.com SMTP TLS/SSL encryption required: yes
</pre >
Yahoo Mail
<pre >
“POP3 Server” – Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port.
“SMTP Server” – Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work.
“Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”.
“Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com
“Password” – Your Yahoo Mail password.
</pre >
Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com.
Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program.
You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client.
Cannot be done since 2002 unless the customer pays Yahoo a monthly fee to have access to SMTP and POP3
Microsoft Outlook Express Mail
1. Get the files to your PC.
By whatever method get the files off your Amiga onto your PC. In the YAM folder you have a number of different folders, one for each of your folders in YAM. Inside that is a file usually some numbers such as 332423.283. YAM created a new file for every single email you received.
2. Open up a brand new Outlook Express. Just configure the account to use 127.0.0.1 as mail servers. It doesn't really matter. You will need to manually create any subfolders you used in YAM.
3. You will need to do a mass rename on all your email files from YAM. Just add a .eml to the end of it. Amazing how PCs still rely mostly on the file name so it knows what sort of file it is rather than just looking at it! There are a number of multiple renamers online to download and free too.
4. Go into each of your folders, inbox, sent items etc. And do a select all then drag the files into Outlook Express (to the relevant folder obviously) Amazingly the file format that YAM used is very compatible with .eml standard and viola your emails appear. With correct dates and working attachments.
5. If you want your email into Microsoft Outlook. Open that up and create a new profile and a new blank PST file. Then go into File Import and choose to import from Outlook Express. And the mail will go into there. And viola.. you have your old email from your Amiga in a more modern day format.
===FTP===
Magellan has a great FTP module. It allows transferring files from/to a FTP server over the Internet or the local network and, even if FTP is perceived as a "thing of the past", its usability is all inside the client. The FTP thing has a nice side effect too, since every Icaros machine can be a FTP server as well, and our files can be easily transferred from an Icaros machine to another with a little configuration effort.
First of all, we need to know the 'server' IP address. Server is the Icaros machine with the file we are about to download on another Icaros machine, that we're going to call 'client'. To do that, move on the server machine and 1) run Prefs/Services to be sure "FTP file transfer" is enabled (if not, enable it and restart Icaros); 2) run a shell and enter this command:
ifconfig -a
Make a note of the IP address for the network interface used by the local area network. For cabled devices, it usually is net0:. Now go on the client machine and run Magellan:
Perform these actions: 1) click on FTP; 2) click on ADDRESS BOOK; 3) click on "New".
You can now add a new entry for your Icaros server machine:
1) Choose a name for your server, in order to spot it immediately in the address book. Enter the IP address you got before.
2) click on Custom Options:
1) go to Miscellaneous in the left menu;
2) Ensure "Passive Transfers" is NOT selected;
3) click on Use. We need to deactivate Passive Transfers because YAFS, the FTP server included in Icaros, only allows active transfers at the current stage. Now, we can finally connect to our new file source:
1) Look into the address book for the newly introduced server, be sure that name and IP address are right, and
2) click on Connect. A new lister with server's "MyWorkspace" contents will appear. You can now transfer files over the network choosing a destination among your local (client's) volumes.
Can be adapted to any FTP client on any platform of your choice, just be sure your client allows Active Transfers as well.
===IRC Internet Relay Chat===
Jabberwocky is ideal for one-to-one social media communication, use IRC if you require one to many.
Just type a message in ''lowercase''' letters and it will be posted to all in the [ AROS irc channel]. Please do not use UPPER CASE as it is a sign of SHOUTING which is annoying.
Other things to type in - replace <message> with a line of text and <nick> with a person's name
<pre>
/help
/list
/who
/whois <nick>
/msg <nick> <message>
/query <nick>
<message>s
/query
/away <message>
/away
/quit <going away message>
</pre>
[http://irchelp.org/irchelp/new2irc.html#smiley Intro guide here]. IRC Primer can be found here in [http://www.irchelp.org/irchelp/ircprimer.html html], [http://www.irchelp.org/irchelp/text/ircprimer.txt TXT], [http://www.kei.com/irc/IRCprimer1.1.ps PostScript].
Issue the command /me <text> where <text> is the text that should follow your nickname.
Example: /me slaps ajk around a bit with a large trout
/nick <newNick>
/nickserv register <password> <email address>
/ns instead of /nickserv, while others might need /msg nickserv
/nickserv identify <password>
Alternatives:
/ns identify <password>
/msg nickserv identify <password>
==== IRC WookieChat ====
WookieChat is the most complete internet client for communication across the IRC Network. WookieChat allows you to swap ideas and communicate in real-time, you can also exchange Files, Documents, Images and everything else using the application's DCC capabilities.
add smilies drawer/directory
run wookiechat from the shell and set stack to 1000000 e.g. wookiechat stack 1000000
select a server / server window
* nickname
* user name
* real name - optional
Once you configure the client with your preferred screen name, you'll want to find a channel to talk in.
servers
* New Server - click on this to add / add extra - change details in section below this click box
* New Group
* Delete Entry
* Connect to server
* connect in new tab
* perform on connect
Change details
* Servername - change text in this box to one of the below Server:
* Port number - no need to change
* Server password
* Channel - add #channel from below
* auto join - can click this
* nick registration password,
Click Connect to server button above
<pre>
Server: irc.freenode.net
Channel: #aros
</pre>
irc://irc.freenode.net/aros
<pre>
Server: chat.amigaworld.net
Channel: #amigaworld or #amigans
</pre>
<pre>
On Sunday evenings USA time usually starting around 3PM EDT (1900 UTC)
Server:irc.superhosts.net
Channel #team*amiga
</pre>
<pre>
BitlBee and Minbif are IRCd-like gateways to multiple IM networks
Server: im.bitlbee.org
Port 6667
Seems to be most useful on WookieChat as you can be connected to several servers at once. One for Bitlbee and any messages that might come through that. One for your normal IRC chat server.
</pre>
[http://www.bitlbee.org/main.php/servers.html Other servers],
<pre>
#Amiga.org - irc.synirc.net eu.synirc.net dissonance.nl.eu.synirc.net (IPv6: 2002:5511:1356:0:216:17ff:fe84:68a)
twilight.de.eu.synirc.net zero.dk.eu.synirc.net us.synirc.net avarice.az.us.synirc.net envy.il.us.synirc.net harpy.mi.us.synirc.net
liberty.nj.us.synirc.net snowball.mo.us.synirc.net - Ports 6660-6669 7001 (SSL)
</pre>
<pre>
Multiple server support
"Perform on connect" scripts and channel auto-joins
Automatic Nickserv login
Tabs for channels and private conversations
CTCP PING, TIME, VERSION, SOUND
Incoming and Outgoing DCC SEND file transfers
Colours for different events
Logging and automatic reloading of logs
mIRC colour code filters
Configurable timestamps
GUI for changing channel modes easily
Configurable highlight keywords
URL Grabber window
Optional outgoing swear word filter
Event sounds for tabs opening, highlighted words, and private messages
DCC CHAT support
Doubleclickable URL's
Support for multiple languages using LOCALE
Clone detection
Auto reconnection to Servers upon disconnection
Command aliases
Chat display can be toggled between AmIRC and mIRC style
Counter for Unread messages
Graphical nicklist and graphical smileys with a popup chooser
</pre>
====IRC Aircos ====
Double click on Aircos icon in Extras:Networking/Apps/Aircos. It has been set up with a guest account for trial purposes. Though ideally, choose a nickname and password for frequent use of irc.
====IRC and XMPP Jabberwocky====
Servers are setup and close down at random
You sign up to a server that someone else has setup and access chat services through them.
The two ways to access chat from jabberwocky
<pre >
Jabberwocky -> Server -> XMPP -> open and ad-free
Jabberwocky -> Server -> Transports (Gateways) -> Proprietary closed systems
</pre >
The Jabber.org service connects with all IM services that use XMPP, the open standard for instant messaging and presence over the Internet. The services we connect with include Google Talk (closed), Live Journal Talk, Nimbuzz, Ovi, and thousands more. However, you can not connect from Jabber.org to proprietary services like AIM, ICQ, MSN, Skype, or Yahoo because they don’t yet use XMPP components (XEP-0114) '''but''' you can use Jabber.com's servers and IM gateways (MSN, ICQ, Yahoo etc.) instead.
The best way to use jabberwocky is in conjunction with a public jabber server with '''transports''' to your favorite services, like gtalk, Facebook, yahoo, ICQ, AIM, etc.
You have to register with one of the servers, [https://list.jabber.at/ this list] or [http://www.jabberes.org/servers/ another list], [http://xmpp.net/ this security XMPP list],
Unfortunately jabberwocky can only connect to one server at a time so it is best to check what services each server offers. If you set it up with separate Facebook and google talk accounts, for example, sometimes you'll only get one or the other.
Jabberwocky open a window where the Jabber server part is typed in as well as your Nickname and Password.
Jabber ID (JID) identifies you to the server and other users.
Once registered the next step is to goto Jabberwocky's "Windows" menu and select the "Agents" option. The "Agents List" window will open.
Roster (contacts list)
[http://search.wensley.org.uk/ Chatrooms] (MUC) are available
File Transfer - can send and receive files through the Jabber service but not with other services like IRC, ICQ, AIM or Yahoo. All you need is an installed webbrowser and OpenURL.
Clickable URLs - The message window uses Mailtext.mcc and you can set a URL action in the MUI mailtext prefs like SYS:Utils/OpenURL %s NEWWIN.
There is no consistent Skype like (H.323 VoIP) video conferencing available over Jabber. The move from xmpp to Jingle should help but no support on any amiga-like systems at the moment. [http://aminet.net/package/dev/src/AmiPhoneSrc192 AmiPhone] and [http://www.lysator.liu.se/%28frame,faq,nobg,useframes%29/ahi/v4-site/ Speak Freely] was an early attempt voice only contact. SIP and Asterisk are other PBX options.
Facebook
If you're using the XMPP transport provided by Facebook themselves, chat.facebook.com, it looks like they're now requiring SSL transport. This means jabberwocky method below will no longer work. The best thing to do is to create an ID on a public jabber server which has a Facebook gateway.
<pre >
1. launch jabberwocky
2. if the login window doesn't appear on launch, select 'account' from the jabberwocky menu
3. your jabber ID will be user@chat.facebook.com where user is your user ID
4. your password is your normal facebook password
5. to save this for next time, click the popup gadget next to the ID field
6. click the 'add' button
7. click the 'close' button
8. click the 'connect' button
</pre >
you're done. you can also click the 'save as default account' button if you want. jabberwocky configured to auto-connect when launching the program, but you can configure as you like. there is amigaguide documentation included with jabberwocky.
[http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=37085&forum=32 Read more here]
for Facebook users, you can log-in directly to Facebook with jabberwocky. just sign in as @chat.facebook.com with your Facebook password as the password
Twitter
For a few years, there has been added a twitter transport. Servers include [http://jabber.hot-chilli.net/ jabber.hot-chili.net], and .
An [http://jabber.hot-chilli.net/tag/how-tos/ How-to]
:Read [http://jabber.hot-chilli.net/2010/05/09/twitter-transport-working/ more]
Instagram
no support at the moment best to use a web browser based client
ICQ
The new version (beta) of StriCQ uses a newer ICQ protocol. Most of the ICQ Jabber Transports still use an older ICQ protocol. You can only talk one-way to StriCQ using the older Transports. Only the newer ICQv7 Transport lets you talk both ways to StriCQ. Look at the server lists in the first section to check.
Register on a Jabber server, e.g. this one works: http://www.jabber.de/
Then login into Jabberwocky with the following login data e.g. xxx@jabber.de / Password: xxx Now add your ICQ account under the window->Agents->"Register". Now Jabberwocky connects via the Jabber.de server with your ICQ account.
Yahoo Messenger
although yahoo! does not use xmpp protocol, you should be able to use the transport methods to gain access and post your replies
MSN
early months of 2013 Microsoft will ditch MSN Messenger client and force everyone to use Skype...but MSN protocol and servers will keep working as usual for quite a long time....
Occasionally the Messenger servers have been experiencing problems signing in. You may need to sign in at www.outlook.com and then try again. It may also take multiple tries to sign in. (This also affects you if you’re using Skype.)
You have to check each servers' Agents List to see what transports (MSN protocol, ICQ protocol, etc.) are supported or use the list address' provided in the section above. Then register with each transport (IRC, MSN, ICQ, etc.) to which you need access. After registering you can Connect to start chatting.
msn.jabber.com/registered should appear in the window.
From this [http://tech.dir.groups.yahoo.com/group/amiga-jabberwocky/message/1378 JW group] guide which helps with this process in a clear, step by step procedure.
1. Sign up on MSN's site for a passport account. This typically involves getting a Hotmail address.
2. Log on to the Jabber server of your choice and do the following:
* Select the "Windows/Agents" menu option in Jabberwocky.
* Select the MSN Agent from the list presented by the server.
* Click the Register button to open a new window asking for:
**Username = passort account email address, typically your hotmail address.
**Nick = Screen name to be shown to anyone you add to your buddy list.
**Password = Password for your passport account/hotmail address.
* Click the Register button at the bottom of the new window.
3. If all goes well, you will see the MSN Gateway added to your buddy list. If not, repeat part 2 on another server. Some servers may show MSN in their list of available agents, but have not updated their software for the latest protocols used by MSN.
4. Once you are registered, you can now add people to your buddy list. Note that you need to include the '''msn.''' ahead of the servername so that it knows what gateway agent to use. Some servers may use a slight variation and require '''msg.gate.''' before the server name, so try both to see what works.
If my friend's msn was amiga@hotmail.co.uk and my jabber server was @jabber.meta.net.nz..
then amiga'''%'''hotmail.com@'''msn.'''jabber.meta.net.nz
or another the trick to import MSN contacts is that you don't type the hotmail URL but the passport URL... e.g. Instead of: goodvibe%hotmail.com@msn.jabber.com You type: goodvibe%passport.com@msn.jabber.com
And the thing about importing contacts I'm afraid you'll have to do it by hand, one at the time...
Google Talk
any XMPP server will work, but you have to add your contacts manually. a google talk user is typically either @gmail.com or @talk.google.com. a true gtalk transport is nice because it brings your contacts to you and (can) also support file transfers to/from google talk users.
implement Jingle a set of extensions to the IETF's Extensible Messaging and Presence Protocol (XMPP)
support ended early 2014 as Google moved to Google+ Hangouts which uses it own proprietary format
===Video Player MPlayer===
Many of the menu features (such as doubling) do not work with the current version of mplayer but using
4:3
mplayer -vf scale=800:600 file.avi
16:9
mplayer -vf scale=854:480 file.avi
if you want gui use;
mplayer -gui 1 <other params> file.avi
<pre >
stack 1000000
; using AspireOS 1.xx
; copy FROM SYS:Extras/Multimedia/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil:
; using Icaros Desktop 1.x
; copy FROM SYS:Tools/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil:
; using Icaros Desktop 2.x
; copy FROM SYS:Utilities/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil:
cd RAM:MPlayer
run MPlayer -gui > Nil:
;run MPlayer -gui -ao ahi_dev -playlist http://www.radio-paralax.de/listen.pls > Nil:
</pre >
$ mplayer rtsp://127.0.0.1:554/sample_300kbit.mp4
MPlayer supports multicast streaming, and rtp/rtsp protocols (it might require [http://www.live555.com/openRTSP/ live555 library] to work with some streams). But you might have to build it where it's disabled. Also, multicast won't work with some AmiTCP-likes. MIAMI supported it, though.
AROS supports IPv4 (old but works) and this includes the needed address space for RTP.
If you mean multicast via RTP - mplayer handles it. You can even force UDP over TCP
-rtsp-stream-over-tcp
If the rtsp Real Time Streaming Protocol server needs authentification:
-user -passwd
MPlayer - Menu - Open Playlist and load already downloaded .pls or .m3u file - auto starts around 4 percent cache
MPlayer - Menu - Open Stream and copy one of the .pls lines below into space allowed, press OK and press play button on main gui interface
Old 8bit 16bit remixes chip tune game music
http://www.radio-paralax.de/listen.pls
http://scenesat.com/
http://www.shoutcast.com/radio/Amiga
http://www.theoldcomputer.com/retro_radio/RetroRadio_Main.htm
http://www.kohina.com/
http://www.remix64.com/
http://retrogamer.net/forum/
http://retroasylum.podomatic.com/rss2.xml
http://retrogamesquad.com/
http://www.retronauts.com/
http://monsterfeet.com/noquarter/
http://www.retrogamingradio.com/
http://www.radiofeeds.co.uk/mp3.asp
[[#top|...to the top]]
====ZunePaint====
simplified typical workflow
* importing and organizing and photo management
* making global and regional local correction(s) - recalculation is necessary after each adjustment as it is not in real-time
* exporting your images in the best format available with the preservation of metadata
Whilst achieving 80% of a great photo with just a filter, the remaining 20% comes from a manual fine-tuning of specific image attributes.
For photojournalism, documentary, and event coverage, minimal touching is recommended. Stick to Camera Raw for such shots, and limit changes to level adjustment, sharpness, noise reduction, and white balance correction.
For fashion or portrait shoots, a large amount of adjustment is allowed and usually ends up far from the original. Skin smoothing, blemish removal, eye touch-ups, etc. are common. Might alter the background a bit to emphasize the subject.
Product photography usually requires a lot of sharpening, spot removal, and focus stacking.
For landscape shots, best results are achieved by doing the maximum amount of preparation before/while taking the shot. No amount of processing can match timing, proper lighting, correct gear, optimal settings, etc. Excessive post-processing might give you a dramatic shot but best avoided in the long term.
* White Balance - Left Amiga or F12 and K and under "Misc color effects" tab with a pull down for White Balance - color temperature also known as AKA tint (movies) or tones (painting) - warm temp raise red reduce green blue - cool raise blue lower red green
* Exposure - exposure compensation, highlight/shadow recovery
* Noise Reduction - during RAW development or using external software
* Lens Corrections - distortion, vignetting, chromatic aberrations
* Detail - capture sharpening and local contrast enhancement
* Contrast - black point, levels (sliders) and curves tools (F12 and K)
* Framing - straighten () and crop (F12 and F)
* Refinements - color adjustments and selective enhancements - Left Amiga or F12 and K for RGB and YUV histogram tabs -
* Resizing - enlarge for a print or downsize for the web or email (F12 and D)
* Output Sharpening - customized for your subject matter and print/screen size
White Balance - F12 and K
scan your image for a shade which was meant to be white (neutral with each RGB value being equal) like paper or plastic which is in the same light as the subject of the picture. Use the dropper tool to select this color, similar colours will shift and you will have selected the perfect white balance for your part of the image - for the whole picture make sure RAZ or CLR button at the bottom is pressed before applying to the image above.
Exposure correction
F12 and K - YUV Y luminosity - RGB extra red tint - move red curve slightly down and move blue green curves slightly up
Workflows in practice
* Undo - Right AROS key or F12 and Z
* Redo - Right AROS key or F12 and R
First flatten your image (if necessary) and then do a rotation until the picture looks level.
* Crop the picture. Click the selection button and drag a box over the area of the picture you want to keep. Press the crop button and the rest of the photo will be gone.
* Adjust your saturation, exposure, hue levels, etc., (right AROS Key and K for color correction) until you are happy with the photo. Make sure you zoom in all of the way to 100% and look the photo over, zoom back out and move around. Look for obvious problems with the picture.
* After coloring and exposure do a sharpen (Right AROS key and E for Convolution and select drop down option needed), e.g. set the matrix to 5x5 (roughly equivalent Amount to 60%) and set the Radius to 1.0. Click OK.
And save your picture
Implemented or would like to see for simplification and ease of use
basic filters (presets) like black and white, monochrome, edge detection (sobel), motion/gaussian blur,
* negative, sepiatone, retro vintage, night vision, colour tint, color gradient, color temperature, glows, fire, lightning, lens flare, emboss, filmic, pixelate mezzotint, antialias, etc.
adjust / cosmetic tools such as crop,
* reshaping tools, straighten, smear, smooth, perspective, liquify, bloat, pucker, push pixels in any direction, dispersion, transform like warp, blending with soft light, page-curl, whirl, ripple, fisheye, neon, etc.
* red eye fixing, blemish remover, skin smoothing, teeth whitener, make eyes look brighter, desaturate,
effects like oil paint, cartoon, pencil sketch, charcoal, noise/matrix like sharpen/unsharpen, (right AROS key with A for Artistic effects)
* blend two image, gradient blend, masking blend, explode, implode, custom collage, surreal painting, comic book style, needlepoint, stained glass, watercolor, mosaic, stencil/outline, crayon, chalk, etc.
borders such as
* dropshadow, rounded, blurred, color tint, picture frame, film strip polaroid, bevelled edge, etc.
brushes e.g.
* frost, smoke, etc.
and manual control of
fix lens issues including vignetting (darkening), color fringing and barrel distortion, and chromatic and geometric aberration - lens and body profiles
perspective correction
levels - directly modify the levels of the tone-values of an image, by using sliders for highlights, midtones and shadows
curves - Color Adjustment and Brightness/Contrast
color balance
one single color transparent (alpha channel (color information/selections) for masking and/or blending ) for backgrounds, etc.
Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors
decompose layer into a set of layers with each holding a different type of pattern that is visible within the image
any selection using any selecting tools like lasso tool, marquee tool etc. the selection will temporarily be save to alpha
If you create your image without transparency then the Alpha channel is not present, but you can add later.
File formats like .psd (Photoshop file has layers, masks etc. contains edited sensor data. The original sensor data is no longer available) .xcf .raw .hdr
Image Picture Formats
* low dynamic range (JPEG, PNG, TIFF 8-bit), 16-bit (PPM, TIFF), typically as a 16-bit TIFF in either ProPhoto or AdobeRGB colorspace - TIFF files are also fairly universal – although, if they contain proprietary data, such as Photoshop Adjustment Layers or Smart Filters, then they can only be opened by Photoshop making them proprietary.
* linear high dynamic range (HDR) images (PFM, [http://www.openexr.com/ ILM .EXR], jpg, [http://aminet.net/util/dtype cr2] (canon tiff based), hdr, NEF, CRW, ARW, MRW, ORF, RAF (Fuji), PEF, DCR, SRF, ERF, DNG files are RAW converted to an Adobe proprietary format - a container that can embed the raw file as well as the information needed to open it)
An old version of [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/convert dcraw]
There is no single RAW file format. Each camera manufacturer has one or more unique RAW formats. RAW files contain the brightness levels data captured by the camera sensor. This data cannot be modified. A second smaller file, separate XML file, or within a database with instructions for the RAW processor to change exposure, saturation etc. The extra data can be changed but the original sensor data is still there. RAW is technically least compatible.
A raw file is high-bit (usually 12 or 14 bits of information) but a camera-generated TIFF file will be usually converted by the camera (compressed, downsampled) to 8 bits. The raw file has no embedded color balance or color space, but the TIFF has both. These three things (smaller bit depth, embedded color balance, and embedded color space) make it so that the TIFF will lose quality more quickly with image adjustments than the raw file. The camera-generated TIFF image is much more like a camera processed JPEG than a raw file. A strong advantage goes to the raw file. The power of RAW files, such as the ability to set any color temperature non-destructively and will contain more tonal values.
The principle of preserving the maximum amount of information to as late as possible in the process. The final conversion - which will always effectively represent a "downsampling" - should prevent as much loss as possible.
Once you save it as TIFF, you throw away some of that data irretrievably. When saving in the lossy JPEG format, you get tremendous file size savings, but you've irreversibly thrown away a lot of image data. As long as you have the RAW file, original or otherwise, you have access to all of the image data as captured.
Keyboard equivalence with Photoshop(tm) would help
File
PHOTOSHOP SHORTCUT GIMP
New Ctrl+n New
Open Ctrl+o Open
Close Ctrl+w Close
Save Ctrl+s Save
Save as Shift+Ctrl+s Save as
Revert F12 Revert
Print Ctrl+p Print
Exit Ctrl+q Quit
Edit
PHOTOSHOP SHORTCUT GIMP
Undo/Redo (1 level) Ctrl+z Undo (Redo is Shift+Ctrl+z)
Cut Ctrl+x Cut
Copy Ctrl+c Copy
Paste Ctrl+v Paste
Paste Into Shift+Ctrl+v Paste Into
Fill with FG color Alt+Backspace Fill with FG color
Fill with BG color Control+Backspace Fill with BG color
Image/Colors
PHOTOSHOP SHORTCUT GIMP
Levels Ctrl+l Levels
Auto Contrast Shift+Ctrl+Alt+l Stretch Contrast (same?)
Curves Ctrl+m Curves
Color Balance Ctrl+b Color Balance
Hue/Saturation Ctrl+u Hue-Saturation
Desaturate Shift+Ctrl+u Desaturate
Invert Ctrl+i Invert
Default Colors d Default Colors
Switch Colors x Switch Colors
Layer
PHOTOSHOP SHORTCUT GIMP
New Layer Shift+Ctrl+n New Layer
Layer via Copy Ctrl+j Duplicate Layer
Bring (layer) to Front Shift+Ctrl+] Layer to Top
Send (layer) to Back Shift+Ctrl+[ Layer to Bottom
Bring (layer) Forward Ctrl+] Raise Layer
Send (layer) Backward Ctrl+[ Lower Layer
Select Top Layer Shift+Alt+] Select Top Layer
Select Bottom Layer Shift+Alt+[ Select Bottom Layer
Select One Layer Forward Alt+] Select Previous Layer
Select One Layer Backward Alt+[ Select Next Layer
Merge Down Ctrl+e Merge Down
Merge Visible Shift+Ctrl+e Merge Visible
Preserve Transparency / Keep Transparency
Cycle Modes Forwards Shift+= Next Layer Mode
Cycle Modes Backwards Shift+- Previous Layer Mode
Select
PHOTOSHOP SHORTCUT GIMP
Select All Ctrl+a Select All
Deselect Ctrl+d Select None
Inverse Shift+Ctrl+i Invert
Feather Ctrl+Alt+d Feather
View
PHOTOSHOP SHORTCUT GIMP
Zoom In Ctrl+= Zoom In
Zoom Out Ctrl+- Zoom Out
Fit on Screen Ctrl+0 Zoom to Fit Window
Actual Pixels Ctrl+Alt+0 Zoom 1:1
Show/Hide Extras Ctrl+h Toggle Show Selection (close enough?)
Show/Hide Guides Ctrl+' Toggle Show Guides
Show/Hide Grid Ctrl+Alt+' Toggle Show Grid
Show/Hide Rulers Ctrl+r Toggle Show Rulers
Snap Ctrl+; Snap to Guides
Scroll View Up Page Up Scroll Page Up
Scroll View Down Page Down Scroll Page Down
Scroll View Left Ctrl+Page Up Scroll Page Left
Scroll View Right Ctrl+Page Down Scroll Page Right
Window/Dialogs
PHOTOSHOP SHORTCUT GIMP
? F5 Tools Dialog
Color Tab F6 Colors Dialog
Layers Tab F7 Layers Dialog
Info Tab F8 Image Information
Tools
PHOTOSHOP SHORTCUT GIMP
Rectangular Marquee Tool m Rect Select Tool
Elliptical Marquee Tool Shift+m Ellipse Select Tool
*This is a toggle between 'Elliptical Marquee Tool' and 'Rectangular Marquee Tool' in Photoshop
Move Tool v Move Tool
Lasso Tool l Free Select Tool
Magic Wand Tool w Fuzzy Select Tool
Crop Tool c Crop & Resize Tool
Airbrush Tool j Airbrush Tool
Paintbrush Tool b Paintbrush Tool
Clone Stamp Tool s Clone Stamp Tool
Eraser Tool e Eraser Tool
Gradient Tool g Blend Tool
Paint Bucket Tool Shift+g Bucket Fill Tool
*This is a toggle between 'Paint Bucket Tool' and 'Gradient Tool' in Photoshop
Blur Tool r Convolve Tool
Dodge Tool o DodgeBurn Tool
Type Tool t Text Tool
Pen Tool p Bezier Select Tool
Eye Dropper Tool i Color Picker Tool
Zoom Tool z Magnify Tool
Previous Brush , Previous Brush
Next Brush . Next Brush
First Brush Shift+< First Brush
Last Brush Shift+> Last Brush
Decrease Brush Size [ Decrease Brush Size
Increase Brush Size ] Increase Brush Size
Decrease Brush Hardness { Decrease Brush Hardness
Increase Brush Hardness } Increase Brush Hardness
Help
PHOTOSHOP SHORTCUT GIMP
Help F1 Help
Context Help Shift+F1 Context Help
Misc.
PHOTOSHOP SHORTCUT GIMP
Last Filter Ctrl+f Repeat Last Filter
? Shift+Ctrl+f Reshow Last Filter
Preferences Ctrl+k Preferences
Liquify Shift+Ctrl+x IWarp (close enough?)
Toggle Quick Mask q Toggle Quick Mask
Spotlights - triangle of white opaque shape
Cutting out and/or replacing unwanted background or features - select large areas with the selection option like the Magic Wand tool (aka Color Range) or the Lasso (quick and fast) with feather 2 to soften edge or the pen tool which adds points/lines/Bézier curves (better control but slower), hold down the shift button as you click to add extra points/areas of the subject matter to remove. Increase the tolerance to cover more areas. To subtract from your selection hold down alt as you're clicking.
* Layer masks are a better way of working than Erase they clip (black hides/hidden white visible/reveal). Clone Stamp can be simulated by and brushes for other areas.
* Leave the fine details like hair, fur, etc. to later with lasso and the shift key to draw a line all the way around your subject. Gradient Mapping - Inverse - Mask. i.e. Refine your selected image with edge detection and using the radius and edge options / adjuster (increase/decrease contrast) so that you will capture more fine detail from the background allowing easier removal.
Remove fringe/halo
saving image as png rather than jpg/jpeg to keep transparency background intact.
Implemented [http://colorizer.org/ colour model representations] [http://paulbourke.net/texture_colour/colourspace/ Mathematical approach] - Photo stills are spatially 2d (h and w), but are colorimetrically 3d (r g and b, or H L S, or Y U V etc.) as well.
* RGB - split cubed mapped color model for photos and computer graphics hardware using the light spectrum (adding and subtracting)
* YUV - Y-Lightness U-blue/yellow V-red/cyan (similar to YPbPr and YCbCr) used in the PAL, NTSC, and SECAM composite digital TV color [http://crewofone.com/2012/chroma-subsampling-and-transcoding/#comment-7299 video]
Histograms
White balanced (neutral) if the spike happens in the same place in each channel of the RGB graphs. If not, you're not balanced.
If you have sky you'll see the blue channel further off to the right.
RGB is best one to change colours. These elements RGB is a 3-channel format containing data for Red, Green, and Blue in your photo scale between 0 and 255. The area in a picture that appears to be brighter/whiter contains more red color as compared to the area which is relatively darker. Similarly in the green channel the area that appears to be darker contains less amount of green color as compared to the area that appears to be brighter. Similarly in the blue channel the area appears to be darker contains less amount of blue color as compared to the area that appears to be brighter. Brightness luminance histogram also matches the green histogram more than any other color - human eye interprets green better e.g. RGB rough ratio 15/55/30%
RGBA (RGB+A, A means alpha channel) . The alpha channel is used for "alpha compositing", which can mostly be associated as "opacity". AROS deals in RGB with two digits for every color (red, green, blue), in ARGB you have two additional hex digits for the alpha channel.
The shadows are represented by the left third of the graph. The highlights are represented by the right third. And the midtones are, of course, in the middle. The higher the black peaks in the graph, the more pixels are concentrated in that tonal range (total black area).
By moving the black endpoint, which identifies the shadows (darkness) and a white light endpoint (brightness) up and down either sides of the graph, colors are adjusted based on these points.
By dragging the central one, can increased the midtones and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative .
RGB Curves
* Move left endpoint (black point) up or right endpoint (white point) up brightens
* Move left endpoint down or right endpoint down darkens
Color Curves
* Dragging up on the Red Curve increases the intensity of the reds in the image but
* Dragging down on the Red Curve decreases the intensity of the reds and thus increases the apparent intensity of its complimentary color, cyan. Green’s complimentary color is magenta, and blue’s is yellow.
<pre>
Red <-> Cyan
Green <->Magenta
Blue <->Yellow
</pre>
YUV Best option to analyse and pull out statistical elements of any picture (i.e. separate luminance data from color data). The line in Y luma tone box represents the brightness of the image with the point in the bottom left been black, and the point in the top right as white. A low-contrast image has a concentrated clump of values nearer to the center of the graph. By comparison, a high-contrast image has a wider distribution of values across the entire width of the Histogram. A histogram that is skewed to the right would indicate a picture that is a bit overexposed because most of the color data is on the lighter side (increase exposure with higher value F), while a histogram with the curve on the left shows a picture that is underexposed. This is good information to have when using post-processing software because it shows you not only where the color data exists for a given picture, but also where any data has been clipped (extremes on edges of either side): that is, it does not exist and, therefore, cannot be edited. By dragging the endpoints of the line and as well as the central one, can increased the dark/shadows, midtones and light/bright parts and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative .
The U and V chroma parts show color difference components of the image. It’s useful for checking whether or not the overall chroma is too high, and also whether it’s being limited too much
Can be used to create a negative image but also
With U (Cb), the higher value you are, the more you're on the blue primary color. If you go to the low values then you're on blue complementary color, i.e. yellow.
With V (Cr), this is the same principle but with Red and Cyan.
e.g. If you push U full blue and V full red, you get magenta. If you push U full yellow and V full Cyan then you get green.
YUV simultaneously adds to one side of the color equation while subtracting from the other.
using YUV to do color correction can be very problematic because each curve alters the result of each other: the mutual influence between U and V often makes things tricky. You may also be careful in what you do to avoid the raise of noise (which happens very easily). Best results are obtained with little adjustments
sunset that looks uninspiring and needs some color pop especially for the rays over the hill, a subtle contrast raise while setting luma values back to the legal range without hard clipping.
Free royalty pictures, [www.freeimages.com ], [http://imageshack.us/ ], [http://photobucket.com/ ], [http://rawpixels.net/], [], [], [],
====Lunapaint====
Pixel based drawing app with onion-skin animation function
Blocking, Shading, Coloring, adding detail
<pre>
b BRUSH
e ERASER
alt eyedropper
v layer tool
z ZOOM / MAGNIFY < > n
spc panning
m marque
q lasso
w same color selection / region
</pre>
<pre>
, LM RM
v
V
f filter
F
. size
p
, pick color
[] last / next color
</pre>
There is not much missing in Lunapaint to be as good as FlipBook and then you have to take into account that Flipbook is considered to be amongst the best and easiest to use animation software out there. Ok to be honest Flipbook has some nice features that require more heavy work but those aren't so much needed right away, things like camera effects, sound, smart fill, export to different movie file formats etc.
Tried Flipbook with my tablet and compared it to Luna. The feeling is the same when sketching. LunaPaint is very responsive/fluent to draw with. Just as Flipbook is, and that responsiveness is something its users have mentioned as one of the positive sides of said software.
author was learning MUI. Some parts just have to be rewritten with proper MUI classes before new features can be added.
* add [Frame Add] / [Frame Del]
* whole animation feature is impossible to use. If you draw 2 color maybe but if you start coloring your cells then you get in trouble
* pickup the entire image as a brush, not just a selection ? And consequently remove the brush from memory when one doesn't need it anymore. can pick up a brush and put it onto a new image but cropping isn't possible, nor to load/save brushes.
* Undo is something I longed for ages in Lunapaint.
* to import into the current layer, other types of images (e.g. JPEG) besides RAW64.
* implement graphic tablet features support
**GENERAL DRAWING**
Miss it very much:
UNDO
ERASER
COLORPICKER - has to show on palette too which color got picked.
BACKGROUND COLOR -Possibility to select from "New project screen"
Miss it somewhat:
ICON for UNDO
ICON for ERASER
ICON for CLEAR SCREEN ( What can I say? I start over from scratch very often )
BRUSH - possibility to cut out as brush not just copy off image to brush
**ANIMATING**
Miss it very much:
NUMBER OF CELLS - Possibity to change total no. of cells during project
ANIM BRUSH - Possibility to pick up a selected part of cells into an animbrush
Miss it somewhat:
ADD/REMOVE FRAMES: Add/remove single frame
In general LunaPaint is really well done and it feels like a new DeluxePaint version. It works with my tablet. Sure there's much missing of course but things can always be added over time. So there is great potential in LunaPaint that's for sure. Animations could be made in it and maybe put together in QuickVideo, saving in .gif or .mng etc some day.
LAYERS
-Layers names don't get saved globally in animation frames
-Layers order don't change globally in an animation (perhaps as default?).
EXPORTING IMAGES
-Exporting frames to JPG/PNG gives problems with colors. (wrong colors. See my animatiopn --> My robot was blue now it's "gold" ) I think this only happens if you have layers.
-Trying to flatten the layers before export doesn't work if you have animation frames only the one you have visible will flatten properly all other frames are destroyed. (Only one of the layers are visible on them)
-Exporting images filenames should be for example e.g. file0001, file0002...file0010 instead as of now file1, file2...file10
LOAD/SAVE (Preferences)
-Make a setting for the default "Work" folder.
* Destroyed colors if exported image/frame has layers
* mystic color cycling of the selected color while stepping frames back/forth (annoying)
<pre>
Deluxe Paint II enhanced key shortcuts
NOTE: @ denotes the ALT key
[Technique]
F1 - Paint
F2 - Single Colour
F3 - Replace
F4 - Smear
F5 - Shade
F6 - Cycle
F7 - Smooth
M - Colour Cycle
[Brush]
B - Restore
O - Outline
h - Halve brush size
H - Double brush size
x - Flip brush on X axis
X - Double brush size on X axis only
y - Flip on Y
Y - Double on Y
z - Rotate brush 90 degrees
Z - Stretch
[Stencil]
` - Stencil On
[Miscellaneous]
F9 - Info Bar
F10 - Selection Bar
@o - Co-Ordinates
@a - Anti-alias
@r - Colourise
@t - Translucent
TAB - Colour Cycle
[Picture]
L - Load
S - Save
j - Page to Spare(Flip)
J - Page to Spare(Copy)
V - View Page
Q - Quit
[General Keys]
m - Magnify
< - Zoom In
> - Zoom Out
[ - Palette Colour Up
] - Palette Colour Down
( - Palette Colour Left
) - Palette Colour Right
, - Eye Dropper
. - Pixel / Brush Toggle
/ - Symmetry
| - Co-Ordinates
INS - Perspective Control
+/- - Brush Size (Fine Control)
w - Unfilled Polygon
W - Filled Polygon
e - Unfilled Ellipse
E - Filled Ellipse
r - Unfilled Rectangle
R - Filled Rectangle
t - Type/text tool
a - Select Font
u/U - Undo
d - Brush
D - Filled Non-Uniform Polygon
f/F - Fill Options
g/G - Grid
h/H - Brush Size (Coarse Control)
K - Clear
c - Unfilled Circle
C - Filled Circle
v - Line
b - Scissor Select and Toggle
B - Brush
{,} - Toggle between two background colours
</pre>
====Lodepaint====
Pixel based painting artwork app
====Grafx2====
Pixel based painting artwork app aesprite like
[https://www.youtube.com/watch?v=59Y6OTzNrhk aesprite workflow keys and tablet use], [],
====Vector Graphics ZuneFIG====
Vector Image Editing of files .svg .ps .eps
*Objects - raise lower rotate flip aligning snapping
*Path - unify subtract intersect exclude divide
*Colour - fill stroke
*Stroke - size
*Brushes -
*Layers -
*Effects - gaussian bevels glows shadows
*Text -
*Transform -
AmiFIG ([http://epb.lbl.gov/xfig/frm_introduction.html xfig manual])
[[File:MyScreen.png|thumb|left|alt=Showing all Windows open in AmiFIG.|All windows available to AmiFIG.]]
for drawing simple to intermediate vector graphic images for scientific and technical uses and for illustration purposes for those with talent
;Menu options
* Load - fig format but import(s) SVG
* Save - fig format but export(s) eps, ps, pdf, svg and png
* PAN = Ctrl + Arrow keys
* Deselect all points
There is no selected object until you apply the tool, and the selected object is not highlighted.
;Metrics - to set up page and styles - first window to open on new drawings
;Tools - Drawing Primitives - set Attributes window first before clicking any Tools button(s)
* Shapes - circles, ellipses, arcs, splines, boxes, polygon
* Lines - polylines
* Text "T" button
* Photos - bitmaps
* Compound - Glue, Break, Scale
* POINTs - Move, Add, Remove
* Objects - Move, Copy, Delete, Mirror, Rotate, Paste
use right mouse button to stop extra lines, shapes being formed and the left mouse to select/deselect tools button(s)
* Rotate - moves in 90 degree turns centered on clicked POINT of a polygon or square
;Attributes which provide change(s) to the above primitives
* Color
* Line Width
* Line Style
* arrowheads
;Modes
Choose from freehand, charts, figures, magnet, etc.
;Library - allows .fig clip-art to be stored
* compound tools to add .fig(s) together
;FIG 3.2 [http://epb.lbl.gov/xfig/fig-format.html Format] as produced by xfig version 3.2.5
<pre>
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
4 0 0 50 -1 0 12 0.0000 4 135 1050 1050 2475 This is a test.01
</pre>
# change the text alignment within the textbox. I can choose left, center, or right aligned by either changing the integer in the second column from 0 (left) to 1 or 2 (center, or right).
# The third integer in the row specifies fontcolor. For instance, 0 is black, but blue is 1 and Green3 is 13.
# The sixth integer in the bottom row specifies fontface. 0 is Times-Roman, but 16 is Helvetica (a MATLAB default).
# The seventh number is fontsize. 12 represents a 12pt fontsize. Changing the fontsize of an item really is as easy as changing that number to 20.
# The next number is the counter-clockwise angle of the text. Notice that I have changed the angle to .7854 (pi/4 rounded to four digits=45 degrees).
# twelfth number is the position according to the standard “x-axis” in Xfig units from the left. Note that 1200 Xfig units is equivalent to once inch.
# thirteenth number is the “y-position” from the top using the same unit convention as before.
* The nested text string is what you entered into the textbox.
* The “01″ present at the end of that line in the .fig file is the closing tag. For instance, a change to \100 appends a @ symbol at the end of the period of that sentence.
; Just to note there are no layers, no 3d functions, no shading, no transparency, no animation
[[#top|...to the top]]
===Audio===
# AHI uses linear panning/balance, which means that in the center, you will get -6dB. If an app uses panning, this is what you will get. Note that apps like Audio Evolution need panning, so they will have this problem.
# When using AHI Hifi modes, mixing is done in 32-bit and sent as 32-bit data to the driver. The Envy24HT driver uses that to output at 24-bit (always).
# For the Envy24/Envy24HT, I've made 16-bit and 24-bit inputs (called Line-in 16-bit, Line-in 24-bit etc.). There is unfortunately no app that can handle 24-bit recording.
====Music Mods====
Digital module (mods) trackers are music creation software using samples and sometimes soundfonts, audio plugins (VST, AU or RTAS), MIDI.
Generally, MODs are similar to MIDI in that they contain note on/off and other sequence messages that control the mod player. Unlike (most) midi files, however, they also contain sound samples that the sequence information actually plays. MOD files can have many channels (classic amiga mods have 4, corresponding to the inbuilt sound channels), but unlike MIDI, each channel can typically play only one note at once. However, since that note might be a sample of a chord, a drumloop or other complex sound, this is not as limiting as it sounds.
Like MIDI, notes will play indefinitely if they're not instructed to end. Most trackers record this information automatically if you play your music in live. If you're using manual note entry, you can enter a note-off command with a keyboard shortcut - usually Caps Lock.
In fact when considering file size MOD is not always the best option. Even a dummy song wastes few kilobytes for nothing when a simple SID tune could be few hundreds bytes and not bigger than 64kB. AHX is another small format, AHX tunes are never larger than 64kB excluding comments.
[https://www.youtube.com/watch?v=rXXsZfwgil Protrekkr] (previously aka [w:Juan_Antonio_Arguelles_Rius|NoiseTrekkr])
If Protrekkr does not start, please check if the Unit 0 has been setup in the AHI prefs and still not, go to the directory utilities/protrekkr and double click on the Protrekkr icon
*Sample
*Note - Effect
*Track (column) - Pattern - Order
It all starts with the Sample which is used to create Note(s) in a Track (column of a tracker)
The Note can be changed with an Effect. A Track of Note(s) can be collected into a Pattern (section of a song) and these can be given Order to create the whole song.
Patience (notes have to be entered one at a time) or playing the bassline on a midi controller (faster - see midi section above). Best approach is to wait until a melody popped into your head.
*Up-tempo means the track should be reasonably fast, but not super-fast.
*Groovy and funky imply the track should have some sort of "swing" feel, with plenty of syncopation or off beat emphasis and a recognizable, melodic bass line.
*Sweet and happy mean upbeat melodies, a major key and avoiding harsh sounds.
*Moody - minor key
First, create a quick bass sound, which is basically a sine wave, but can be hand drawn for a little more variance. It could also work for the melody part, too.
This is usually a bass guitar or some kind of synthesizer bass. The bass line is often forgotten by inexperienced composers, but it plays an important role in a musical piece. Together with the rhythm section the bass line forms the groove of a song. It's the glue between the rhythm section and the melodic layer of a song.
The drums are just pink noise samples, played at different frequencies to get a slightly different sound for the kick, snare, and hihats.
Instruments that fall into the rhythm category are bass drums, snares, hi-hats, toms, cymbals, congas, tambourines, shakers, etc. Any percussive instrument can be used to form part of the rhythm section.
The lead is the instrument that plays the main melody, on top of the chords. There are many instruments that can play a lead section, like a guitar, a piano, a saxophone or a flute. The list is almost endless. There is a lot of overlap with instruments that play chords. Often in one piece an instrument serves both roles. The lead melody is often played at a higher pitch than the chords.
Listened back to what was produced so far, and a counter-melody can be imagined, which can be added with a triangle wave.
To give the ends of phrases some life, you can add a solo part with a crunchy synth. By hitting random notes in the key of G, then edited a few of them.
For the climax of the song, filled out the texture with a gentle high-pitch pad… …and a grungy bass synth.
The arrow at A points at the pattern order list. As you see, the patterns don't have to be in numerical order. This song starts with pattern "00", then pattern "02", then "03", then "01", etcetera. Patterns may be repeated throughout a song.
The B arrow points at the song title. Below it are the global BPM and speed parameters. These determine the tempo of the song, unless the tempo is altered through effect commands during the song.
The C arrow points at the list of instruments. An instrument may consist of multiple samples. Which sample will be played depends on the note. This can be set in the Instrument Editing screen. Most instruments will consist of just one sample, though. The sample list for the selected instrument can be found under arrow D.
Here's a part of the main editing screen. This is where you put in actual notes. Up to 32 channels can be used, meaning 32 sounds can play simultaneously. The first six channels of pattern "03" at order "02" are shown here. The arrow at A points at the row number. The B arrow points at the note to play, in this case a C4. The column pointed at by the C arrow tells us which instrument is associated with that note, in this case instrument #1 "Kick".
The column at D is used (mainly) for volume commands. In this case it is left empty which means the instrument should play at its default volume. You can see the volume column being used in channel #6.
The E column tells us which effect to use and any parameters for that effect. In this case it holds the "F" effect, which is a tempo command. The "04" means it should play at tempo 4 (a smaller number means faster).
Base pattern
When I create a new track I start with what I call the base pattern. It is worthwhile to spend some time polishing it as a lot of the ideas in the base pattern will be copied and used in other patterns. At least, that's how I work. Every musician will have his own way of working. In "Wild Bunnies" the base pattern is pattern "03" at order "02".
In the section about selecting samples I talked about the four different categories of instruments: drums, bass, chords and leads. That's also how I usually go about making the base pattern. I start by making a drum pattern, then add a bass line, place some chords and top it off with a lead. This forms the base pattern from which the rest of the song will grow.
Drums
Here's a screenshot of the first four rows of the base pattern. I usually reserve the first four channels or so for the drum instruments. Right away there are a couple of tricks shown here. In the first channel the kick, or bass drum, plays some notes. Note the alternating F04 and F02 commands. The "F" command alters the tempo of the song and by quickly alternating the tempo; the song will get some kind of "swing" feel.
In the second channel the closed hi-hat plays a fairly simple pattern. Further down in the channel, not shown here, some open hi-hat notes are added for a bit of variation.
In the third and fourth channel the snare sample plays. The "8" command is for panning. One note is panned hard to the left and the other hard to the right. One sample is played a semitone lower than the other. This results in a cool flanging effect. It makes the snare stand out a little more in the mix.
Bass line
There are two different instruments used for the bass line. Instrument #6 is a pretty standard synthesized bass sound. Instrument #A sounds a bit like a slap bass when used with a quick fade out. By using two different instruments the bass line sounds a bit more ”human”. The volume command is used to cut off the notes. However, it is never set to zero. Setting the volume to a very small value will result in a reverb-like effect. This makes the song sound more "live".
The bass line hints at the chords that will be played and the key the song will be in. In this case the key of the song is D-major, a positive and happy key.
Chords
The D major chords that are being played here are chords stabs; short sounds with a quick decay (fade out). Two different instruments (#8 and #9) are used to form the chords. These instruments are quite similar, but have a slightly different sound, panning and volume decay. Again, the reason for this is to make the sound more human. The volume command is used on some chords to simulate a delay, to achieve more of a live feel. The chords are placed off-beat making for a funky rhythm.
Lead
Finally the lead melody is added. The other instruments are invaluable in holding the track together, but the lead melody is usually what catches people's attention.
A lot of notes and commands are used here, but it looks more complex than it is. A stepwise ascending melody plays in channel 13. Channel 14 and 15 copy this melody, but play it a few rows later at a lower volume. This creates an echo effect. A bit of panning is used on the notes to create some stereo depth. Like with the bass line, instead of cutting off notes the volume is set to low values for a reverb effect. The "461" effect adds a little vibrato to the note, which sounds nice on sustained notes.
Those paying close attention may notice the instrument used here for the lead melody is the same as the one used for the bass line (#6 "Square"), except played two or three octaves higher. This instrument is a looped square wave sample. Each type of wave has its own quirks, but the square wave (shown below) is a really versatile wave form.
Song structure
Good, catchy songs are often carefully structured into sections, some of which are repeated throughout the song with small variations.
A typical pop-song structure is: Intro - Verse - Chorus - Verse - Chorus - Bridge - Chorus.
Other single sectional song structures are
<pre>
Strophic or AAA Song Form - oldest story telling with refrain (often title of the song) repeated in every verse section melody
AABA Song Form - early popular, jazz and gospel fading during the 1960s
AB or Verse/Chorus Song Form - songwriting format of choice for modern popular music since the 1960s
Verse/Chorus/Bridge Song Form
ABAB Song Form
ABAC Song Form
ABCD Song Form
AAB 12-Bar Song Form - three four-bar lines or sub-sections
8-Bar Song Form
16-Bar Song Form
Hybrid / Compound Song Forms
</pre>
The most common building blocks are:
#INTRODUCTION(INTRO)
#VERSE
#REFRAIN
#PRE-CHORUS / RISE / CLIMB
#CHORUS
#BRIDGE
#MIDDLE EIGHT
#SOLO / INSTRUMENTAL BREAK
#COLLISION
#CODA / OUTRO
#AD LIB (OFTEN IN CODA / OUTRO)
The chorus usually has more energy than the verse and often has a memorable melody line. As the chorus is repeated the most often during the song, it will be the part that people will remember.
The bridge often marks a change of direction in the song. It is not uncommon to change keys in the bridge, or at least to use a different chord sequence. The bridge is used to build up tension towards the big finale, the last repetition of chorus.
Playing
RCTRL: Play song from row 0.
LSHIFT + RCTRL: Play song from current row.
RALT: Play pattern from row 0.
LSHIFT + RALT: Play pattern from current row.
Left mouse on '>': Play song from row 0.
Right mouse on '>': Play song from current row.
Left mouse on '|>': Play pattern from row 0.
Right mouse on '|>': Play pattern from current row.
Left mouse on 'Edit/Record': Edit mode on/off.
Right mouse on 'Edit/Record': Record mode on/off.
Editing
LSHIFT + ESCAPE: Switch large patterns view on/off
TAB: Go to next track
LSHIFT + TAB: Go to prev. track
LCTRL + TAB: Go to next note in track
LCTRL + LSHIFT + TAB: Go to prev. note in track
SPACE: Toggle Edit mode On & Off
(Also stop if the song is being played)
SHIFT SPACE: Toggle Record mode On & Off
(Wait for a key note to be pressed
or a midi in message to be received)
DOWN ARROW: 1 Line down
UP ARROW: 1 Line up
LEFT ARROW: 1 Row left
RIGHT ARROW: 1 Row right
PREV. PAGE: 16 Arrows Up
NEXT PAGE: 16 Arrows Down
HOME / END: Top left / Bottom right of pattern
LCTRL + HOME / END: First / last track
F5, F6, F7, F8, F9: Jump to 0, 1/4, 2/4, 3/4, 4/4 lines of the patterns
+ - (Numeric keypad): Next / Previous pattern
LCTRL + LEFT / RIGHT: Next / Previous pattern
LCTRL + LALT + LEFT / RIGHT: Next / Previous position
LALT + LEFT / RIGHT: Next / Previous instrument
LSHIFT + M: Toggle mute state of the current channel
LCTRL + LSHIFT + M: Solo the current track / Unmute all
LSHIFT + F1 to F11: Select a tab/panel
LCTRL + 1 to 4: Select a copy buffer
Tracking
1st and 2nd keys rows: Upper octave row
3rd and 4th keys rows: Lower octave row
RSHIFT: Insert a note off
/ and * (Numeric keypad)
or F1 F2: -1 or +1 octave
INSERT / BACKSPACE: Insert or Delete a line in current track
or current selected block.
LSHIFT + INSERT / BACKSPACE: Insert or Delete a line in current pattern
DELETE (NOT BACKSPACE): Empty a column or a selected block.
Blocks
(Blocks can also be selected with the mouse by holding the right button and scrolling the pattern with the mouse wheel).
LCTRL + A: Select entire current track
LCTRL + LSHIFT + A: Select entire current pattern
LALT + A: Select entire column note in a track
LALT + LSHIFT + A: Select all notes of a track
LCTRL + X: Cut the selected block and copy it into the block-buffer
LCTRL + C: Copy the selected block into the block-buffer
LCTRL + V: Paste the data from the block buffer into the pattern
LCTRL + I: Interpolate selected data from the first to the last row of a selection
LSHIFT + ARROWS
PREV. PAGE
NEXT PAGE: Select a block
LCTRL + R: Randomize the select columns of a selection, works similar to CTRL + I (interpolating them)
LCTRL + U: Transpose the note of a selection to 1 seminote higher
LCTRL + D: Transpose the note of a selection to 1 seminote lower
LCTRL + LSHIFT + U: Transpose the note of a selection to 1 seminote higher (only for the current instrument)
LCTRL + LSHIFT + D: Transpose the note of a selection to 1 seminote lower (only for the current instrument)
LCTRL + H: Transpose the note of a selection to 1 octave higher
LCTRL + L: Transpose the note of a selection to 1 octave lower
LCTRL + LSHIFT + H: Transpose the note of a selection to 1 octave higher (only for the current instrument)
LCTRL + LSHIFT + L: Transpose the note of a selection to 1 octave lower (only for the current instrument)
LCTRL + W: Save the current selection into a file
Misc
LALT + ENTER: Switch between full screen / windowed mode
LALT + F4: Exit program (Windows only)
LCTRL + S: Save current module
LSHIFT + S: Switch top right panel to synths list
LSHIFT + I: Switch top right panel to instruments list
<pre>
C-x xh xx xx hhhh Volume
B-x xh xx xx hhhh Jump to
A#x xh xx xx hhhh hhhh Slide
F-x xh xx xx hhhh Tempo
D-x xh xx xx hhhh Pattern Break
G#x xh xx xx hhhh
</pre>
h Hex 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
d Dec 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19
The Set Volume command: C. Input a note, then move the cursor to the effects command column and type a C. Play the pattern, and you shouldn't be able to hear the note you placed the C by. This is because the effect parameters are 00. Change the two zeros to a 40(Hex)/64(Dec), depending on what your tracker uses. Play back the pattern again, and the note should come in at full volume.
The Position Jump command next. This is just a B followed by the position in the playing list that you want to jump to. One thing to remember is that the playing list always starts at 0, not 1. This command is usually in Hex.
Onto the volume slide command: A. This is slightly more complex (much more if you're using a newer tracker, if you want to achieve the results here, then set slides to Amiga, not linear), due to the fact it depends on the secondary tempo. For now set a secondary tempo of 06 (you can play around later), load a long or looped sample and input a note or two. A few rows after a note type in the effect command A. For the parameters use 0F. Play back the pattern, and you should notice that when the effect kicks in, the sample drops to a very low volume very quickly. Change the effect parameters to F0, and use a low volume command on the note. Play back the pattern, and when the slide kicks in the volume of the note should increase very quickly.
This because each part of the effect parameters for command A does a different thing. The first number slides the volume up, and the second slides it down. It's not recommended that you use both a volume up and volume down at the same time, due to the fact the tracker only looks for the first number that isn't set to 0. If you specify parameters of 8F, the tracker will see the 8, ignore the F, and slide the volume up. Using a slide up and down at same time just makes you look stupid. Don't do it...
The Set Tempo command: F, is pretty easy to understand. You simply specify the BPM (in Hex) that you want to change to. One important thing to note is that values of lower than 20 (Hex) sets the secondary tempo rather than the primary.
Another useful command is the Pattern Break: D. This will stop the playing of the current pattern and skip to the next one in the playing list. By using parameters of more than 00 you can also specify which line to begin playing from.
Command 3 is Portamento to Note. This slides the currently playing note to another note, at a specified speed. The slide then stops when it reaches the desired note.
<pre>
C-2 1 000 - Starts the note playing
--- 000
C-3 330 - Starts the slide to C-3 at a speed of 30.
--- 300 - Continues the slide
--- 300 - Continues the slide
</pre>
Once the parameters have been set, the command can be input again without any parameters, and it'll still perform the same function unless you change the parameters. This memory function allows certain commands to function correctly, such as command 5, which is the Portamento to Note and Volume Slide command. Once command 3 has been set up command 5 will simply take the parameters from that and perform a Portamento to Note. Any parameters set up for command 5 itself simply perform a Volume Slide identical to command A at the same time as the Portamento to Note.
This memory function will only operate in the same channel where the original parameters were set up.
There are various other commands which perform two functions at once. They will be described as we come across them.
C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 00
C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 02
C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 05
C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 08
C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0A
C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0D
C-3 04 .. .. 09 10 ---> C-3 04 .. .. 09 10
(You can also switch on the Slider Rec to On, and perform parameter-live-recording, such as cutoff transitions, resonance or panning tweaking, etc..) Note: this command only works for volume/panning and fx datas columns.
The next command we'll look at is the Portamento up/down: 1 and 2. Command 1 slides the pitch up at a specified speed, and 2 slides it down. This command works in a similar way to the volume slide, in that it is dependent on the secondary tempo. Both these commands have a memory dependent on each other, if you set the slide to a speed of 3 with the 1 command, a 2 command with no parameters will use the speed of 3 from the 1 command, and vice versa.
Command 4 is Vibrato. Vibrato is basically rapid changes in pitch, just try it, and you'll see what I mean. Parameters are in the format of xy, where x is the speed of the slide, and y is the depth of the slide. One important point to remember is to keep your vibratos subtle and natural so a depth of 3 or less and a reasonably fast speed, around 8, is usually used. Setting the depth too high can make the part sound out of tune from the rest.
Following on from command 4 is command 6. This is the Vibrato and Volume Slide command, and it has a memory like command 5, which you already know how to use.
Command 7 is Tremolo. This is similar to vibrato. Rather than changing the pitch it slides the volume. The effect parameters are in exactly the same format. vibrato effect (0x1dxy) x = speed y = depth (can't be used if arpeggio (0x1b) is turned on)
<pre>
C-7 00 .. .. 1B37 <- Turn Arpeggio effect on
--- .. .. .. 0000
--- .. .. .. 0000
--- .. .. .. 0000
--- .. .. .. 1B38 <- Change datas
--- .. .. .. 0000
--- .. .. .. 0000
--- .. .. .. 0000
--- .. .. .. 1B00 <- Turn it off
</pre>
Command 9 is Sample Offset. This starts the playback of the sample from a different place than the start. The effect parameters specify the sample offset, but only very roughly. Say you have a sample which is 8765(Hex) bytes long, and you wanted it to play from position 4321(Hex). The effect parameter could only be as accurate as the 43 part, and it would ignore the 21.
Command B is the Playing List/Order Jump command. The parameters specify the position in the Playing List/Order to jump to. When used in conjunction with command D you can specify the position and the line to play from.
Command E is pretty complex, as it is used for a lot of different things, depending on what the first parameter is. Let's take a trip through each effect in order.
Command E0 controls the hardware filter on an Amiga, which, as a low pass filter, cuts off the highest frequencies being played back. There are very few players and trackers on other system that simulate this function, not that you should need to use it. The second parameter, if set to 1, turns on the filter. If set to 0, the filter gets turned off.
Commands E1/E2 are Fine Portamento Up/Down. Exactly the same functions as commands 1/2, except that they only slide the pitch by a very small amount. These commands have a memory the same as 1/2 as well.
Command E3 sets the Glissando control. If parameters are set to 1 then when using command 3, any sliding will only use the notes in between the original note and the note being slid to. This produces a somewhat jumpier slide than usual. The best way to understand is to try it out for yourself. Produce a slow slide with command 3, listen to it, and then try using E31.
Command E4 is the Set Vibrato Waveform control. This command controls how the vibrato command slides the pitch. Parameters are 0 - Sine, 1 - Ramp Down (Saw), 2 - Square. By adding 4 to the parameters, the waveform will not be restarted when a new note is played e.g. 5 - Sine without restart.
Command E5 sets the Fine Tune of the instrument being played, but only for the particular note being played. It will override the default Fine Tune for the instrument. The parameters range from 0 to F, with 0 being -8 and F being +8 Fine Tune. A parameter of 8 gives no Fine Tune. If you're using a newer tracker that supports more than -8 to +8 e.g. -128 to +128, these parameters will give a rough Fine Tune, accurate to the nearest 16.
Command E6 is the Jump Loop command. You mark the beginning of the part of a pattern that you want to loop with E60, and then specify with E6x the end of the loop, where x is the number of times you want it to loop.
Command E7 is the Set Tremolo Waveform control. This has exactly the same parameters as command E4, except that it works for Tremolo rather than Vibrato.
Command E9 is for Retriggering the note quickly. The parameter specifies the interval between the retrigs. Use a value of less than the current secondary tempo, or else the note will not get retrigged.
Command EA/B are for Fine Volume Slide Up/Down. Much the same as the normal Volume Slides, except that these are easier to control since they don't depend on the secondary tempo. The parameters specify the amount to slide by e.g. if you have a sample playing at a volume of 08 (Hex) then the effect EA1 will slide this volume to 09 (Hex). A subsequent effect of EB4 would slide this volume down to 05 (Hex).
Command EC is the Note Cut. This sets the volume of the currently playing note to 0 at a specified tick. The parameters should be lower than the secondary tempo or else the effect won't work.
Command ED is the Note Delay. This should be used at the same time as a note is to be played, and the parameters will specify the number of ticks to delay playing the note. Again, keep the parameters lower than the secondary tempo, or the note won't get played!
Command EE is the Pattern Delay. This delays the pattern for the amount of time it would take to play a certain number of rows. The parameters specify how many rows to delay for.
Command EF is the Funk Repeat command. Set the sample loop to 0-1000. When EFx is used, the loop will be moved to 1000- 2000, then to 2000-3000 etc. After 9000-10000 the loop is set back to 0- 1000. The speed of the loop "movement" is defined by x. E is two times as slow as F, D is three times as slow as F etc. EF0 will turn the Funk Repeat off and reset the loop (to 0-1000).
effects 0x41 and 0x42 to control the volumes of the 2 303 units
There is a dedicated panel for synth parameter editing with coherent sections (osc, filter modulation, routing, so on) the interface is much nicer, much better to navigate with customizable colors, the reverb is now customizable (10 delay lines), It accepts newer types of Waves (higher bit rates, at least 24). Has a replay routine.
It's pretty much your basic VA synth. The problem isn't with the sampler being to high it's the synth is tuned two octaves too low, but if you want your samples tuned down just set the base note down 2 octaves (in the instrument panel).
so the synth is basically divided into 3 sections from left to right: oscillators/envelopes, then filter and LFO's, and in the right column you have mod routings and global settings.
for the oscillator section you have two normal oscillators (sine, saw, square, noise), the second of which is tunable, the first one tunes with the key pressed. Attached to OSC 1 is a sub-oscillator, which is a sawtooth wave tuned one octave down. The phase modulation controls the point in the duty cycle at which the oscillator starts. The ADSR envelope sliders (grouped with oscs) are for modulation envelope 1 and 2 respectively. you can use the synth as a sampler by choosing the instrument at the top.
In the filter column, the filter settings are: 1 = lowpass, 2 = highpass, 3 = off. cutoff and resonance. For the LFOs they are LFO 1 and LFO 2, the ADSR sliders in those are for the LFO itself.
For the modulation routings you have ENV 1, LFO 1 for the first slider and ENV 2, LFO 2 for the second, you can cycle through the individual routings there, and you can route each modulation source to multiple destinations of course, which is another big plus for this synth. Finally the glide time is for portamento and master volume, well, the master volume... it can go quite loud.
The sequencer is changed too, It's more like the one in AXS if you've used that, where you can mute tracks to re-use patterns with variation.
<pre>
Support for the following modules formats:
669 (Composer 669, Unis 669),
AMF (DSMI Advanced Module Format),
AMF (ASYLUM Music Format V1.0),
APUN (APlayer), DSM (DSIK internal format),
FAR (Farandole Composer),
GDM (General DigiMusic),
IT (Impulse Tracker),
IMF (Imago Orpheus),
MOD (15 and 31 instruments),
MED (OctaMED),
MTM (MultiTracker Module editor),
OKT (Amiga Oktalyzer),
S3M (Scream Tracker 3),
STM (Scream Tracker),
STX (Scream Tracker Music Interface Kit),
ULT (UltraTracker),
UNI (MikMod),
XM (FastTracker 2),
Mid (midi format via timidity)
</pre>
Possible plugin options include [http://lv2plug.in/ LV2],
====Midi - Musical Instrument Digital Interface====
A midi file typically contains music that plays on up to 16 channels (as per the midi standard), but many notes can simultaneously play on each channel (depending on the limit of the midi hardware playing it).
'''Timidity'''
Although usually already installed, you can uncompress the [http://www.libsdl.org/projects/SDL_mixer/ timidity.tar.gz (14MB)] into a suitable drawer like below's SYS:Extras/Audio/
assign timidity: SYS:Extras/Audio/timidity
added to SYSːs/User-Startup
'''WildMidi playback'''
'''Audio Evolution 4 (2003) 4.0.23 (from 2012)'''
*Sync Menu - CAMD Receive, Send checked
*Options Menu - MIDI Machine Control - Midi Bar Display - Select CAMD MIDI in / out - Midi Remote Setup
MCB Master Control Bus
*Sending a MIDI start-command and a Song Position Pointer, you can synchronize audio with an external MIDI sequencer (like B&P).
*B&P Receive, start AE, add AudioEvolution.ptool in Bars&Pipes track, press play / record in AE then press play in Pipes
*CAMD Receive, receive MIDI start or continue commands via camd.library sync to AE
*MIDI Machine Control
*Midi Bar Display
*Select CAMD MIDI in / out
*Midi Remote Setup - open requester for external MIDI controllers to control app mixer and transport controls cc remotely
Channel - mixer(vol, pan, mute, solo), eq, aux, fx,
Subgroup - Volume, Mute, Solo
Transport - Start, End, Play, Stop, Record, Rewind, Forward
Misc - Master vol., Bank Down, Bank up
<pre>
q - quit
First 3 already opened when AE started
F1 - timeline window
F2 - mixer
F3 - control
F4 - subgroups
F5 - aux returns
F6 - sample list
i - Load sample to use
space - start/stop play
b - reset time 0:00
s - split mode
r - open recording window
a - automation edit mode with p panning, m mute and v volume
[ / ] - zoom in / out
: - previous track
* - next track
x c v f - cut copy paste cross-fade
g - snap grid
</pre>
'''[http://bnp.hansfaust.de/ Bars n Pipes sequencer]'''
BarsnPipes debug ... in shell
Menu (right mouse)
*Song - Songs load and save in .song format but option here to load/save Midi_Files .mid in FORMAT0 or FORMAT1
*Track -
*Edit -
*Tool -
*Timing - SMTPE Synchronizing
*Windows -
*Preferences - Multiple MIDI-in option
Windows (some of these are usually already opened when Bars n Pipes starts up for the first time)
*Workflow -> Tracks, .... Song Construction, Time-line Scoring, Media Madness, Mix Maestro,
*Control -> Transport (or mini one), Windows (which collects all the Windows icons together-shortcut), .... Toolbox, Accessories, Metronome,
Once you have your windows placed on the screen that suits your workflow, Song -> Save as Default will save the positions, colors, icons, etc as you'd like them
If you need a particular setup of Tracks, Tools, Tempos etc, you save them all as a new song you can load each time
Right mouse menu -> Preferences -> Environment... -> ScreenMode - Linkages for Synch (to Slave) usbmidi.out.0 and Send (Master) usbmidi.in.0 - Clock MTC
'''Tracks'''
#Double-click on B&P's icon. B&P will then open with an empty Song. You can also double-click on a song icon to open a song in B&P.
#Choose a track. The B&P screen will contain a Tracks Window with a number of tracks shown as pipelines (Track 1, Track 2, etc...). To choose a track, simply click on the gray box to show an arrow-icon to highlight it. This icon show whether a track is chosen or not. To the right of the arrow-icon, you can see the icon for the midi-input. If you double-click on this icon you can change the MIDI-in setup.
#Choose Record for the track. To the right of the MIDI-input channel icon you can see a pipe. This leads to another clickable icon with that shows either P, R or M. This stands for Play, Record or Merge. To change the icon, simply click on it. If you choose P, this track can only play the track (you can't record anything). If you choose R, you can record what you play and it overwrites old stuff in the track. If you choose M, you merge new records with old stuff in the track. Choose R now to be able to make a record.
#Chose MIDI-channel. On the most right part of the track you can see an icon with a number in it. This is the MIDI-channel selector. Here you must choose a MIDI-channel that is available on your synthesizer/keyboard. If you choose General MIDI channel 10, most synthesizer will play drum sounds. To the left of this icon is the MIDI-output icon. Double-click on this icon to change the MIDI-output configuration.
#Start recording. The next step is to start recording. You must then find the control buttons (they look like buttons on a CD-player). To be able to make a record. you must click on the R icon. You can simply now press the play button (after you have pressed the R button) and play something on you keyboard. To playback your composition, press the Play button on the control panel.
#Edit track. To edit a track, you simply double click in the middle part of a track. You will then get a new window containing the track, where you can change what you have recorded using tools provided. Take also a look in the drop-down menus for more features.
Videos to help understand [https://www.youtube.com/watch?v=A6gVTX-9900 small intro], [https://www.youtube.com/watch?v=abq_rUTiSA4&t=3s Overview], [https://www.youtube.com/watch?v=ixOVutKsYQo Workplace Setup CC PC Sysex], [https://www.youtube.com/watch?v=dDnJLYPaZTs Import Song], [https://www.youtube.com/watch?v=BC3kkzPLkv4 Tempo Mapping], [https://www.youtube.com/watch?v=sd23kqMYPDs ptool Arpeggi-8], [https://www.youtube.com/watch?v=LDJq-YxgwQg PlayMidi Song], [https://www.youtube.com/watch?v=DY9Pu5P9TaU Amiga Midi], [https://www.youtube.com/watch?v=abq_rUTiSA4 Learning Amiga bars and Pipes],
Groups like [https://groups.io/g/barsnpipes/topics this] could help
'''Tracks window'''
* blue "1 2 3 4 5 6 7 8 Group" and transport tape deck VCR-type controls
* Flags
* [http://theproblem.alco-rhythm.com/org/bp.html Track 1, Track2, to Track 16, on each Track there are many options that can be activated]
Each Track has a
*Left LHS - Click in grey box to select what Track to work on, Midi-In ptool icon should be here (5pin plug icon), and many more from the Toolbox on the Input Pipeline
*Middle - (P, R, M) Play, Record, Merge/Multi before the sequencer line and a blue/red/yellow (Thru Mute Play) Tap
*Right RHS - Output pipeline, can have icons placed uopn it with the final ptool icon(s) being the 5pin icon symbol for Midi-OUT
Clogged pipelines may need Esc pressed several times
'''Toolbox (tools affect the chosen pipeline)'''
After opening the Toolbox window you can add extra Tools (.ptool) for the pipelines like keyboard(virtual), midimonitor, quick patch, transpose, triad, (un)quantize, feedback in/out, velocity etc
right mouse -> Toolbox menu option -> Install Tool... and navigate to Tool drawer (folder) and select requried .ptool
Accompany B tool to get some sort of rythmic accompaniment, Rythm Section and Groove Quantize are examples of other tools that make use of rythms
[https://aminet.net/search?query=bars Bars & Pipes pattern format .ptrn] for drawer (folder). Load from the Menu as Track or Group
'''Accessories (affect the whole app)'''
Accessories -> Install... and goto the Accessories drawer for .paccess like adding ARexx scripting support
'''Song Construction'''
<pre>
F1 Pencil
F2 Magic Wand
F3 Hand
F4 Duplicator
F5 Eraser
F6 Toolpad
F7 Bounding box
F8 Lock to A-B-A
A-B-A strip, section, edit flags, white boxes,
</pre>
Bars&Pipes Professional offers three track formats; basic song tracks, linear tracks — which don't loop — and finally real‑time tracks. The difference between them is that both song and linear tracks respond to tempo changes, while real‑time tracks use absolute timing, always trigger at the same instant regardless of tempo alterations
'''Tempo Map'''
F1 Pencil
F2 Magic Wand
F3 Hand
F4 Eraser
F5 Curve
F6 Toolpad
Compositions
Lyrics, Key, Rhythm, Time Signature
'''Master Parameters'''
Key, Scale/Mode
'''Track Parameters'''
Dynamics
'''Time-line Scoring'''
'''Media Madness'''
'''Mix Maestro'''
*ACCESSORIES Allows the importation of other packages and additional modules
*CLIPBOARD Full cut, copy and paste operations, enabling user‑definable clips to be shared between tracks.
*INFORMATION A complete rundown on the state of the current production and your machine.
*MASTER PARAMETERS Enables global definition of time signatures, lyrics, scales, chords, dynamics and rhythm changes.
*MEDIA MADNESS A complete multimedia sequencer which allows samples, stills, animation, etc
*METRONOME Tempo feedback via MIDI, internal Amiga audio and colour cycling — all three can be mixed and matched as required.
*MIX MAESTRO Completely automated mixdown with control for both volume and pan. All fader alterations are memorised by the software
*RECORD ACTIVATION Complete specification of the data to be recorded/merged. Allows overdubbing of pitch‑bend, program changes, modulation etc
*SET FLAGS Numeric positioning of location and edit flags in either SMPTE or musical time
*SONG CONSTRUCTION Large‑scale cut and paste of individual measures, verses or chorus, by means of bounding box and drag‑n‑drop mouse selections
*TEMPO MAP Tempo change using a variety of linear and non‑linear transition curves
*TEMPO PALETTE Instant tempo changes courtesy of four user‑definable settings.
*TIMELINE SCORING Sequencing of a selection of songs over a defined period — ideal for planning an entire set for a live performance.
*TOOLBOX Selection screen for the hundreds of signal‑processing tools available
*TRACKS Opens the main track window to enable recording, editing and the use of tools.
*TRANSPORT Main playback control window, which also provides access to user‑ defined flags, loop and punch‑in record modes.
Bars and Pipes Pro 2.5 is using internal 4-Byte IDs, to check which kind of data are currently processed.
Especially in all its files the IDs play an important role. The IDs are stored into the file in the same order they are laid out in the memory.
In a Bars 'N' Pipes file (no matter which kind) the ID "NAME" (saved as its ANSI-values) is stored on a big endian system (68k-computer) as "NAME". On a little endian system (x86 PC computer) as "EMAN". The target is to make the AROS-BnP compatible to songs, which were stored on a 68k computer (AMIGA).
If possible, setting MIDI channels for Local Control for your keyboard
http://www.fromwithin.com/liquidmidi/archive.shtml
MIDI files are essentially a stream of event data. An event can be many things, but typically "note on", "note off", "program change", "controller change", or messages that instruct a MIDI compatible synth how to play a given bit of music.
* Channel - 1 to 16 -
* Messages - PC presets, CC effects like delays, reverbs, etc
* Sequencing - MIDI instruments, Drums, Sound design,
* Recording -
* GUI - Piano roll or Tracker, Staves and Notes
MIDI events/messages like step entry e.g. Note On, Note Off
MIDI events/messages like PB, PC, CC, Mono and Poly After-Touch, Sysex, etc
MIDI sync - Midi Clocks (SPS Measures), Midi Time Code (h, m, s and frames) SMPTE
Individual track editing with audition edits so easier to test any changes. Possible to stop track playback, mix clips from the right edit flag and scroll the display using arrow keys.
Step entry, to extend a selected note hit the space bar and the note grows accordingly. Ability to cancel mouse‑driven edits by simply clicking the right mouse button — at which point everything snaps back into its original form. Lyrics can now be put in with syllable dividers, even across an entire measure or section. Autoranging when you open a edit window, the notes are automatically displayed — working from the lowest upwards.
Flag editing, shift‑click on a flag immediately open the bounds window, ready for numeric input. Ability to cancel edits using the right‑hand mouse button, plus much improved Bounding Box operations.
Icons other than the BarsnPipes icon -> PUBSCREEN=BarsnPipes (cannot choose modes higher than 8bit 256 colors)
Preferences -> Menu in Tracks window - Send MIDI defaults OFF
Prefs -> Environment -> screenmode (saved to BarsnPipes.prefs binary file)
Customization -> pics in gui drawer (folder) -
Can save as .song files and .mid General Midi
SMF is a “Standard Midi File” ([http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html SMF0, SMF1 and SMF2]), [https://github.com/stump/libsmf libsmf], [https://github.com/markc/midicomp MIDIcomp], [https://github.com/MajicDesigns/MD_MIDIFile C++ src], [], [https://github.com/newdigate/midi-smf-reader Midi player],
* SMF0 All MIDI data is stored in one track only, separated exclusively by the MIDI channel.
* SMF1 The MIDI data is stored in separate tracks/channels.
* SMF2 (rarely used) The MIDI data is stored in separate tracks, which are additionally wrapped in containers, so it's possible to have e.g. several tracks using the same MIDI channels.
Would it be possible to enrich Bars N’Pipes with software synth and sample support along with audio recording and mastering tools like in the named MAC or PC music sequencers?
On the classic AMIGA-OS this is not possible because of missing CPU-power. The hardware of the classic AMIGA is not further developed. So we must say (unfortunately) that those dreams can’t become reality
BarsnPipes is best used with external MIDI-equipment. This can be a keyboard or synthesizer with MIDI-connectors.
<pre>
MIDI can control 16 channels
There are USB-MIDI-Interfaces on the market with 16 independent MIDI-lines (multi-port), which can handle 16 MIDI devices independently – 16×16 = 256 independent MIDI-channels or instruments
handle up to 16 different USB-MIDI-Interfaces (multi-device). That is: 16X16X16 = 4096 independent MIDI-channels – theoretically
</pre>
<pre>
Librarian MIDI SYStem EXplorer (sysex) - PatchEditor and used to be supplied as a separate program like PatchMeister but currently not at present
It should support MIDI.library (PD), BlueRibbon.library (B&P), TriplePlayPlus, and CAMD.library (DeluxeMusic) and
MIDI information from a device's user manual and configure a custom interface to access parameters for all MIDI products connected to the system
Supports ALL MIDI events and the Patch/Librarian data is stored in MIDI standard format
Annette M.Crowling, Missing Link Software, Inc.
</pre>
Composers
<pre>
[https://x.com/hirasawa/status/1403686519899054086 Susumu Hirasawa]
</pre>
<pre>
1988 Todor Fay and his wife Melissa Jordan Gray, who founded the Blue Ribbon Inc
1992 Bars&Pipes Pro published
November 2000, Todor Fay announcement to release the sourcecode of Bars&Pipes Pro 2.5c beta
end of May 2001, the source of the main program and the sources of some tools and accessories were in a complete and compileable state
end of October 2009 stop further development of BarsnPipes New for now on all supported systems and made freeware
2013 Alfred Faust diagnosed with incureable illness, called „Myastenia gravis“ (weak muscles)
</pre>
Protrekkr
How to use Midi In/Out in Protrekkr ?
First of all, midi in & out capabilities of this program are rather limited.
# Go to Misc. Setup section and select a midi in or out device to use (ptk only supports one device at a time).
# Go to instrument section, and select a MIDI PRG (the default is N/A, which means no midi program selected).
# Go to track section and here you can assign a midi channel to each track of ptk.
# Play notes :]. Note off works. F'x' note cut command also works too, and note-volume command (speed) is supported.
Also, you can change midicontrollers in the tracker, using '90' in the panning row:
<pre>
C-3 02 .. .. 0000....
--- .. .. 90 xxyy.... << This will set the value
--- .. .. .. 0000.... of the controller n.'xx' to 'yy' (both in hex)
--- .. .. .. 0000....
</pre>
So "--- .. .. 90 2040...." will set the controller number $20(32) to $40(64).
You will need the midi implementation table of your gear to know what you can change with midi controller messages.
N.B. Not all MIDI devices are created equal!
Although the MIDI specification defines a large range of MIDI messages of various kinds, not every MIDI device is required to work in exactly the same way and respond to all the available messages and ways of working. For example, we don't expect a wind synthesiser to work in the same way as a home keyboard.
Some devices, the older ones perhaps, are only able to respond to a single channel. With some of those devices that channel can be altered from the default of 1 (probably) to another channel of the 16 possible.
Other devices, for instance monophonic synthesisers, are capable of producing just one note at a time, on one MIDI channel. Others can produce many notes spread across many channels.
Further devices can respond to, and transmit, "breath controller" data (MIDI controller number 2 (CC#2)) others may respond to the reception of CC#2 but not be able to create and to send it.
A controller keyboard may be capable of sending "expression pedal" data, but another device may not be capable of responding to that message.
Some devices just have the basic GM sound set. The "voice" or "instrument" is selected using a "Program Change" message on its own.
Other devices have a greater selection of voices, usually arranged in "banks", and the choice of instrument is made by responding to "Bank Select MSB" (MIDI controller 0 (CC#0)), others use "Bank Select LSB" (MIDI controller number 32 (CC#32)), yet others use both MSB and LSB sent one after the other, all followed by the Program Change message. The detailed information about all the different voices will usually be available in a published MIDI Data List.
MIDI Implementation Chart
But in the User Manual there is sometimes a summary of how the device works, in terms of MIDI, in the chart at the back of the manual, the MIDI Implementation Chart.
If you require two devices to work together you can compare the two implementation charts to see if they are "compatible". In order to do this we will need to interpret that chart.
The chart is divided into four columns headed "Function", "Transmitted" (or "Tx"), "Received" (or "Rx"), or more correctly "Recognised", and finally, "Remarks".
<pre>
The left hand column defines which MIDI functions are being described.
The 2nd column defines what the device in question is capable of transmitting to another device.
The 3rd column defines what the device is capable of responding to.
The 4th column is for explanations of the values contained within these previous two columns.
</pre>
There should then be twelve sections, with possibly a thirteenth containing extra "Notes". Finally there should be an explanation of the four MIDI "modes" and what the "X" and the "O" mean.
<pre>
Mode 1: Omni On, Poly;
Mode 2: Omni On, Mono;
Mode 3: Omni Off, Poly;
Mode 4: Omni Off, Mono.
</pre>
O means "yes" (implemented), X means "no" (not implemented).
Sometimes you will find a row of asterisks "**************", these seem to indicate that the data is not applicable in this case. Seen in the transmitted field only (unless you've seen otherwise).
Lastly you may find against some entries an asterisk followed by a number e.g. *1, these will refer you to further information, often on a following page, giving more detail.
Basic Channel
But the very first set of boxes will tell us the "Basic Channel(s)" that the device sends or receives on.
"Default" is what happens when the device is first turned on, "changed" is what a switch of some kind may allow the device to be set to.
For many devices e.g. a GM sound module or a home keyboard, this would be 1-16 for both. That is it can handle sending and receiving on all MIDI channels.
On other devices, for example a synthesiser, it may by default only work on channel 1. But the keyboard could be "split" with the lower notes e.g. on channel 2. If the synth has an arppegiator, this may be able to be set to transmit and or receive on yet another channel.
So we might see the default as "1" but the changed as "1-16".
Modes.
We need to understand Omni On and Off, and Mono and Poly, then we can decipher the four modes.
But first we need to understand that any of these four Mode messages can be sent to any MIDI channel. They don't necessarily apply to the whole device.
If we send an "Omni On" message (CC#125) to a MIDI channel of a device, we are, in effect, asking it to respond to e.g. a Note On / Off message pair, received on any of the sixteen channels. Sound strange? Read it again. Still strange? It certainly is. We normally want a MIDI channel to respond only to Note On / Off messages sent on that channel, not any other. In other words, "Omni Off".
So "Omni Off" (CC#124) tells a channel of our MIDI device to respond only to messages sent on that MIDI channel.
"Poly" (CC#127) is for e.g. a channel of a polyphonic sound module, or a home keyboard, to be able to respond to many simultaneous Note On / Off message pairs at once and produce musical chords.
"Mono" (CC#126) allows us to set a channel to respond as if it were e.g. a flute or a trumpet, playing just one note at a time. If the device is capable of it, then the overlapping of notes will produce legato playing, that is the attack portion of the second note of two overlapping notes will be removed resulting in a "smoother" transition.
So a channel with a piano voice assigned to it will have Omni Off, Poly On (Mode 3), a channel with a saxophone voice assigned could be Omni Off, Mono On (Mode 4).
We call these combinations the four modes, 1 to 4, as defined above.
Most modern devices will have their channels set to Mode 3 (Omni Off, Poly) but be switchable, on a per channel basis, to Mode 4 (Omni Off, Mono).
This second section of data will include first its default value i.e. upon device switch on. Then what Mode messages are acceptable, or X if none.
Finally, in the "Altered" field, how a Mode message that can't be implemented will be interpreted. Usually there will just be a row of asterisks effectively meaning nothing will be done if you try to switch to an unimplemented mode.
Note Number
<pre>
The next row will tell us which MIDI notes the device can send or receive, normally 0-127.
The second line, "True Voice" has the following in the MIDI specification:
"Range of received note numbers falling within the range of true notes produced by the instrument."
My interpretation is that, for instance, a MIDI piano may be capable of sending all MIDI notes (0 to 127) by transposition, but only responding to the 88 notes (21 to 108) of a real piano.
</pre>
Velocity
This will tell us whether the device we're looking at will handle note velocity, and what range from 1-127, or maybe just 64, it transmits or will recognise. So usually "O" plus a range or "X" for not implemented.
After touch
This may have one or two lines two it.
If a one liner the either "O" or "X", yes or no.
If a two liner then it may include "Keys" or "Poly" and "Channel".
This will show whether the device will respond to Polyphonic after touch or channel after touch or neither.
Pitch Bend
Again "O" for implemented, "X" for not implemented.
(Many stage pianos will have no pitch bend capability.)
It may also, in the notes section, state whether it will respond to the full 14 bits, or not, as usually encoded by the pitch bend wheel.
Control Change
This is likely to be the largest section of the chart.
It will list all those controllers, starting from CC#0, Bank Select MSB, which the device is capable of sending, and those that it will respond to using "O" or "X" respectively.
You will, almost certainly, get some further explanation of functionality in the remarks column, or in more detail elsewhere in the documentation.
Of course you will need to know what all the various controller numbers do. Lots of the official technical specifications can be found at the [www.midi.org/techspecs/ MMA], with the table of messages and control change [www.midi.org/techspecs/midimessages.php message numbers]
Program Change
Again "O" or "X" in the Transmitted or Recognised column to indicate whether or not the feature is implemented. In addition a range of numbers is shown, typically 0-127, to show what is available.
True # (number): "The range of the program change numbers which correspond to the actual number of patches selected."
System Exclusive
Used to indicate whether or not the device can send or recognise System Exclusive messages. A short description is often given in the Remarks field followed by a detailed explanation elsewhere in the documentation.
System Common - These include the following:
<pre>
MIDI Time Code Quarter Frame messages (device synchronisation).
Song Position Pointer
Song Select
Tune Request
</pre>
The section will indicate whether or not the device can send or respond to any of these messages.
System Real Time
These include the following:
<pre>
Timing Clock - often just written as "Clock"
Start
Stop
Continue
</pre>
These three are usually just referred to as "Commands" and listed.
Again the section will indicate which, if any, of these messages the device can send or respond to.
<pre>
Aux. Messages
Again "O" or "X" for implemented or not.
Aux. = Auxiliary.
Active Sense = Active Sensing.
</pre>
Often with an explanation of the action of the device.
Notes
The "Notes" section can contain any additional comments to clarify the particular implementation.
Some of the explanations have been drawn directly from the MMA MIDI 1.0 Detailed Specification.
And the detailed explanation of some of the functions will be found there, or in the General MIDI System Level 1 or General MIDI System Level 2 documents also published by the MMA.
OFFICIAL MIDI SPECIFICATIONS
SUMMARY OF MIDI MESSAGES
Table 1 - Summary of MIDI Messages
The following table lists the major MIDI messages in numerical (binary) order (adapted from "MIDI by the Numbers" by D. Valenti, Electronic Musician 2/88, and updated by the MIDI Manufacturers Association.). This table is intended as an overview of MIDI, and is by no means complete.
WARNING! Details about implementing these messages can dramatically impact compatibility with other products. We strongly recommend consulting the official MIDI Specifications for additional information.
MIDI 1.0 Specification
Message Summary Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)]
{| class="wikitable sortable" width="90%"
! width="10%" |Status D7----D0
! width="10%" |Data Byte(s) D7----D0
! width="20%" |Description
|-
|<!--Status-->1000nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note Off event.
This message is sent when a note is released (ended). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity.
|-
|<!--Status-->1001nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note On event.
This message is sent when a note is depressed (start). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity.
|-
|<!--Status-->1010nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Polyphonic Key Pressure (Aftertouch).
This message is most often sent by pressing down on the key after it "bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the pressure value.
|-
|<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Control Change.
This message is sent when a controller value changes. Controllers include devices such as pedals and levers. Controller numbers 120-127 are reserved as "Channel Mode Messages" (below). (ccccccc) is the controller number (0-119). (vvvvvvv) is the controller value (0-127).
|-
|<!--Status-->1100nnnn || <!--Data-->0ppppppp || <!--Description-->Program Change. This message sent when the patch number changes. (ppppppp) is the new program number.
|-
|<!--Status-->1101nnnn || <!--Data-->0vvvvvvv || <!--Description-->Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys). (vvvvvvv) is the pressure value.
|-
|<!--Status-->1110nnnn || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Pitch Bend Change. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). The pitch bender is measured by a fourteen bit value. Center (no pitch change) is 2000H. Sensitivity is a function of the receiver, but may be set using RPN 0. (lllllll) are the least significant 7 bits. (mmmmmmm) are the most significant 7 bits.
|}
Channel Mode Messages (See also Control Change, above)
{| class="wikitable sortable" width="90%"
! width="10%" |Status D7----D0
! width="10%" |Data Byte(s) D7----D0
! width="20%" |Description
|-
|<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Channel Mode Messages.
This the same code as the Control Change (above), but implements Mode control and special message by using reserved controller numbers 120-127. The commands are:
*All Sound Off. When All Sound Off is received all oscillators will turn off, and their volume envelopes are set to zero as soon as possible c = 120, v = 0: All Sound Off
*Reset All Controllers. When Reset All Controllers is received, all controller values are reset to their default values. (See specific Recommended Practices for defaults) c = 121, v = x: Value must only be zero unless otherwise allowed in a specific Recommended Practice.
*Local Control. When Local Control is Off, all devices on a given channel will respond only to data received over MIDI. Played data, etc. will be ignored. Local Control On restores the functions of the normal controllers.
c = 122, v = 0: Local Control Off
c = 122, v = 127: Local Control On
* All Notes Off. When an All Notes Off is received, all oscillators will turn off.
c = 123, v = 0: All Notes Off (See text for description of actual mode commands.)
c = 124, v = 0: Omni Mode Off
c = 125, v = 0: Omni Mode On
c = 126, v = M: Mono Mode On (Poly Off) where M is the number of channels (Omni Off) or 0 (Omni On)
c = 127, v = 0: Poly Mode On (Mono Off) (Note: These four messages also cause All Notes Off)
|}
System Common Messages
System Messages (0xF0)
The final status nybble is a “catch all” for data that doesn’t fit the other statuses. They all use the most significant nybble (4bits) of 0xF, with the least significant nybble indicating the specific category.
The messages are denoted when the MSB of the second nybble is 1. When that bit is a 0, the messages fall into two other subcategories.
System Common
If the MSB of the second second nybble (4 bits) is not set, this indicates a System Common message. Most of these are messages that include some additional data bytes.
System Common Messages
Type Status Byte Number of Data Bytes Usage
<pre>
Time Code Quarter Frame 0xF1 1 Indicates timing using absolute time code, primarily for synthronization with video playback systems. A single location requires eight messages to send the location in an encoded hours:minutes:seconds:frames format*.
Song Position 0xF2 2 Instructs a sequencer to jump to a new position in the song. The data bytes form a 14-bit value that expresses the location as the number of sixteenth notes from the start of the song.
Song Select 0xF3 1 Instructs a sequencer to select a new song. The data byte indicates the song.
Undefined 0xF4 0
Undefined 0xF5 0
Tune Request 0xF6 0 Requests that the receiver retunes itself**.
</pre>
*MIDI Time Code (MTC) is significantly complex. Please see the MIDI Specification
**While modern digital instruments are good at staying in tune, older analog synthesizers were prone to tuning drift. Some analog synthesizers had an automatic tuning operation that could be initiated with this command.
System Exclusive
If you’ve been keeping track, you’ll notice there are two status bytes not yet defined: 0xf0 and 0xf7. These are used by the System Exclusive message, often abbreviated at SysEx. SysEx provides a path to send arbitrary data over a MIDI connection. There is a group of predefined messages for complex data, like fine grained control of MIDI Time code machinery. SysEx is also used to send manufacturer defined data, such as patches, or even firmware updates.
System Exclusive messages are longer than other MIDI messages, and can be any length. The messages are of the following format:
0xF0, 0xID, 0xdd, ...... 0xF7
The message is bookended with distinct bytes.
It opens with the Start Of Exclusive (SOX) data byte, 0xF0.
The next one to three bytes after the start are an identifier.
Values from 0x01 to 0x7C are one-byte vendor IDs, assigned to manufacturers who were involved with MIDI at the beginning.
If the ID is 0x00, it’s a three-byte vendor ID - the next two bytes of the message are the value.
<pre>
ID 0x7D is a placeholder for non-commercial entities.
ID 0x7E indicates a predefined Non-realtime SysEx message.
ID 0x7F indicates a predefined Realtime SysEx message.
</pre>
After the ID is the data payload, sent as a stream of bytes.
The transfer concludes with the End of Exclusive (EOX) byte, 0xF7.
The payload data must follow the guidelines for MIDI data bytes – the MSB must not be set, so only 7 bits per byte are actually usable. If the MSB is set, it falls into three possible scenarios.
An End of Exclusive byte marks the ordinary termination of the SysEx transfer.
System Real Time messages may occur within the transfer without interrupting it. The recipient should handle them independently of the SysEx transfer.
Other status bytes implicitly terminate the SysEx transfer and signal the start of new messages.
Some inexpensive USB-to-MIDI interfaces aren’t capable of handling messages longer than four bytes.
{| class="wikitable sortable" width="90%"
! width="10%" |Status D7----D0
! width="10%" |Data Byte(s) D7----D0
! width="20%" |Description
|-
|<!--Status-->11110000 || <!--Data-->0iiiiiii [0iiiiiii 0iiiiiii] 0ddddddd --- --- 0ddddddd 11110111 || <!--Description-->System Exclusive.
This message type allows manufacturers to create their own messages (such as bulk dumps, patch parameters, and other non-spec data) and provides a mechanism for creating additional MIDI Specification messages. The Manufacturer's ID code (assigned by MMA or AMEI) is either 1 byte (0iiiiiii) or 3 bytes (0iiiiiii 0iiiiiii 0iiiiiii). Two of the 1 Byte IDs are reserved for extensions called Universal Exclusive Messages, which are not manufacturer-specific. If a device recognizes the ID code as its own (or as a supported Universal message) it will listen to the rest of the message (0ddddddd). Otherwise, the message will be ignored. (Note: Only Real-Time messages may be interleaved with a System Exclusive.)
|-
|<!--Status-->11110001 || <!--Data-->0nnndddd || <!--Description-->MIDI Time Code Quarter Frame.
nnn = Message Type
dddd = Values
|-
|<!--Status-->11110010 || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Song Position Pointer.
This is an internal 14 bit register that holds the number of MIDI beats (1 beat= six MIDI clocks) since the start of the song. l is the LSB, m the MSB.
|-
|<!--Status-->11110011 || <!--Data-->0sssssss || <!--Description-->Song Select.
The Song Select specifies which sequence or song is to be played.
|-
|<!--Status-->11110100 || <!--Data--> || <!--Description-->Undefined. (Reserved)
|-
|<!--Status-->11110101 || <!--Data--> || <!--Description-->Undefined. (Reserved)
|-
|<!--Status-->11110110 || <!--Data--> || <!--Description-->Tune Request. Upon receiving a Tune Request, all analog synthesizers should tune their oscillators.
|-
|<!--Status-->11110111 || <!--Data--> || <!--Description-->End of Exclusive. Used to terminate a System Exclusive dump.
|}
System Real-Time Messages
{| class="wikitable sortable" width="90%"
! width="10%" |Status D7----D0
! width="10%" |Data Byte(s) D7----D0
! width="20%" |Description
|-
|<!--Status-->11111000 || <!--Data--> || <!--Description-->Timing Clock. Sent 24 times per quarter note when synchronization is required.
|-
|<!--Status-->11111001 || <!--Data--> || <!--Description-->Undefined. (Reserved)
|-
|<!--Status-->11111010 || <!--Data--> || <!--Description-->Start. Start the current sequence playing. (This message will be followed with Timing Clocks).
|-
|<!--Status-->11111011 || <!--Data--> || <!--Description-->Continue. Continue at the point the sequence was Stopped.
|-
|<!--Status-->11111100 || <!--Data--> || <!--Description-->Stop. Stop the current sequence.
|-
|<!--Status-->11111101 || <!--Data--> || <!--Description-->Undefined. (Reserved)
|-
|<!--Status-->11111110 || <!--Data--> || <!--Description-->Active Sensing. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. Use of this message is optional. When initially received, the receiver will expect to receive another Active Sensing message each 300ms (max), and if it does not then it will assume that the connection has been terminated. At termination, the receiver will turn off all voices and return to normal (non- active sensing) operation.
|-
|<!--Status-->11111111 || <!--Data--> || <!--Description-->Reset. Reset all receivers in the system to power-up status. This should be used sparingly, preferably under manual control. In particular, it should not be sent on power-up.
|}
Advanced Messages
Polyphonic Pressure (0xA0) and Channel Pressure (0xD0)
Some MIDI controllers include a feature known as Aftertouch. While a key is being held down, the player can press harder on the key. The controller measures this, and converts it into MIDI messages.
Aftertouch comes in two flavors, with two different status messages.
The first flavor is polyphonic aftertouch, where every key on the controller is capable of sending its own independent pressure information. The messages are of the following format:
<pre>
0xnc, 0xkk, 0xpp
n is the status (0xA)
c is the channel nybble
kk is the key number (0 to 127)
pp is the pressure value (0 to 127)
</pre>
Polyphonic aftertouch is an uncommon feature, usually found on premium quality instruments, because every key requires a separate pressure sensor, plus the circuitry to read them all.
Much more commonly found is channel aftertouch. Instead of needing a discrete sensor per key, it uses a single, larger sensor to measure pressure on all of the keys as a group. The messages omit the key number, leaving a two-byte format
<pre>
0xnc, 0xpp
n is the status (0xD)
c is the channel number
pp is the pressure value (0 to 127)
</pre>
Pitch Bend (0xE0)
Many keyboards have a wheel or lever towards the left of the keys for pitch bend control. This control is usually spring-loaded, so it snaps back to the center of its range when released. This allows for both upward and downward bends.
Pitch Bend Wheel
The wheel sends pitch bend messages, of the format
<pre>
0xnc, 0xLL, 0xMM
n is the status (0xE)
c is the channel number
LL is the 7 least-significant bits of the value
MM is the 7 most-significant bits of the value
</pre>
You’ll notice that the bender data is actually 14 bits long, transmitted as two 7-bit data bytes. This means that the recipient needs to reassemble those bytes using binary manipulation. 14 bits results in an overall range of 214, or 0 to 16,383. Because it defaults to the center of the range, the default value for the bender is halfway through that range, at 8192 (0x2000).
Control Change (0xB0)
In addition to pitch bend, MIDI has provisions for a wider range of expressive controls, sometimes known as continuous controllers, often abbreviated CC. These are transmitted by the remaining knobs and sliders on the keyboard controller shown below.
Continuous Controllers
These controls send the following message format:
<pre>
0xnc, 0xcc, 0xvv
n is the status (0xB)
c is the MIDI channel
cc is the controller number (0-127)
vv is the controller value (0-127)
</pre>
Typically, the wheel next to the bender sends controller number one, assigned to modulation (or vibrato) depth. It is implemented by most instruments.
The remaining controller number assignments are another point of confusion. The MIDI specification was revised in version 2.0 to assign uses for many of the controllers. However, this implementation is not universal, and there are ranges of unassigned controllers.
On many modern MIDI devices, the controllers are assignable. On the controller keyboard shown in the photos, the various controls can be configured to transmit different controller numbers. Controller numbers can be mapped to particular parameters. Virtual synthesizers frequently allow the user to assign CCs to the on-screen controls. This is very flexible, but it might require configuration on both ends of the link and completely bypasses the assignments in the standard.
Program Change (0xC0)
Most synthesizers have patch storage memory, and can be told to change patches using the following command:
<pre>
0xnc, 0xpp
n is the status (0xc)
c is the channel
pp is the patch number (0-127)
</pre>
This allows for 128 sounds to be selected, but modern instruments contain many more than 128 patches. Controller #0 is used as an additional layer of addressing, interpreted as a “bank select” command. Selecting a sound on such an instrument might involve two messages: a bank select controller message, then a program change.
Audio & Midi are not synchronized, what I can do ?
Buy a commercial software package but there is a nasty trick to synchronize both. It's a bit hardcore but works for me:
Simply put one line down to all midi notes on your pattern (use Insert key)
and go to 'Misc. Setup', adjust the latency and just search a value
that will make sound sync both audio/midi.
The stock Sin/Saw/Pulse and Rnd waveforms are too simple/common, is there a way to use something more complex/rich ?
You have to ability to redirect the waveforms of the instruments through the synth pipe by selecting the "wav" option for the oscillator you're using for this synth instrument, samples can be used as wavetables to replace the stock signals.
Sound banks like soundfont (sf2) or Kontakt2 are not supported at the moment
====DAW Audio Evolution 4====
Audio Evolution 4 gives you unsurpassed power for digital audio recording and editing on the Amiga. The latest release focusses on time-saving non-linear and non-destructive editing, as seen on other platforms. Besides editing, Audio Evolution 4 offers a wide range of realtime effects, including compression, noise gate, delays, reverb, chorus and 3-band EQ.
Whether you put them as inserts on a channel or use them as auxillaries, the effect parameters are realtime adjustable and can be fully automated. Together with all other mixing parameters, they can even be controlled remotely, using more ergonomic MIDI hardware.
Non-linear editing on the time line, including cut, copy, paste, move, split, trim and crossfade actions
The number of tracks per project(s) is unlimited .... AHI limits you to recording only two at a time. i.e. not on 8 track sound cards like the Juli@ or Phase 88.
sample file import is limited to 16bit AIFF (not AIFC, important distinction as some files from other sources can be AIFC with aiff file extention). and 16bit WAV (pcm only)
Most apps use the Music Unit only but a few apps also use Unit (0-3) instead or as well.
* Set up AHI prefs so that microphone is available. (Input option near the bottom)
stereo++ allows the audio piece to be placed anywhere and the left-right adjusted to sound positionally right
hifi best for music playback if driver supports this option
Load 16bit .aif .aiff only sample(s) to use not AIFC which can have the same ending. AIFF stands for Audio Interchange File Format
sox recital.wav recital.aiff
sox recital.wav −b 16 recital.aiff channels 1 rate 16k fade 3 norm
sox input.wav output.aiff bass −b 16 rate 48k
performs the same format translation, but also applies four effects (down-mix to one channel, sample rate change, fade-in, nomalize), and stores the result at a bit-depth of 16.
rec −c 2 radio.aiff trim 0 30:00
records half an hour of stereo audio
play existing-file.wav
24bit PCM WAV or AIFF do not work
*No stream format handling. So no way to pass on an AC3 encoded stream unmodified to the digital outputs through AHI.
*No master volume handling. Each application has to set its own volume. So each driver implements its own custom driver-mixer interface for handling master volumes, mute and preamps.
*Only one output stream. So all input gets mixed into one output.
*No automatic handling of output direction based on connected cables.
*No monitor input selection. Only monitor volume control.
select the correct input (Don't mistake enabled sound for the correct input.)
The monitor will feedback audio to the lineout and hp out no matter if you have selected the correct input to the ADC. The monitor will provide sound for any valid input. This will result in free mixing when recording from the monitor input instead of mic/line because the monitor itself will provide the hardware mixing for you. Be aware that MIC inputs will give two channel mono. Only Linein will give real stereo.
Now for the not working part. Attempt to record from linein in the AE4 record window, the right channel is noise and the left channel is distorted. Even with the recommended HIFI 16bit Stereo++ mode at 48kHz.
Channels
Monitor
Gain
Inout
Output
Advanced settings - Debugging via serial port
* Options -> Soundcard In/Out
* Options -> SampleRate
* Options -> Preferences
F6 for Sample File List
Setting a grid is easy as is measuring the BPM by marking a section of the sample. Is your kick drum track "not in time" ? If so, you're stumped in AE4 as it has no fancy variable time signatures and definitely no 'track this dodgy rhythm' function like software of the nature of Logic has. So if your drum beat is freeform you will need to work in freeform mode. (Real music is free form anyway).
If the drum *is* accurate and you are just having trouble measuring the time, I usually measure over a range of bars and set the number of beats in range to say 16 as this is more accurate, Then you will need to shift the drum track to match your grid *before* applying the grid. (probably an iterative process as when the grid is active samples snap to it, and when inactive you cannot see it).
AE4 does have ARexx but the functions are more for adding samples at set offsets and starting playback / recording.
These are the usual features found in DAWs...
* Recording digital audio, midi sequencer and mixer
* virtual VST instruments and plug-ins
* automation, group channels, MIDI channels, FX sends and returns, audio and MIDI editors and music notation editor
* different track views
* mixer and track layout (but not the same as below)
* traditional two windows (track and mixer)
Mixing - mixdown
Could not figure out how to select what part I wanted to send to the aux, set it to echo and return. Pretty much the whole echo effect. Or any effect.
Take look at page17 of the manual.
When you open the EQ / Aux send popup window you will see 4 sends. Now from the menu choose the windows menu.
Menus->Windows-> Aux Returns Window
or press F5
You will see a small window with 4 volume controls and an effects button for each. Click a button and add an effects to that aux channel, then set it up as desired (note the reverb effect has a special AUX setting that improves its use with the aux channel, not compulsory but highly useful). You set the amount of 'return' on the main mix in the Aux Return window, and the amount sent from each main mixer channel in the popup for that channel. Again the aux sends are "prefade" so the volume faders on each channel do not affect them.
Tracking
Effects - fade in
To add some echoes to some vocals, tried to add an effect on a track but did not come out. This is made more complicated as I wanted to mute a vocal but then make it echo at the muting point. Want to have one word of a vocal heard and then echoed off. But when the track is mute the echo is cancelled out.
To correctly understand what is happening here you need to study the figure at the bottom of page 15 on the manual. You will see from that that the effects are applied 'prefade' So the automation you applied will naturally mute the entire signal.
There would be a number of ways to achieve the goal,
You have three real time effects slots, one for smoothing like so
Sample -> Amplify -> Delay
Then automate the gain of the amplify block so that it effectively mutes the sample just before the delay at the appropriate moment, the echo effect should then be heard.
Getting the effects in the right order will require experimentation as they can only be added top down and it's not obvious which order they are applied to the signal, but there only two possibilities, so it wont take long to find out.
Using MUTE can cause clicks to the Amplify can be used to mute more smoothly so that's a secondary advantage.
Signal Processing -
Overdub
[[#top|...to the top]]
===Office===
====Spreadsheet Leu====
Support for some xlsx, and ods functions
====Spreadsheet Ignition====
; Needs ABIv1 to be completed before more can be done
File formats supported
* ascii #?.txt and #?.csv (single sheets with data only).
* igs and TurboCalc(WIP) #?.tc for all sheets with data, formats and formulas.
There is '''no''' support for xls, xlsx, ods or uos ([http://en.wikipedia.org/wiki/Uniform_Office_Format Uniform Unified Office Format]) at the moment.
* Always use Esc key after editing Spreadsheet cells.
* copy/paste seems to copy the first instance only so go to Edit -> Clipboard to manage the list of remembered actions.
* Right mouse click on row (1 or 2 or 3) or column header (a or b or c) to access optimal height or width of the row or column respectively
* Edit -> Insert -> Row seems to clear the spreadsheet or clears the rows after the inserted row until undo restores as it should be...
Change Sheet name by Object -> Sheet -> Properties
Click in the cell which will contain the result, and click '''down arrow button''' to the right of the formula box at the bottom of the spreadsheet and choose the function required from the list provided. Then click on the start cell and click on the bottom right corner, a '''very''' small blob, which allows stretching a bounding box (thick grey outlines) across many cells This grey bounding box can be used to '''copy a formula''' to other cells.
Object -> Cell -> Properties to change cell format - Currency only covers DM and not $, Euro, Renminbi, Yen or Pound etc.
Shift key and arrow keys selects a range of cells, so that '''formatting can be done to all highlighted cells'''.
View -> Overview then select ALL with one click (in empty cell in the top left hand corner of the sheet).
Default mode is relative cell referencing e.g. a1+a2 but absolute e.g. $a$1+$a$2 can be entered.
* #sheet-name to '''absolute''' reference another sheet-name cell unless reference() function used.
;Graphs
use shift key and arrow keys to select a bunch of cells to be graph'ed making sure that x axes represents and y axes represents
* value() - 0 value, 1 percent, 2 date, 3 time, 4 unit ...
;Dates
* Excel starts a running count from the 1st Jan 1900 and Ignition starts from 1st Jan 1AD '''(maybe this needs to change)'''
Set formatting Object -> Cell -> Properties and put date in days
;Time
Set formatting Object -> Cell -> Properties and put time in seconds taken
;Database (to be done by someone else)
type - standard, reference (bezug), search criterion (suchkriterium),
* select a bunch of cells and Object -> Database -> Define to set Datenbank (database) and Felder (fields not sure how?)
* Neu (new) or loschen (delete) to add/remove database headings e.g. Personal, Start Date, Finish Date (one per row?)
* Object -> Database -> Index to add fields (felder) like Surname, First Name, Employee ID, etc. to ?
Filtering done with dbfilter(), dbproduct() and dbposition().
Activities with dbsum(), dbaverage(), dbmin() and dbmax().
Table sorting -
;Scripts (Arexx)
;Excel(TM) to Ignition - commas ''',''' replaced by semi-colons ''';''' to separate values within functions
*SUM(),
*AVERAGE(), MAX(), MIN(), INT(), PRODUCT(), MEDIAN(), VAR() becomes Variance(), Percentile(),
*IF(), AND, OR, NOT
*LEFT(), RIGHT(), MID() becomes MIDDLE(), LEN() becomes LENGTH(),
*LOWER() becomes LOWERCASE(), UPPER() becomes UPPERCASE(),
* DATE(yyyy,mm,dd) becomes COMPUTEDATE(dd;mm;yyyy),
*TODAY(), DAY(),WEEK(), MONTH(),=YEAR(TODAY()),
*EOMONTH() becomes MONTHLENGTH(),
*NOW() should be date and time becomes time only, SECOND(), MINUTE(), HOUR(),
*DBSUM() becomes DSUM(),
;Missing and possibly useful features/functions needed for ignition to have better support of Excel files
There is no Merge and Join Text over many cells, no protect and/or freeze row or columns or books but can LOCK sheets, no define bunch of cells as a name, Macros (Arexx?), conditional formatting, no Solver, no Goal Seek, no Format Painter, no AutoFill, no AutoSum function button, no pivot tables, (30 argument limit applies to Excel)
*HLOOKUP(), VLOOKUP(), [http://production-scheduling.com/excel-index-function-most-useful/ INDEX(), MATCH()], CHOOSE(), TEXT(),
*TRIM(), FIND(), SUBSTITUTE(), CONCATENATE() or &, PROPER(), REPT(),
*[https://acingexcel.com/excel-sumproduct-function/ SUMPRODUCT()], ROUND(), ROUNDUP(), *ROUNDDOWN(), COUNT(), COUNTA(), SUMIF(), COUNTIF(), COUNTBLANK(), TRUNC(),
*PMT(), PV(), FV(), POWER(), SQRT(), MODE(), TRUE, FALSE,
*MODE(), LARGE(), SMALL(), RANK(), STDEV(),
*DCOUNT(), DCOUNTA(), WEEKDAY(),
;Excel Keyboard [http://dmcritchie.mvps.org/excel/shortx2k.htm shortcuts needed to aid usability in Ignition]
<pre>
Ctrl Z - Undo
Ctrl D - Fill Down
Ctrl R - Fill right
Ctrl F - Find
Ctrl H - Replace
Ctrl 1 - Formatting of Cells
CTRL SHIFT ~ Apply General Formatting ie a number
Ctrl ; - Todays Date
F2 - Edit cell
F4 - toggle cell absolute / relative cell references
</pre>
====Document Scanning - Scandal====
Scanner usually needs to be connected via a USB port and not via a hub or extension lead.
Check in Trident Prefs -> Devices that the USB Scanner is not bound to anything (e.g. Bindings None)
If not found then reboot the computer and recheck.
Start Scandal, choose Settings from Menu strip at top of screen and in Scanner Driver choose the ?#.device of the scanner (e.g. epson2.device).
The next two boxes - leave empty as they are for morphos SCSI use only
or put ata.device (use the selection option in bigger box below) and Unit as 0 this is needed for gt68xx
* gt68xx - no editing needed in s/gt68xx.conf but needs a firmware file that corresponds to the scanner [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx firmwares] in sys:s/gt68xx.
* epson2 - Need to edit the file epson2.conf in sys/s that corresponds to the scanner being used
'''Save''' the settings but do not press the Use button (aros freezes)
Back to the Picture Scan window and the right-hand sections.
Click on the '''Information''' tab and press Connect button and the scanner should now be detected.
Go next to the '''Scanner''' tab next to Information Tab should have Color, Black and White, etc. and dpi settings now. Selecting an option Color, B/W etc. can cause dpi settings corruption (especially if the settings are in one line) so set '''dpi first'''. Make sure if Preview is set or not.
In the '''Scan''' Tab, press Scan and the scanner will do its duty.
Be aware that nothing is saved to disk yet.
In the Save tab, change format JPEG, PNG or IFF DEEP. Tick incremental and base filename if necessary and then click the Save button. The image will now be saved to permanent storage.
The driver ignores a device if it is already bond to another USB class, rejects it from being usable. However, open Trident prefs, select your device and use the right mouse button to open. Select "NONE" to prevent poseidon from touching the device. Now save settings. It should always work now.
[[#top|...to the top]]
===Emulators===
==== Amiberry ====
==== Amiga Emu - Janus UAE ====
With Amibridge, AROS attempts to make the UAE emulator seem embedded within but it still is acting as an app
There is no dynarec m68k for each hardware that Aros supports or direct patching of motorola calls to AROS hardware accelerated ones unless the emulator has that included
Try starting Janus with a priority of -1 like this little script:
<pre>
cd sys:system/AmiBridge/emulator
changetaskpri -1
run janus-uae -f my_uaerc.config >nil:
cd sys:prefs
endcli
</pre>
This stops Janus hogging all the CPU time.
===Miscellaneous===
====Screensaver Blanker====
Most blankers on the amiga (i.e. aros) run as commodities (they are in the tools/commodities drawer). Double click on blanker.
Control is with an app called Exchange, which you need to run first (double click on app) or run QUIET sys:tools/commodities/Exchange >NIL: but subsequently can use (Cntrl Alt h).
Icon tool types (may be broken) or command line options
<pre>
seconds=number
</pre>
Once the timing is right then add the following to s:icaros-sequence or s:user-startup
e.g. for 5 minutes
run QUIET sys:tools/commodities/Blanker seconds=300 >NIL:
*[http://archives.aros-exec.org/index.php?function=showfile&file=graphics/screenblanker/gblanker.i386-aros.zip Garshneblanker] can make Aros unstable or slow. Certain blankers crashes in Icaros 2.0.x like Dragon, Executor.
*[ Acuario AROS version], the aquarium screen saver.
Startup: extras:acuariofv-aros/acuario
Kill: c:break name=extras:acuariofv-aros/acuario
Managed to start Acuario by the Executor blanker.
<pre>
cx_priority=
cx_popkey= ie CX_POPKEY="Shift F1"
cx_popup=Yes or No
</pre>
<pre>
Qualifier String Input Event Class
---------------- -----------------
"lshift" IEQUALIFIER_LSHIFT
"rshift" IEQUALIFIER_RSHIFT
"capslock" IEQUALIFIER_CAPSLOCK
"control" IEQUALIFIER_CONTROL
"lalt" IEQUALIFIER_LALT
"ralt" IEQUALIFIER_RALT
"lcommand" IEQUALIFIER_LCOMMAND
"rcommand" IEQUALIFIER_RCOMMAND
"numericpad" IEQUALIFIER_NUMERICPAD
"repeat" IEQUALIFIER_REPEAT
"midbutton" IEQUALIFIER_MIDBUTTON
"rbutton" IEQUALIFIER_RBUTTON
"leftbutton" IEQUALIFIER_LEFTBUTTON
"relativemouse" IEQUALIFIER_RELATIVEMOUSE
</pre>
<pre>
Synonym Synonym
String Identifier
------- ----------
"shift" IXSYM_SHIFT /* look for either shift key */
"caps" IXSYM_CAPS /* look for either shift key or capslock */
"alt" IXSYM_ALT /* look for either alt key */
Highmap is one of the following strings:
"space", "backspace", "tab", "enter", "return", "esc", "del",
"up", "down", "right", "left", "f1", "f2", "f3", "f4", "f5",
"f6", "f7", "f8", "f9", "f10", "help".
</pre>
[[#top|...to the top]]
==== World Construction Set WCS (Version 2.031) ====
WCS is a fractal landscape software such as Scenery Animator, Vista Pro and Panorama. Open sourced February 2022, World Construction Set [https://3dnature.com/downloads/legacy-software/ legally and for free] and [https://github.com/AlphaPixel/3DNature c source].
Announced August 1994 this version dates from April 1996 developed by Gary R. Huber and Chris "Xenon" Hanson" from Questar
<pre>
Assign "WCSProjects:" "Volume:Dir/Dir/WCSProjects"
Assign "WCSFrames:" "Volume:Dir/Dir/WCSFrames"
</pre>
<pre>
Load projects .proj by accessing pull down menu Project -> Open then click on CanyonSunset.proj
OK to changing .par file and enlarge Status Log window to show what is happening
Render by pull down menu Modules -> Render with End equal 1 not 300 then click bottom middle button Render
</pre>
[https://www.youtube.com/watch?v=CxQDmf1ZWG0 Youtube walkthrough of above], [], [],
Also try working with the already built file ColoDemo - Then open with the drop-down menu: Project/Open, then WCSProject:ColoDemo.proj
Which allows you to use altimetric DEM files already included and Loading scene parameters from ColoDemo.par
Once this is done, save everything with a new name to start working exclusively on your project.
Then drop-down menu and select Save As ("NewName".proj name), then drop-down menu to open parameter and select Save All ( .par name)
After launching the software, there is a the Module Control Panel composed of five icons.
It is a dock type shortcut of the first few functions of the drop-down menu
*Database - Load (#?.proj), Append, Create, Edit, Save, Dir List (of WCSProject drawer),
*Data Ops - Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats
*Map View - Database file Loader leading to Map View Control with option to the Database Editor
*Parameters - Editor for Motion, Color, Ecosystem, Clouds, Waves, management of altimeter files DEM, sclock settings etc
*Render - rendering terrain
These are more in the pull down menu but not in the dock
*Motion Editor
*Color Editor
*Ecosys Editor
Simple minimal workflow
*Load database (1st icon - 1st)
*Set parameters and save .par file (4th icon)
*Render scene (5th icon)
[https://www.youtube.com/watch?v=ZbTwwR2qcc4 Youtube], [],
<pre>
.proj new project name which creates a drawer of additional files
.binary array, ascii array .xyz , z buffer, DTED .dt0, vista 1990s dem, iff conversion
.Obj with .elev, .frd with .hdr maps, - digital elevation model (DEM) is a 3D representation of elevation data in various formats
USGS 7.5MinDEM,
.par
</pre>
Since for the time being no project is loaded, a query window indicates a procedural error when clicking on the rendering icon (right end of the bar). The menu is quite traditional; it varies according to the activity of the windows. To display any altimetric file in the "Mapview" (third icon of the panel), There are three possibilities:
* Loading of a demonstration project.
* The import of a DEM file, followed by texturing and packaging from the "Database-Editor" and the "Color-Editor".
* The creation of an altimetric file in WCS format, then texturing.
The altimeter file editing (display in the menu) is only made possible if the "Mapview" window is active.
The software is made up of many windows and won't be able to describe them all. Know that "Color-Editor" and the "Data-Editor" comprise sufficient functions for obtaining an almost real rendering quality. You have the possibility of inserting vector objects in the "Data-Editor" (creation of roads, railways, etc.)
The Map View (MapView) window
*Database - Objects and Topos
*View - Align, Center, Zoom, Pan, Move
*Draw - Maps and distance
*Object - Find, highlight, add points, conform topo, duplicate
*Motion - Camera, Focus, path, elevation
*Windows - DEM designer, Cloud (.cld) and wave (.wve) editor,
You will notice that by selecting this window and simply moving the pointer to various points on the map you will see latitude and longitude values change, along with the height.
Drop-down menu and Modules, then select MapView and change the width of the window with the map to arrange it in the best way on the screen. With the Auto button the center. Window that then displays the contents of my DEM file, in this case the Grand Canyon. MapView allows you to observe the shape of the landscape from above
ZOOM button
Press the Zoom button and then with the pointer position on a point on the map, press the left mouse button and then move to the opposite corner to circumscribe the chosen area and press the left mouse button again, then we will see the enlarged area selected on the map.
Would add that there is a box next to the Zoom button that allows the direct insertion of a value which, the larger it is, the smaller the magnification and the smaller the value, the stronger the magnification. At each numerical change you will need to press the DRAW button to update the view.
PAN button
Under Zoom you will find the PAN button which allows you to move the map at will in all directions by the amount you want. This is done by drawing a line in one direction, then press PAN and point to an area on the map with the pointer and press the left mouse button. At this point, leave it and move the pointer in one direction by drawing a line and press the left mouse button again to trigger the movement of the map on the screen (origin and end points). Do some experiments and then use the Auto button immediately below to recenter everything.
There are parameters such as TOPO, VEC to be left checked and immediately below one that allows different views of the map with the Style command (Single, Multi, Surface, Emboss, Slope, Contour), each with its own particularities to highlight different details.
Now you have the first basics to manage your project visually on the map. Close the MapView window and go further...
Let's start working on ECOSYSTEMS
If we select Emboss from the MapView Style command we will have a clear idea of how the landscape appears, realizing that it is a predominantly desert region of our planet. Therefore we will begin to act on any vegetation present and the appearance of the landscape.
With WCS we will begin to break down the elements of the landscape by assigning defined characteristics. It will be necessary to determine the classes of the ecosystem (Class) with parameters of Elevation Line (maximum altitude), Relative Elevation (arrangement on basins or convexities with respectively positive or negative parameters), Min Slope and Max Slope (slope). WCS offers the possibility of making ecosystems coexist on the same terrain with the UnderEco function, by setting a Density value.
Ecosys Ecosystem Editor
Let's open it from Modules, then Ecosys Editor. In the left pane you will find the list of ecosystems referring to the files present in our project. It will be necessary to clean up that box to leave only the Water and Snow landscapes and a few other predefined ones. We can do this by selecting the items and pressing the Remove button (be careful not for all elements the button is activated, therefore they cannot all be eliminated).
Once this is done we can start adding new ecosystems. Scroll through the various Unused and as soon as the Name item at the top is activated allowing you to write, type the name of your ecosystem, adding the necessary parameters.
<pre>
Ecosystem1: Name: RockBase Class: Rock Density: 80 MinSlope: 15 UnderEco: Terrain
Ecosystem2: Name: RockIncl Clss: Rock Density: 80 MinSlope: 30 UnderEco: Terrain
Ecosystem3: Name: Grass Class Low Veg Density: 50 Height: 1 Elev Line : 1500 Rel El Eff: 5
Max Slope: 10 – Min Slope: 0 UnderEco: Terrain
Ecosistema4: Name: Shrubs Class: Low Veg Density: 40 Height: 8 Elev Line: 3000
Rel El Eff: -2 Max Slope: 20 Min Slope : 5 UnderEco: Terrain
Ecosistema5: Name: Terrain Class: Ground Density: 100 UnderEco: Terrain
</pre>
Now we need to identify an intermediate ecosystem that guarantees a smooth transition between all, therefore we select as Understory Ecosystem the one called Terrain in all ecosystems, except Snow and Water .
Now we need to 'emerge' the Colorado River in the Canyon and we can do this by raising the sea level to 900 (Sea Level) in the Ecosystem called Water.
Please note that the order of the ecosystem list gives priority to those that come after. So our list must have the following order: Water, Snow, Shrubs, RockIncl, RockBase, Terrain. It is possible to carry out all movements with the Swap button at the bottom. To put order you can also press Short List. Press Keep to confirm all the work done so far with Ecosystem Editor.
Remember every now and then to save both the Project 'Modules/Save' and 'Parameter/Save All'
EcoModels are made up of .etp .fgp .iff8 for each model
Color Editor
Now it's time to define the colors of our scene and we can do this by going to Modules and then Color Editor. In the list we focus on our ecosystems, created first.
Let's go to the bottom of the list and select the first white space, assigning the name 'empty1', with a color we like and then we will find this element again in other environments... It could serve as an example for other situations!
So we move to 'grass' which already exists and assign the following colors: R 60 G 70 B50
<pre>
'shrubs': R 60 G 80 B 30
'RockIncl' R 110 G 65 B 60
'RockBase' R 110 G 80 B 80
' Terrain' R 150 G 30 B 30
<pre>
Now we can work on pre-existing colors
<pre>
'SunLight' R 150 G 130 B 130
'Haze and Fog' R 190 G 170 B 170
'Horizon' R 209 G 185 B 190
'Zenith' R 140 G 150 B 200
'Water' R 90 G 125 B 170
</pre>
Ambient R 0 G 0 B 0
So don't forget to close Color Editor by pressing Keep.
Go once again to Ecosystem Editor and assign the corresponding color to each environment by selecting it using the Ecosystem Color button. Press it several times until the correct one appears. Then save the project and parameters again, as done previously.
Motion Editor
Now it's time to take care of the framing, so let's go to Modules and then to Motion Editor. An extremely feature-rich window will open. Following is the list of parameters regarding the Camera, position and other characteristics:
<pre>
-Camera Altitude: 7.0
-Camera Latitude: 36.075
-Camera Longitude: 112.133
-Focus Attitude: -2.0
-Focus Latitude: 36.275
-Focus Longitude: 112.386
-Camera : 512 → rendering window
-Camera Y: 384 → rendering window
-View Arc: 80 → View width in degrees
-Sun Longitude: 172
-Sun Latitude: -0.9
-Haze Start: 3.8
-Haze Range: 78, 5
</pre>
As soon as the values shown in the relevant sliders have been modified, we will be ready to open the CamView window to observe the wireframe preview. Let's not consider all the controls that will appear.
Well from the Motion Editor if you have selected Camera Altitude and open the CamView panel, you can change the height of the camera by holding down the right mouse button and moving the mouse up and down. To update the view, press the Terrain button in the adjacent window. As soon as you are convinced of the position, confirm again with Keep. You can carry out the same work with the other functions of the camera, such as Focus Altitude...
Let's now see the next positioning step on the Camera map, but let's leave the CamView preview window open while we go to Modules to open the window at the same time MapView. We will thus be able to take advantage of the view from the other together with a subjective one.
From the MapView window, select with the left mouse button and while it is pressed, move the Camera as desired. To update the subjective preview, always click on Terrain.
While with the same procedure you can intervene on the direction of the camera lens, by selecting the cross and with the left button pressed you can choose the desired view. So with the pressure of Terrain I update the Preview. Possibly can enlarge or reduce the Map View using the Zoom button, for greater precision.
Also write that the circle around the cameras indicates the beginning of the haze, there are two types (haze and fog) linked to the altitude. Would also add that the camera height is editable through the Motion Editor panel.
The sun
Let's see that changing the position of the sun from the Motion Editor. Press the SUN button at the bottom right and set the time and the date. Longitude and latitude are automatically obtained by the program. Always open the View Arc command from the Motion Editor panel, an item present in the Parameter List box.
Once again confirm everything with Keep and then save again.
Animation
The animation part is not left-back and also occupies a window. The settings possibilities are enormous. A time line with dragging functions ("slide", "drag"...) comparable to that of LightWave completes this window.
A small window is available for positioning the stars as a function of a date, in order to vary the seasons and their various events (and yes...).
At the bottom of the "Motion-Editor", a "cam-view" function will give you access to a control panel. Different preview modes are possible. The rendering is also accessible through a window. No less than nine pages compose it. At this level, you will be able to determine the backup name of your images ("path"), the type of texture to be calculated, the resolution of the images, activate or deactivate functions such as the depth buffer ("zbuffer"), the blur, the background image, etc.
Once all these parameters have been set, all you have to do is click on the "Render" button.
For rendering go to Modules and then Render. Select the resolution, then under IMA select the name of the image. Move to FRA and indicate the level of fractal detail which of 4 is quite good. Then Keep to confirm and then reopen the window, pressing Render you will see the result. The image will be opened with any viewing program.
Strengths:
* Multi-window.
* Quality of rendering.
* Accuracy.
* Opening, preview and rendering on CyberGraphX screen.
* Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats
* The "zbuffer" function.
Weaknesses:
* No OpenGL management
* Calculation time.
* No network computing tool.
====Writing CD / DVD - Frying Pan====
Can be backup DVDs (4GB ISO size limit due to use of FileInfoBlock), create audio cds from mp3's, and put .iso files on discs
If using for the first time - click Drive button and Device set to ata.device and unit to 0 (zero)
Click Tracks Button - Drive 1 - Create New Disc or Import Existing Disc Image (iso bin/cue etc.) - Session File open cue file
If you're making a data cd, with files and drawers from your hard drive, you should be using the ISO Builder.. which is the MUI page on the left. ("Data/Audio Tracks" is on the right).
You should use the "Data/Audio tracks" page if you want to create music cds with AIFF/WAV/MP3 files, or if you download an .iso file, and you want to put it on a cd.
Click WRITE Button - set write speed - click on long Write button
Examples
Easiest way would be to burn a DATA CD, simply go to "Tracks" page "ISO Builder" and "ADD" everything you need to burn.
On the "Write" page i have "Masterize Disc (DAO)", "Close Disc" and "Eject after Write" set.
One must not "Blank disc before write" if one uses a CDR
AUDIO CD from MP3's are as easy but tricky to deal with. FP only understands one MP3 format, Layer II, everything else will just create empty tracks
Burning bootable CD's works only with .iso files. Go to "Tracks" page and "Data/Audio Tracks" and add the .iso
====odf====
Every ODF file is a collection of several subdocuments within a package (ZIP file), each of which stores part of the complete document.
* content.xml – Document content and automatic styles used in the content.
* styles.xml – Styles used in the document content and automatic styles used in the styles themselves.
* meta.xml – Document meta information, such as the author or the time of the last save action.
* settings.xml – Application-specific settings, such as the window size or printer information.
To read document follow these steps:
* Extracting .ods file.
* Getting content.xml file (which contains sheets data).
* Creating XmlDocument object from content.xml file.
* Creating DataSet (that represent Spreadsheet file).
* With XmlDocument select “table:table” elements, and then create adequate DataTables.
* Parse child’s of “table:table” element and fill DataTables with those data.
* At the end, return DataSet and show it in application’s interface.
To write document follow these steps:
* Extracting template.ods file (.ods file that we use as template).
* Getting content.xml file.
* Creating XmlDocument object from content.xml file.
* Erasing all “table:table” elements from the content.xml file.
* Reading data from our DataSet and composing adequate “table:table” elements.
* Adding “table:table” elements to content.xml file.
* Zipping that file as new .ods file.
XLS file format
The XLS file format contains streams, substreams, and records.
These sheet substreams include worksheets, macro sheets, chart sheets, dialog sheets, and VBA module sheets.
All the records in an XLS document start with a 2-byte unsigned integer to specify Record Type (rt), and another for Count of Bytes (cb). A record cannot exceed 8224 bytes. If larger than the rest is stored in one or more continue records.
* Workbook stream
**Globals substream
***BoundSheet8 record - info for Worksheet substream i.e. name, location, type, and visibility. (4bytes the lbPlyPos FilePointer, specifies the position in the Workbook stream where the sheet substream starts)
**Worksheet substream (sheet) - Cell Table - Row record - Cells (2byte=row 2byte=column 2byte=XF format)
***Blank cell record
***RK cell record 32-bit number.
***BoolErr cell record (2-byte Bes structure that may be either a Boolean value or an error code)
***Number cell record (64-bit floating-point number)
***LabelSst cell record (4-byte integer that specifies a string in the Shared Strings Table (SST). Specifically, the integer corresponds to the array index in the RGB field of the SST)
***Formula cell record (FormulaValue structure in the 8 bytes that follow the cell structure. The next 6 bytes can be ignored, and the rest of the record is a CellParsedFormula structure that contains the formula itself)
***MulBlank record (first 2 bytes give the row, and the next 2 bytes give the column that the series of blanks starts at. Next, a variable length array of cell structures follows to store formatting information, and the last 2 bytes show what column the series of blanks ends on)
***MulRK record
***Shared String Table (SST) contains all of the string values in the workbook.
ACCRINT(), ACCRINTM(), AMORDEGRC(), AMORLINC(),
COUPDAYBS(), COUPDAYS(), COUPDAYSNC(), COUPNCD(), COUPNUM(), COUPPCD(),
CUMIPMT(), CUMPRINC(),
DB(), DDB(), DISC(),
DOLLARDE(), DOLLARFR(),
DURATION(), EFFECT(), FV(), FVSCHEDULE(),
INTRATE(), IPMT(), IRR(), ISPMT(), MDURATION(), MIRR(), NOMINAL(), NPER(), NPV(),
ODDFPRICE(), ODDFYIELD(), ODDLPRICE(), ODDLYIELD(),
PMT(), PPMT(), PRICE(), PRICEDISC(), PRICEMAT(), PV(), RATE(),
RECEIVED(), SLN(), SYD(), TBILLEQ(), TBILLPRICE(), TBILLYIELD(),
VDB(), XIRR(), XNPV(), YIELD(), YIELDDISC(), YIELDMAT(),
<pre>
</pre>
<pre>
</pre>
<pre>
</pre>
{{BookCat}}
6nt1ft0r8muukeesuug0cg38g9a2rf1
OpenSCAD User Manual/First Steps/Creating a simple model
0
245077
4634693
4621570
2026-05-07T23:49:41Z
~2026-27679-96
3582016
evrything
4634693
wikitext
text/x-wiki
For our first model, we create a simple 2×3×4 cuboid.
To get started, launch OpenSCAD. You should have a preview window, toolbar, console and editor windows open. If one is hidden you can turn it on by going to the View menu and unselect the hidden items.
To create our cuboid we use the openSCAD editor window to type a one-line command:
{| width="100%"
|
|'''Usage example 1 - simple cuboid:'''
|-
|
|// Approximate Anycubic replacement piece
// Units: mm
thickness = 3;
base = 5;
linear_extrude(height = thickness)
union() {
// Main square
square([base, base], center=true);
// Bottom round tab
translate([0, -3])
circle(r=1);
// Top center notch shape
difference() {
translate([0, 2])
square([2, 2], center=true);
translate([0, 2])
square([1, 1], center=true);
}
// Side hooks / tabs
polygon(points=[
[-2.5, 1.5],
[-4, 2.5],
[-4, 1],
[-2.5, 0.5]
]);
polygon(points=[
[2.5, 1.5],
[4, 2.5],
[4, 1],
[2.5, 0.5]
]);
polygon(points=[
[-2.5, -1.5],
[-4, -2.5],
[-4, -1],
[-2.5, -0.5]
]);
polygon(points=[
[2.5, -1.5],
[4, -2.5],
[4, -1],
[2.5, -0.5]
]);
}
|[[File:OpenSCAD_Simple_Cuboid.png|thumb|OpenSCAD Simple Cuboid]]
|}
=== Compiling and rendering our first model ===
The cuboid can now be compiled and rendered by pressing F5 or F6 Function key on your keyboard while the OpenSCAD editor has focus.
You should now see your object in the preview window as shown above.
{{OpenSCAD_User_Manual/Simple Page Navigation
| prev = OpenSCAD User Manual/First Steps
| prev_disp = First Steps: Introduction
| next = OpenSCAD User Manual/First Steps/Positioning an object
| next_disp = First Steps: Positioning an object
| book = OpenSCAD User Manual
| book_disp = First Steps
}}
{{BookCat}}
[[ru:Руководство пользователя по OpenSCAD/Первые шаги/Создание простейшей модели]]
319zctcrze2qbl5mupnkwnxderakl1y
Game Creation with XNA/Audio Sound/Synthesizer
0
252488
4634741
3443397
2026-05-08T08:37:33Z
ShakespeareFan00
46022
4634741
wikitext
text/x-wiki
__NOTOC__
= Synthesizer =
==Introduction==
If you want to create a game and you think of what your game should sound like you most probably have a pretty clear idea of the atmosphere and the sounds you want to achieve. <br />
There are three ways i can think of to get your desired sounds:
# search the web for [[Game_Creation_with_XNA/Audio_Sound/Finding_free_Sounds|free sounds]] that suit your needs.
# take any kind of recorder (e.g. your mobile phone, mp3-player with recording function, a microphone, ... ), go out and record whatever you think sounds cool and then pimp it up with a [http://www.software4free.org/recording.html recording software].
# design your own sounds using a synthesizer.
The third and last approach is the one i thought to be the most exciting and here i am now searching the web for a simple synthesizer i can start my little experiment with. <br />
My goal (and therefore the goal of this article) is to get an understanding of how i have to manipulate which parts of the synthesizer to get what kind of sound-effects.<br />
<br />
==Preparation==
I found a nice book about synthesizer programming/sound design<ref>http://www.wizoobooks.com/Englische-Produkte/Books/Programming-Synthesizers::224.html</ref> which uses [http://www.native-instruments.com/#/en/products/producer/reaktor-5/ native instruments reaktor5] so i decided to go along with that and use their basic synthesizer called soundschool_synth which is available for download [http://www.wizoobooks.com/shop_content.php?coID=4114 here]. Unfortunately this is a demo version which runs only for half an houre and you can not save your snapshots but it is designed to demonstrate the basic concepts of sound synthesis and therefore is exactly what i need.<br />
Lets start the demo version of Reaktor5, go to ''file'' and ''open ensemble'' and choose the SoundSchoolAnalog.ens. What you see should look somewhat like this:<br />
<br />
[[File:Synth out.png]]<br />
<br />
<br />
==How does the sound get through the synthesizer?==
Every synthesizer consists of three to four basic elements to shape a sound: First of all a sound has to be generated. Responsible for that is the '''Oscillator'''. You can choose between some basic wave-shapes like the sine-wave, sawtooth, or rectangle. Try them out and hear the differences. Since in our synthesizer we have two oscillators, the generated sound-waves have to be mixed. For that purpose every synthesizer with more than only one oscillator needs a '''Mixer'''. The resulting signal is a waveform-combination which can already include a [http://en.wikipedia.org/wiki/Beat_%28acoustics%29 beat] and /or an [http://en.wikipedia.org/wiki/Interval_%28music%29 interval]. At this point the generation of sound is completed and we come to the elements that do its modulation.<br />
After passing through the mixer the next station of our sound-wave is the '''Filter'''. Here parts of the frequencies get cut off (filtered) which adds a different timbre to the sound. Try out the different filter-characteristics and play with the cutoff-knob and you'll hear how the [http://en.wikipedia.org/wiki/Timbre timbre] of the sound changes.<br />
The third thing we want to be able to change is the way sounds fade in and/or out. This happens in the '''Amplifier'''. In this synthesizer, just like in most other ones, the amp is not directly visible but it is controlled by the ''Amp envelope'' in which you find 4 knobs: [http://en.wikipedia.org/wiki/Synthesizer#ADSR_envelope A = attack, D = decay, S = sustain, R = release]. Changing their values you can directly hear (and see in the graphic below) what happens to the progression of the sound.<br />
All the other components basically have the purpose of changing, regulating and modifying those four elements.<br />
<br />
[[File:Synth in.png]]<br />
<br />
So lets follow the way of the sound and try to get a deeper understanding of what really happens and which design opportunities we have in each of the different modules of the synthesizer.<br />
<br />
==Oscillator==
In general there are 6 different [http://en.wikipedia.org/wiki/Waveform waveforms]: [http://en.wikipedia.org/wiki/Sine_wave sine], [http://en.wikipedia.org/wiki/Triangle_wave triangle], [http://en.wikipedia.org/wiki/Sawtooth_wave sawtooth], [http://en.wikipedia.org/wiki/Square_wave rectangle/square], pulse and [http://en.wikipedia.org/wiki/Noise_%20%28physics%29 noise].<br />
In our first oscillator we have four different wave-shapes and three controllers to modify them.<br />
The first controller is the symm-knob which changes the symmetry of the wave. Try it out!! Did you realize that if you choose the pulse-wave and leave symm on 0 (off) you get a simple rectangle-wave, but by increasing symm you can modify the waves width and therefore turn it into a pulse-wave?! And if you choose the triangle- or sine-wave increasing the symmetry bends it clockwise and turns it into a sawtooth!<br />
The next knob is the interval-knob which simply [http://en.wikipedia.org/wiki/Transposition_%28music%29 transposes] the sound in steps of [http://en.wikipedia.org/wiki/Semitone semitones].<br />
The third knob regulates the [http://en.wikipedia.org/wiki/Frequency_modulation_synthesis frequency-modulation]: if you turn it up osc1 does not only generate a sound but its amplitude also controls the frequency of osc2. This means that the frequency of osc2 gets higher, where the wave of osc1 is positive and gets lower, where the wave is negative. This feature adds a really important character to a sound: [http://en.wikipedia.org/wiki/Vibrato vibrato]!<br />
Lets try it out with a little experiment:
# For osc1 choose the pulse-wave and in the mixer turn osc1 on 0 (off). We don't want to hear the wave, we only want to use it as a modulator and since the pulse-wave switches rapidly from positive to negative it the best wave-form to demonstrate FM.
# For osc2 choose the sine-wave and in the mixer turn it on 1 (on). Now turn the FM-knob slowly up. Already now you should hear a vibration in the sound but it will get even more striking!
# Now turn the interval of osc1 on -60 and the interval of osc2 on 60. What you should see in the scope should be a wave that switches from<br />
:{|
|-
| this: || to this:
|-
| [[File:Vibrato1.png]] || [[File:Vibrato2.png]]
|}
if you still didn't understand what is happening there turn osc1 on 1 just to hear the sound we are using for the manipulation: it is a periodic, very short sound that seems just like a beating. Now it should be all clear: When the wave of the beating sound is positive the frequency of our sine and therefore its sound is high and when it is negative the frequency is low and therefore we hear a deep sound.<br />
The second oscillator offers the same amount of different parameters which differ just slightly from the first one. Instead of bending a wave like the symm-controller of osc1 does, the puls-sym-controller just adjusts the pulse-width; and instead of the FM controller we have a knob for [http://en.wikipedia.org/wiki/Detuning detuning]. Detuning makes only sense if we use both oscillators as sound-generators so that we can detune them against each other.<br />
Lets do another small experiment to see which effect we can reach with detuning.
:1. We choose the square/pulse sound-wave for both of the oscillators and in the mixer turn osc1 on 1 (on) and osc2 on 0 (off)
:2. While playing a note on the keyboard, slowly turn osc2 on as well. If you stop at about 0.25 you should be able to nicely see the effect in the scope.
:{|
|-
| It should look somewhat like this:
|-
| [[File:Beat1.png]]
|-
| The two waves add up and until now the character of the sound did not really change jet.
|}
:3. Try out what happens if you turn the detune on. It looks like one wave is faster than the other and as you can hear the tone already seems to gain some color.
:4. Then turn the detune off again and try out the interval. Basically the interval- and the detune-knob do the same: they change the frequency of the wave but whereas the detuning results in just a very slight
::change, turning the interval on 12 (or 24) already makes the tone one octave (respectively two) higher.
:{|
|-
| The scope should now look similar to this:
|-
| [[File:Beat2.png]]
|-
| Did you realize that while the tones have a difference of one, two, three,.. octaves you hear them as one tone?!
|}<br />
Play around with both, the interval and the detuning and even try out what happens if you combine other waveforms!!
What you just experienced is actually the phenomena of beat: it emerges when two oscillators with slightly different frequencies interfere with each other. The sound gets fetter and seems more animated.<br />
===Sync===
Sync stands for synchronization and is a tool which, similar to the FM, gives the first oscillator a modulating role: every time its signal reaches its starting point it forces the second oscillator to start over as well. Choose a pulse-wave for osc1 and a sawtooth-wave for osc2. Now increase the interval of osc2 (set it on a value between 1 and 12) and check the sync-box. In the mixer turn osc1 on 0 and osc2 on 1 and you will see how the sawtooth-wave gets interrupted and reset every time the pulse-wave crosses the x-axis.
:
{|
|-
| [[File:Sync1.png]] || [[File:Sync2.png]] || [[File:Sync3.png]]
|}<br />
===LFO===
LFO stands for [http://en.wikipedia.org/wiki/Low-frequency_oscillation Low-Frequency-Oscillator]. The way it works is basically very similar to the FM. The LFOscillator generates a wave, usually with a frequency below 20Hz, which then is used to modify certain components of the synthesizer, such as the inputs of any other, audible oscillator (pitch and symmetry), the filter or the amplifier. Obviously the difference to FM is that you can use this wave to modify any components that are modifiable in a synthesizer. Its rate defines the velocity (in our synthesizer between 0.1 and 10 Hz) and its amount (guess what!? ..) the amount of the modulation. In our synthesizer-model the first three units of the LFO (rate, waveform and symm) describe the characteristics of the genertated wave and the units on the right describe how much and what the wave modulates.<br />
<br />
==Mixer==
The first two knobs of the mixer are self-explaining: they regulate the amount of signal taken from both of the oscillators. The third controller is responsible for the Ring-modulation. ..This sounds complicated but it is actually really easy: it is basically the multiplication of the two waves (signal of osc1 multiplied by the signal of osc2). Put the mixer for the two oscillators on 0, turn the
RingMod on and then try out the different combinations of waves!<br />
<br />
==Filter==
The [http://en.wikipedia.org/wiki/Audio_filter filter] of our synthesizer consists of a drop-down-menu, from where we can choose the type of filter we want to use, and four controllers.<br />
The most important controller is the '''Cutoff'''-knob!! It sets the frequency form which the filter starts to operate. This means that if you choose a [http://en.wikipedia.org/wiki/Low_pass_filter LowPass-filter] only the parts of the signal with a higher frequency than the cutoff-value get filtered and the lower ones pass through unchanged; if you choose a [http://en.wikipedia.org/wiki/High_pass_filter HighPass-filter] the signals which are higher than the cutoff-value pass through and the lower ones get filtered and the [http://en.wikipedia.org/wiki/Band_pass_filter BandPass-filter] filters both, the higher and the lower signals and just lets a band around the cutoff-frequency pass unchanged.<br />
At this point one thing we should throw a little glance at is the slope of a filter. In our synthesizer the filters not only differ in their range but also in their slope. The slope is measured in [http://en.wikipedia.org/wiki/Decibel decibel] per [http://en.wikipedia.org/wiki/Octave octave] and tells us how fast the filter starts to pull in. A filter with a slope of 6 dB/oct is also called a 1-pole-filter, with a slope of 12 dB/oct a 2-pole-filter and so on... That's what the number behind the names of our filters mean!! So if you just switch between Lowpass1 and Lowpass4 you will realize that the higher the number of the pole and therefore the slope is the clearer we can hear the filter- effect!
The '''Resonance'''-controller is also a very important one: it boosts the frequency around the cutoff-value!! If you turn it on completely the filter starts self-oscillating. This is because the frequencies around the cutoff-value get lifted up that much that they result in a sine-wave and all the overtones get cut off! The best way to hear and see this phenomena is by choosing the noise wave, set the filter on LowPass4 and the Resonance on 1. Because we chose the LowPass-filter all frequencies lower than the cutoff-value get filtered and therefore with a high cutoff-value nothing happens. But try turning the cutoff down!! You will see that slowly the random noise signal turns into a sine wave!
The '''Env'''-value simply describes how much the filter is controlled by the filterEnvelope, whose purpose is to control the chronological sequence of the filter-effect. Again choose the noise wave, put resonance on 1 and the cutoff-frequency on 80. If you now change the ADSR-values of the envelope and put the env-controller on a negative value you will realize that the result is as if you would turn the cutoff from a low frequency up to 80, if you put the env-controller on a positive number the result is as if you would turn the cutoff from a high frequency down to 80. You see that using envelopes has the same effect as playing with controllers and the filterEnvelope is the one that controlles the progression of the timbre.
'''K-track''' stands for Keyboard-tracking and is responsible for how much the cutoff-frequency follows the note-pitch. Choose the pulse-wave with a lowPass4-filter, set cutoff on 80 and resonance on 0.5. now play a very low note and afterwards a very high note while the k-track is set on 0 (turned off). We can see in the scope that the high note got filtered that much that it almost doesn't have any overtones anymore and turned into a sine-wave while the low note has its own characteristic sound and shape. Most of the times we don't want this to happen but instead we want that the filter filters relative to the frequencies we play. If now we turn the k-track on 1 that is exactly what happens!!
:
{|
|-
| [[File:K-track1.png]] || [[File:K-track2.png]] || [[File:K-track3.png]]
|-
| low tone || high tone (no k-track) || high tone (with k-track)
|}
==Amplifier==
Like mentioned before the Amplifier is not really visible in the synthesizer but representative for it is the AmpEnvelope. This unit functions just like the envelope of the filter, where you can modify the ADSR-values, only that instead if controlling the progression of the filtration it actually regulates the progression of the finally audible sound. This is one of the most essential tools for sound-design because it defines if a sound is for example short and crisp or long and stretched. As you can figure the AmpEnvelope for the sounds of a car-racing game should look a lot different than the AmpEnvelope for the sounds of a horse-racing game and the sound of the wind has a different progression then the sound of a gunshot!!
==Don't we love patterns??==
So now that we know about all the different components and what they do, instead of the 'trial-and- error'-approach of just playing around with the knobs, hoping to accidentally get a nice sound out of that machine we should get ourselves a pattern (to use for orientation, obviously not to stolidly stick to it) to achieve our first reasonable results.
Here are the steps we should follow:
{| class="wikitable"
|-
! !! What to do? !! Where to do it?
|-
| 1) || Variate the raw timbre || Osc1, Mixer
|-
| 2) || Add beat and oscillator-modulation || Osc2, Mixer, LFO, FilterEnv->Osc
|-
| 3) || Modify the filter-characteristics || Filter
|-
| 4) || Modify the filter-progression || Filter Env
|-
| 5) || Modify the volume-progression || AmpEnv
|}
Now we need to find a freeware synthesizer (similar to this one so we can use our pattern!!) and start actually DOING something!!
===References===
{{Reflist|1}}
=== Author ===
jonnyBlu
{{BookCat}}
6fkxbmya39p8g7muzuvh8gd9pruidov
Aros/Developer/OpenGL
0
265457
4634682
4488614
2026-05-07T18:30:01Z
Jeff1138
301139
4634682
wikitext
text/x-wiki
{{ArosNav}}
== Introduction ==
[[#GLSL openGL Shader Language]],
[[#raylib]] [[#Modules]] [[#RLGL]]
[[#Misc]] [[#Game design document GDD]]
The Amiga's first introduction to hardware enhanced 3D was Warp3D in the 1990s.
This was followed by an open source(software based) equivalent called [http://thellier.free.fr/Wazp3D.htm Wazp3D]
A Wazp3D adaptation to AROS from Matthias Rustler appeared on December 2007.
During 2009 Krzysztof "Deadwood" Smiechowicz ported version 7.5 of MESA 3D to AROS.
MESA 3D provides a generic OpenGL implementation.
Then he added hardware 3D acceleration capabilities to AROS with his port of Gallium3D for MESA 3D.
Then on September 2011 Wazp3D was linked to Mesa 3D for hardware enhanced 3D.
in -> vertex -> fragment -> out
*Framebuffer – alpha, stencil, depth
*Vertex – transform and lighting
*Fragment – texturing, fog,
*Geometry – primitives (dots, lines, polygons triangle/quad), clipping
*Compute -
*Tessellation -
Far better using SDL's 1.2.x GL additions for up to and including OpenGL 2 or consider SDL 1.3 / 2.x for OpenGL 3 and above
* Web GL 1.0 – OpenGL ES 2.0 – OpenGL 2 but complete support in OpenGL 4.1
* Web GL 2.0 – Open GL ES 3.0 – OpenGL 4.3
There is no backwards compatibility from OpenGL 2 to OpenGL 1 as well as OpenGL ES 2 to OpenGL ES 1.
But all later OpenGL and ES versions are retrospectively support.
Considered deprecated (ie not advised using or missing/removed)
GL1.1 – OpenGL ES 1 with Fixed Functions – glNormalPointer, glColorPointer and glVertexPointer were introduced. Nearly all of the old ID software are OpenGL 1.1 + extensions
GL1.3 -
GL1.4 – fragment support added
GL1.5 – VBOs added – OpenGL ES 1.1 – added features such as mandatory support for multitexture, better multitexture support (including combiners and dot product texture operations), automatic mipmap generation, vertex buffer objects, state queries, user clip planes, and greater control over point rendering
GL2.0 – OpenGL es 2 – Vertex / Fragment shaders introduced – WebGL minimum – GLSL shading language -
deprecated = glMatrixMode glMult/LoadMatrix glRotate/Translate/Scale glPush/PopMatrix glBegin/End glVertex glTexCoords glLight glMaterial glPush/PopAttrib
GL2.1 – 2006 – last appearance of some matrix functions/stacks – PBOs Pixel buffer objects -
If you want to be able to run on hardware incapable of OpenGL 3.0, then suggest that you not write applications for OpenGL 3.0. Many of the features of 3.0 that can be used on older hardware are backported via extensions. So instead of writing a 3.x application, you could be writing a 2.1 application that is able to use certain extensions. So just code to the GL 2.1 spec instead. You can always research the calls and features that have been since deprecated and just avoid using them in a pure 2.1 program
general method is to have different rendering paths for different features. You detect the version number. If it's one thing, you use one rendering path. If it's lower, you use another. Etc. You can do fine-grained checking by checking for the presence of certain extensions.
Minimum advised starting point for new apps which arrived with Mesa 12 ported to AROS which opened access to the following (hardware support permitting)
Gl3.0 – 2008 – Geometry shaders – Vertex Array Objects (VAOs) ie GL_ARB_vertex_array_object. Older versions need to do more vertex setup work when drawing an object, rather than setting them up once and just binding the VAO. Modern OpenGL enforces you to write your own matrices and pass those manually into shader programs. use programmable function pipelines
GL3.1 – eliminates most of the fixed-function rendering pipeline in favor of a programmable one
GL3.3
GL4.0 – 2010 – Tesselation shaders – Image load/store and atomic counters are probably the biggest ones (this includes shader storage buffers too), though simultaneously the least advertised. Shaders get to write/read from images and buffers directly, though there are a lot of caveats and synchronization issues to understand about doing this. introduces an additional pair of shader stages: one that decides how much to tessellate a primitive, and the other to decide how to generate the new values from the tessellated primitive.
GL4.1 – 2010 – incompatibilities between the desktop version of OpenGL and OpenGL ES 2.0 persisted until OpenGL 4.1, which added the GL_ARB_ES2_compatibility extension. Subroutines are an interesting but often overlooked feature. Basically, you can attach subroutines to shader programs like uniforms. So you could use the same basic program that will run a lighting function, but you can swap lighting functions without changing the program. The basic program would fetch textures, figure out what the diffuse/specular/etc material parameters are, determine the normal and lighting parameters, and pass that to the subroutine. allows you to dynamically piece together different fragments of shaders. You can more or less attach a function to a specific bind point in a program.
GL4.2 – 2011 -
GL4.3 – 2012 – Compute shaders – openGL ES 3 compatibility -
GL4.4
GL4.5
== Compiling ==
[[#top|...to the top]]
=== WARP3D ===
Recompiling a program that use Warp3D.library is quite simple.
You just need to link it to Warp3D
So compiling cow3d for Aros x86 was as simple as
gcc -c -O3 CoW3D-3.c -o Cow3D-Aros -lWarp3D
Wazp3D-Prefs is a little tool for selecting how Wazp3D works (fast or nice).
Aros version is included with Aminet/Cow3D (see Wazp3D homepage for documentation)
Option "Renderer:Soft to Image" is safer if your Aros system dont support LockBitmapTags()
else "Renderer:Soft to Bitmap"
If your Aros support "Native Graphics Aros" then you can try "Renderer:hard overlay" or "Renderer:hard"
but the display is not perfect as Mesa dont support rendering to bitmap as Warp3D
You need to use W3D_DrawTriFan(), W3D_DrawTriSttrip() or better still, W3D_DrawArray() with their corresponding data structures. Suggest the latter since you have much more control over how the vertex data is organised.
You create a triangle strip or a triangle fan. In a strip, alternate triangles share two points along an edge. In a fan, all triangles share one common vertex and adjacent triangles also share an edge. The simplest to illustrate is the strip. A rectangle is simply a 2 triangle strip, something like this:
<pre>
V[0]--V[1]
| /|
| / |
| / |
| / |
| / |
V[2]--V[3]
</pre>
Using one of the strip drawing methods, the same texture is applied to all polygons in the strip. If you use the old single triangle routines, you have to either enable global texture environment or specify the texture in each polygon separately.
Warp3D is a rasterizer only. That means that it draws primitives in screen space. Strictly, the axes are defined as X=left to right in pixels, Y top to botton in pixels, Z is plane of the screen into the distance. The valid range for Z is 0.0 – 1.0.
You need to calculate your vertices in screen space directly or write your own transformation pipeline.
See [http://aminet.net/dev/src/StarshipW3D.lha Starship3D]
=== MESA 3D ===
==== MESA 12 ====
This is a work in progress
Creating a window in SDL and binding an OpenGL 3.2 context to it uses these steps
<pre>
Initialize the SDL video subsystem using SDL_Init or SDL_VideoInit
Set the parameters we require for opengl using SDL_GL_SetAttribute
Create a window using SDL_CreateWindow
Bind an OpenGL context to the window using SDL_GL_CreateContext
</pre>
==== MESA 7 ====
From client perspective using mesa.library is quite simple:
1) For programs that simply use OpenGL and Glut (like Aminet/starship) then just compile them
gcc starship.c -lglut -lgl – o starshiparos
2) For programs that use OpenGL and Amiga windowing system
* Create a window
* Call AROSMesaCreateContext passing it the window and some other stuff -> you get rendering context in return
* Call AROSMesaMakeCurrent passing it the context so that AROSMesa knows what to render on
* Render some stuff using glXXX functions
* Call AROSMesaSwapBuffers to have the content of render buffer painted onto your window
* Loop to glXXX functions
[...]
* Call AROSMesaDestroyContext(context);
* Call CloseWindow(window);
OpenGL API has been changed in ABI V1, just rename 'glA' to 'AROSMesa'
The VBO functions are still there, but you need to access them via glaGetProcAddress.
<syntaxhighlight lang="c">
/*
Copyright (C) 2006-2011 Mark Olsen
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <intuition/extensions.h>
#include <cybergraphx/cybergraphics.h>
#include <proto/exec.h>
#include <proto/intuition.h>
#include <proto/cybergraphics.h>
#include <GL/arosmesa.h>
#include "quakedef.h"
#include "input.h"
#include "keys.h"
#include "gl_local.h"
#include "in_morphos.h"
#include "vid_mode_morphos.h"
struct Library *MesaBase = 0;
struct display
{
void *inputdata;
unsigned int width, height;
int fullscreen;
char used_mode[256];
struct Screen *screen;
struct Window *window;
void *pointermem;
char pal[256*4];
AROSMesaContext mesacontext;
};
void Sys_Video_CvarInit(void)
{
}
void *Sys_Video_Open(const char *mode, unsigned int width, unsigned int height, int fullscreen, unsigned char *palette)
{
struct display *d;
struct modeinfo modeinfo;
char monitorname[128];
int r;
int i;
d = AllocVec(sizeof(*d), MEMF_CLEAR);
if (d)
{
MesaBase = OpenLibrary("mesa.library", 0);
if (MesaBase)
{
if (fullscreen)
{
if (*mode && modeline_to_modeinfo(mode, &modeinfo))
{
snprintf(monitorname, sizeof(monitorname), "%s.monitor", modeinfo.monitorname);
d->screen = OpenScreenTags(0,
SA_Width, modeinfo.width,
SA_Height, modeinfo.height,
SA_Depth, modeinfo.depth,
#if 0
SA_MonitorName, monitorname,
#endif
SA_Quiet, TRUE,
TAG_DONE);
}
else
{
d->screen = OpenScreenTags(0,
SA_Quiet, TRUE,
TAG_DONE);
}
if (d->screen)
{
width = d->screen->Width;
height = d->screen->Height;
snprintf(d->used_mode, sizeof(d->used_mode), "Dunno,%d,%d,42", width, height);
}
else
fullscreen = 0;
}
if (d->screen || !fullscreen)
{
d->window = OpenWindowTags(0,
d->screen?WA_Width:WA_InnerWidth, width,
d->screen?WA_Height:WA_InnerHeight, height,
WA_Title, "FodQuake",
WA_DragBar, d->screen?FALSE:TRUE,
WA_DepthGadget, d->screen?FALSE:TRUE,
WA_Borderless, d->screen?TRUE:FALSE,
WA_RMBTrap, TRUE,
d->screen?WA_CustomScreen:TAG_IGNORE, (IPTR)d->screen,
WA_Activate, TRUE,
TAG_DONE);
if (d->window)
{
d->mesacontext = AROSMesaCreateContextTags(
AMA_Window, d->window,
AMA_Left, d->screen?0:d->window->BorderLeft,
AMA_Top, d->screen?0:d->window->BorderTop,
AMA_Width, width,
AMA_Height, height,
AMA_NoStencil, TRUE,
AMA_NoAccum, TRUE,
TAG_DONE);
if (d->mesacontext)
{
AROSMesaMakeCurrent(d->mesacontext);
d->pointermem = AllocVec(256, MEMF_ANY|MEMF_CLEAR);
if (d->pointermem)
{
SetPointer(d->window, d->pointermem, 16, 16, 0, 0);
d->width = width;
d->height = height;
d->fullscreen = fullscreen;
d->inputdata = Sys_Input_Init(d->screen, d->window);
if (d->inputdata)
{
return d;
}
FreeVec(d->pointermem);
}
AROSMesaMakeCurrent(0);
AROSMesaDestroyContext(d->mesacontext);
}
CloseWindow(d->window);
}
if (d->screen)
CloseScreen(d->screen);
}
CloseLibrary(MesaBase);
}
FreeVec(d);
}
return 0;
}
void Sys_Video_Close(void *display)
{
struct display *d = display;
Sys_Input_Shutdown(d->inputdata);
AROSMesaMakeCurrent(0);
AROSMesaDestroyContext(d->mesacontext);
CloseWindow(d->window);
FreeVec(d->pointermem);
if (d->screen)
CloseScreen(d->screen);
CloseLibrary(MesaBase);
FreeVec(d);
}
unsigned int Sys_Video_GetNumBuffers(void *display)
{
struct display *d;
d = display;
return d->screen ? 3 : 1;
}
int Sys_Video_GetKeyEvent(void *display, keynum_t *keynum, qboolean *down)
{
struct display *d = display;
return Sys_Input_GetKeyEvent(d->inputdata, keynum, down);
}
void Sys_Video_GetMouseMovement(void *display, int *mousex, int *mousey)
{
struct display *d = display;
Sys_Input_GetMouseMovement(d->inputdata, mousex, mousey);
}
void Sys_Video_SetWindowTitle(void *display, const char *text)
{
struct display *d;
d = display;
SetWindowTitles(d->window, text, (void *)-1);
}
unsigned int Sys_Video_GetWidth(void *display)
{
struct display *d;
d = display;
return d->width;
}
unsigned int Sys_Video_GetHeight(void *display)
{
struct display *d;
d = display;
return d->height;
}
qboolean Sys_Video_GetFullscreen(void *display)
{
struct display *d;
d = display;
return d->fullscreen;
}
const char *Sys_Video_GetMode(void *display)
{
struct display *d;
d = display;
return d->used_mode;
}
void Sys_Video_BeginFrame(void *display, unsigned int *x, unsigned int *y, unsigned int *width, unsigned int *height)
{
struct display *d;
d = display;
*x = 0;
*y = 0;
*width = d->width;
*height = d->height;
}
void Sys_Video_Update(void *display, vrect_t *rects)
{
struct display *d = display;
AROSMesaSwapBuffers(d->mesacontext);
}
void Sys_Video_GrabMouse(void *display, int dograb)
{
struct display *d = display;
if (!d->screen)
{
Sys_Input_GrabMouse(d->inputdata, dograb);
if (dograb)
{
/* Hide pointer */
SetPointer(d->window, d->pointermem, 16, 16, 0, 0);
}
else
{
/* Show pointer */
ClearPointer(d->window);
}
}
}
void Sys_Video_SetGamma(void *display, unsigned short *ramps)
{
}
qboolean Sys_Video_HWGammaSupported(void *display)
{
return 0;
}
int Sys_Video_FocusChanged(void *display)
{
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
[https://github.com/manuel-fischer/LAB 3D Voxel C], [https://github.com/munro98/SimpleCraftCpp 3D Voxel C++], [https://github.com/djmgit/voxel_space voxel space c], [https://github.com/JaanDev/MCRewrite Minecr*ft simple terrain], [https://github.com/scallyw4g/bonsai Voxel C++], [], [],
[https://github.com/akifuslu/towerDefense TD C++], [https://github.com/TheCherno/Genesis-Remake 2D Tiles Sprite Sheet Game C++], [https://www.youtube.com/watch?v=rpOzMQbiUVY 2D Tile Youtube], [], [],
[https://itch.io/game-assets/tag-asset-pack Games Assets], [], [],
==GLSL openGL Shader Language ==
[[#top|...to the top]]
Shaders are written in the C-like language [https://www.khronos.org/opengl/wiki/Core_Language_(GLSL) GLSL] which has [https://people.eecs.ku.edu/~jrmiller/Courses/OpenGL/DeveloperNotes/GLSL_Overview.html no pointers and is not object-oriented].
[https://registry.khronos.org/OpenGL/specs/gl/GLSLangSpec.4.50.pdf GLSL] is tailored for use with graphics and contains useful features specifically targeted at vector and matrix manipulation.
=== GLSL 1.0 to 1.2 (OpenGL 2.x) ===
Shaders always begin with a version declaration, followed by a list of input and output variables, uniforms and its main function. Each shader's entry point is at its main function where we process any input variables and output the results in its output variables.
<pre>
#version version_number
uniform type uniform_name;
void main()
{
// process input(s) and do_something
...
// output did_somethings to output variable
out_variable_name = something_done;
}
</pre>
Each input variable is also known as a vertex attribute. There is a maximum number of vertex attributes we're allowed to declare limited by the hardware. OpenGL guarantees there are always at least 16 4-component vertex attributes available, but some hardware may allow for more which you can retrieve by querying GL_MAX_VERTEX_ATTRIBS:
Types
GLSL has, like any other programming language, data types for specifying what kind of variable we want to work with. GLSL has most of the default basic types we know from languages like C: int, float, double, uint and bool. GLSL also features two container types that we'll be using a lot, namely vectors and matrices.
Vectors
A vector in GLSL is a 2,3 or 4 component container for any of the basic types just mentioned. They can take the following form (n represents the number of components):
* vecn: the default vector of n floats.
* bvecn: a vector of n booleans.
* ivecn: a vector of n integers.
* uvecn: a vector of n unsigned integers.
* dvecn: a vector of n double components.
Most of the time we will be using the basic vecn since floats are sufficient for most of our purposes.
Components of a vector can be accessed via vec.x where x is the first component of the vector. You can use .x, .y, .z and .w to access their first, second, third and fourth component respectively. GLSL also allows you to use rgba for colors or stpq for texture coordinates, accessing the same components.
The vector datatype allows for some interesting and flexible component selection called swizzling. Swizzling allows us to use syntax like this:
<pre>
vec2 someVec;
vec4 differentVec = someVec.xyxx;
vec3 anotherVec = differentVec.zyw;
vec4 otherVec = someVec.xxxx + anotherVec.yxzy;
</pre>
You can use any combination of up to 4 letters to create a new vector (of the same type) as long as the original vector has those components; it is not allowed to access the .z component of a vec2 for example. We can also pass vectors as arguments to different vector constructor calls, reducing the number of arguments required:
<pre>
vec2 vect = vec2(0.5, 0.7);
vec4 result = vec4(vect, 0.0, 0.0);
vec4 otherResult = vec4(result.xyz, 1.0);
</pre>
Vectors are thus a flexible datatype that we can use for all kinds of input and output.
Uniforms are another way to pass data from our application on the CPU to the shaders on the GPU. Uniforms are global so is unique per shader program object, and can be accessed from any shader at any stage in the shader program. Uniforms also will keep their values until they're either reset or updated.
To declare a uniform in GLSL we simply add the uniform keyword to a shader with a type and a name. From that point on we can use the newly declared uniform in the shader.
<pre>
#version 330 core
out vec4 FragColor;
uniform vec4 ourColor; // we set this variable in the OpenGL code.
void main()
{
FragColor = ourColor;
}
</pre>
Vertex - attributes
Vectors - swizzling
worldspace (position) transformed matrix to screenspace (projection, modelview, position)
Fragment - vectors
R, G, B, A
sdf (signed distance function) 2d and 3d shapes in shaders
[https://github.com/ssloy/glsltuto Tut], [], [],
SDL2
[https://github.com/srdhruv/opengl-snakegame snake c++], [https://github.com/rainarit/snake-opengl Snake C++], [],
[https://github.com/yang-han/EnjoyYourRoad Game starter], [https://github.com/Gaetz/SDL-OpenGL Game start], [], [],
[https://github.com/Pk13055/opengl-game simple c++ platformer], [], [],
[https://github.com/thumsl/C3D Simple C 3D engine], [], [],
[], [], [],
SDL1
[], [], [],
[], [], [],
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
#include <GL/glu.h>
#include <GL/glut.h>
#include <vector>
#include <cmath>
const int SCREEN_WIDTH = 1024;
const int SCREEN_HEIGHT = 1024;
const float camera[] = {.6,0,1};
const float light0_position[4] = {1,1,1,0};
void render_scene(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(camera[0], camera[1], camera[2], 0, 0, 0, 0, 1, 0);
glColor3f(.8, 0., 0.);
glutSolidTeapot(.7);
glutSwapBuffers();
}
void process_keys(unsigned char key, int x, int y) {
if (27==key) {
exit(0);
}
}
void change_size(int w, int h) {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0, 0, w, h);
glOrtho(-1,1,-1,1,-1,8);
glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(100,100);
glutInitWindowSize(SCREEN_WIDTH, SCREEN_HEIGHT);
glutCreateWindow("GLSL tutorial");
glClearColor(0.0,0.0,1.0,1.0);
glutDisplayFunc(render_scene);
glutReshapeFunc(change_size);
glutKeyboardFunc(process_keys);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0, GL_POSITION, light0_position);
glutMainLoop();
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
#include <exec/types.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <intuition/screens.h>
#include <cybergraphx/cybergraphics.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/intuition.h>
#include <proto/timer.h>
#include <devices/timer.h>
#include <proto/cybergraphics.h>
#define GL_GLEXT_PROTOTYPES
#include <GL/arosmesa.h>
#include <stdio.h>
AROSMesaContext glcont=NULL;
double angle = 0.0;
double angle_inc = 0.0;
BOOL finished = FALSE;
struct Window * win = NULL;
struct Device * TimerBase = NULL;
struct timerequest timereq;
struct MsgPort timeport;
struct Library * CyberGfxBase = NULL;
BOOL fullscreen = FALSE;
GLuint fragmentShader = 0;
GLuint vertexShader = 0;
GLuint shaderProgram = 0;
GLint angleLocation = 0;
const GLchar * fragmentShaderSource =
"uniform float angle;"
"void main()"
"{"
" vec4 v = vec4(gl_Color);"
" float intensity = abs(1.0f - (mod(angle, 1440.0f) / 720.0f));"
" v.b = v.b * intensity;"
" v.g = v.g * (1.0f - intensity);"
" gl_FragColor = v;"
"}";
const GLchar * vertexShaderSource =
"void main()"
"{ "
" gl_FrontColor = gl_Color;"
" gl_Position = ftransform();"
"}";
#define RAND_COL 1.0f
#define DEGREES_PER_SECOND 180.0
#define USE_PERSPECTIVE 1
void prepare_shader_program()
{
#define BUFFER_LEN 2048
char buffer[BUFFER_LEN] = {0};
int len;
fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragmentShader, 1, &fragmentShaderSource, NULL);
glCompileShader(fragmentShader);
glGetShaderInfoLog(fragmentShader, BUFFER_LEN, &len, buffer);
printf("Fragment shader compile output: %s\n", buffer);
vertexShader = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertexShader, 1, &vertexShaderSource, NULL);
glCompileShader(vertexShader);
glGetShaderInfoLog(vertexShader, BUFFER_LEN, &len, buffer);
printf("Vertex shader compile output: %s\n", buffer);
shaderProgram = glCreateProgram();
glAttachShader(shaderProgram, vertexShader);
glAttachShader(shaderProgram, fragmentShader);
glLinkProgram(shaderProgram);
glGetProgramInfoLog(shaderProgram, BUFFER_LEN, &len, buffer);
printf("Shader program compile output: %s\n", buffer);
#undef BUFFER_LEN
}
void cleanup_shader_program()
{
glUseProgram(0);
glDetachShader(shaderProgram, fragmentShader);
glDetachShader(shaderProgram, vertexShader);
glDeleteShader(fragmentShader);
glDeleteShader(vertexShader);
glDeleteProgram(shaderProgram);
}
void render_face()
{
glBegin(GL_QUADS);
glColor4f(RAND_COL , 0.0, RAND_COL, 0.3);
glVertex3f(-0.25, -0.25, 0.0);
glColor4f(0, RAND_COL, RAND_COL, 0.3);
glVertex3f(-0.25, 0.25, 0.0);
glColor4f(0 , 0, 0, 0.3);
glVertex3f(0.25, 0.25, 0.0);
glColor4f(RAND_COL , RAND_COL, 0, 0.3);
glVertex3f(0.25, -0.25, 0.0);
glEnd();
}
void render_cube()
{
glPushMatrix();
glRotatef(0.0, 0.0, 1.0, 0.0);
glTranslatef(0.0, 0.0, 0.25);
render_face();
glPopMatrix();
glPushMatrix();
glRotatef(90.0, 0.0, 1.0, 0.0);
glTranslatef(0.0, 0.0, 0.25);
render_face();
glPopMatrix();
glPushMatrix();
glRotatef(180.0, 0.0, 1.0, 0.0);
glTranslatef(0.0, 0.0, 0.25);
render_face();
glPopMatrix();
glPushMatrix();
glRotatef(270.0, 0.0, 1.0, 0.0);
glTranslatef(0.0, 0.0, 0.25);
render_face();
glPopMatrix();
glPushMatrix();
glRotatef(90.0, 1.0, 0.0, 0.0);
glTranslatef(0.0, 0.0, 0.25);
render_face();
glPopMatrix();
glPushMatrix();
glRotatef(-90.0, 1.0, 0.0, 0.0);
glTranslatef(0.0, 0.0, 0.25);
render_face();
glPopMatrix();
}
void render_triangle()
{
glBegin(GL_TRIANGLES);
glColor4f(1.0, 0.0, 0.0, 1.0);
glVertex3f(-0.25, -0.25, 0.0);
glColor4f(0.0, 1.0, 0.0, 1.0);
glVertex3f(-0.25, 0.25, 0.0);
glColor4f(0.0, 0.0, 1.0, 1.0);
glVertex3f( 0.25, 0.25, 0.0);
glEnd();
}
void render()
{
glLoadIdentity();
glClearColor(0.3, 0.3, 0.3, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glCullFace(GL_BACK);
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
angle += angle_inc;
glUniform1f(angleLocation, angle);
#if USE_PERSPECTIVE == 1
glTranslatef(0.0, 0.0, -6.0);
#endif
glPushMatrix();
glRotatef(angle, 0.0, 1.0, 0.0);
glTranslatef(0.0, 0.0, 0.25);
glRotatef(angle, 1.0, 0.0, 1.0);
render_cube();
glPopMatrix();
glDisable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
AROSMesaSwapBuffers(glcont);
}
#define VISIBLE_WIDTH 300
#define VISIBLE_HEIGHT 300
void initmesa()
{
struct TagItem attributes [ 14 ]; /* 14 should be more than enough :) */
int i = 0;
GLfloat h = 0.0f;
attributes[i].ti_Tag = AMA_Window; attributes[i++].ti_Data = (IPTR)win;
attributes[i].ti_Tag = AMA_Left; attributes[i++].ti_Data = win->BorderLeft;
attributes[i].ti_Tag = AMA_Top; attributes[i++].ti_Data = win->BorderTop;
attributes[i].ti_Tag = AMA_Bottom; attributes[i++].ti_Data = win->BorderBottom;
attributes[i].ti_Tag = AMA_Right; attributes[i++].ti_Data = win->BorderRight;
// double buffer ?
attributes[i].ti_Tag = AMA_DoubleBuf; attributes[i++].ti_Data = GL_TRUE;
// RGB(A) Mode ?
attributes[i].ti_Tag = AMA_RGBMode; attributes[i++].ti_Data = GL_TRUE;
/* Stencil/Accum */
attributes[i].ti_Tag = AMA_NoStencil; attributes[i++].ti_Data = GL_TRUE;
attributes[i].ti_Tag = AMA_NoAccum; attributes[i++].ti_Data = GL_TRUE;
// done...
attributes[i].ti_Tag = TAG_DONE;
glcont = AROSMesaCreateContext(attributes);
if (glcont)
{
AROSMesaMakeCurrent(glcont);
h = (GLfloat)VISIBLE_HEIGHT / (GLfloat)VISIBLE_WIDTH ;
glViewport(0, 0, (GLint) VISIBLE_WIDTH, (GLint) VISIBLE_HEIGHT);
#if USE_PERSPECTIVE == 1
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -h, h, 5.0, 200.0);
glMatrixMode(GL_MODELVIEW);
#endif
prepare_shader_program();
glUseProgram(shaderProgram);
angleLocation = glGetUniformLocation(shaderProgram, "angle");
}
else
finished = TRUE; /* Failure. Stop */
}
void deinitmesa()
{
if (glcont)
{
cleanup_shader_program();
AROSMesaDestroyContext(glcont);
}
}
static int init_timerbase()
{
timeport.mp_Node.ln_Type = NT_MSGPORT;
timeport.mp_Node.ln_Pri = 0;
timeport.mp_Node.ln_Name = NULL;
timeport.mp_Flags = PA_IGNORE;
timeport.mp_SigTask = FindTask(NULL);
timeport.mp_SigBit = 0;
NEWLIST(&timeport.mp_MsgList);
timereq.tr_node.io_Message.mn_Node.ln_Type = NT_MESSAGE;
timereq.tr_node.io_Message.mn_Node.ln_Pri = 0;
timereq.tr_node.io_Message.mn_Node.ln_Name = NULL;
timereq.tr_node.io_Message.mn_ReplyPort = &timeport;
timereq.tr_node.io_Message.mn_Length = sizeof (timereq);
if(OpenDevice("timer.device",UNIT_VBLANK,(struct IORequest *)&timereq,0) == 0)
{
TimerBase = (struct Device *)timereq.tr_node.io_Device;
return 1;
}
else
{
return 0;
}
}
static void deinit_timerbase()
{
if (TimerBase != NULL)
CloseDevice((struct IORequest *)&timereq);
}
void HandleIntuiMessages(void)
{
struct IntuiMessage *msg;
while((msg = (struct IntuiMessage *)GetMsg(win->UserPort)))
{
switch(msg->Class)
{
case IDCMP_CLOSEWINDOW:
finished = TRUE;
break;
case IDCMP_VANILLAKEY:
if (msg->Code == 27 /* ESC */) finished = TRUE;
break;
}
ReplyMsg((struct Message *)msg);
}
}
#define ARG_FULLSCREEN 0
#define NUM_ARGS 1
STATIC CONST_STRPTR TEMPLATE=(CONST_STRPTR) "FULLSCREEN/S";
static struct RDArgs *myargs;
static IPTR args[NUM_ARGS];
void get_arguments(void)
{
if((myargs = ReadArgs(TEMPLATE, args, NULL)))
{
fullscreen = (BOOL)args[ARG_FULLSCREEN];
FreeArgs(myargs);
}
}
/*
** Open a simple window using OpenWindowTagList()
*/
int main(void)
{
ULONG fps = 0;
// ULONG exitcounter = 0;
TEXT title[100];
struct Screen * pubscreen = NULL;
struct Screen * customscreen = NULL;
LONG modeid;
struct timeval tv;
UQUAD lastmicrosecs = 0L;
UQUAD currmicrosecs = 0L;
UQUAD fpsmicrosecs = 0L;
get_arguments();
init_timerbase();
GetSysTime(&tv);
lastmicrosecs = tv.tv_secs * 1000000 + tv.tv_micro;
fpsmicrosecs = lastmicrosecs;
if (fullscreen)
{
CyberGfxBase = OpenLibrary("cybergraphics.library", 0L);
modeid = BestCModeIDTags(CYBRBIDTG_NominalWidth, VISIBLE_WIDTH,
CYBRBIDTG_NominalHeight, VISIBLE_HEIGHT,
TAG_DONE);
customscreen = OpenScreenTags(NULL,
SA_Type, CUSTOMSCREEN,
SA_DisplayID, modeid,
SA_Width, VISIBLE_WIDTH,
SA_Height, VISIBLE_HEIGHT,
SA_ShowTitle, FALSE,
SA_Quiet, TRUE,
TAG_DONE);
win = OpenWindowTags(NULL,
WA_Left, 0,
WA_Top, 200,
WA_InnerWidth, VISIBLE_WIDTH,
WA_InnerHeight, VISIBLE_HEIGHT,
WA_CustomScreen, (IPTR)customscreen,
WA_Flags, WFLG_ACTIVATE | WFLG_BACKDROP | WFLG_BORDERLESS | WFLG_RMBTRAP,
WA_IDCMP, IDCMP_VANILLAKEY,
TAG_DONE);
}
else
{
if ((pubscreen = LockPubScreen(NULL)) == NULL) return 1;
win = OpenWindowTags(0,
WA_Title, (IPTR)"MesaSimpleRendering",
WA_PubScreen, pubscreen,
WA_CloseGadget, TRUE,
WA_DragBar, TRUE,
WA_DepthGadget, TRUE,
WA_Left, 50,
WA_Top, 200,
WA_InnerWidth, VISIBLE_WIDTH,
WA_InnerHeight, VISIBLE_HEIGHT,
WA_Activate, TRUE,
WA_RMBTrap, TRUE,
WA_SimpleRefresh, TRUE,
WA_NoCareRefresh, TRUE,
WA_IDCMP, IDCMP_VANILLAKEY | IDCMP_CLOSEWINDOW,
TAG_DONE);
UnlockPubScreen(NULL, pubscreen);
}
initmesa();
// finished = TRUE;
while(!finished)
{
GetSysTime(&tv);
currmicrosecs = tv.tv_secs * 1000000 + tv.tv_micro;
if (currmicrosecs - fpsmicrosecs > 1000000)
{
/* FPS counting is naive! */
fpsmicrosecs += 1000000;
sprintf(title, "MesaSimpleRendering, FPS: %d", fps);
SetWindowTitles(win, title, (UBYTE *)~0L);
fps = 0;
}
angle_inc = ((double)(currmicrosecs - lastmicrosecs) / 1000000.0) * DEGREES_PER_SECOND;
lastmicrosecs = currmicrosecs;
fps++;
render();
HandleIntuiMessages();
// exitcounter++;
// Delay(10);
// if (exitcounter > 0) finished = TRUE;
}
deinitmesa();
deinit_timerbase();
CloseWindow(win);
if (customscreen) CloseScreen(customscreen);
if (CyberGfxBase) CloseLibrary(CyberGfxBase);
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
[https://github.com/ssloy/glsltuto GLSL tut], [], [], []
<pre>
load a vertex shader file and fragment shader file and store each in a separate C string
call glCreateShader twice; for 1 vertex and 1 fragment shader index
call glShaderSource to copy code from a string for each of the above
call glCompileShader for both shader indices
call glCreateProgram to create an index to a new program
call glAttachShader twice, to attach both shader indices to the program
call glLinkProgram
call glGetUniformLocation to get the unique location of the variable called "inputColour"
call glUseProgram to switch to your shader before calling...
glUniform4f(location, r,g,b,a) to assign an initial colour to your fragment shader (e.g. glUniform4f(colour_loc, 1.0f, 0.0f, 0.0f, 1.0f) for red)
</pre>
For a complete list of OpenGL shader functions see the [http://www.opengl.org/documentation/glsl/ Quick Reference Card]. The most useful functions are below
<pre>
OpenGL "Shader" (Separate Shader Code) Functions Function Name Description
glCreateShader() create a variable for storing a shader's code in OpenGL. returns unsigned int index to it.
glShaderSource() copy shader code from C string into an OpenGL shader variable
glCompileShader() compile an OpenGL shader variable that has code in it
glGetShaderiv() can be used to check if compile found errors
glGetShaderInfoLog() creates a string with any error information
glDeleteShader() free memory used by an OpenGL shader variable
OpenGL "Program" (Combined Shader Programme) Functions Function Name Description
glCreateProgram() create a variable for storing a combined shader programme in OpenGL. returns unsigned int index to it.
glAttachShader() attach a compiled OpenGL shader variable to a shader programme variable
glLinkProgram() after all shaders are attached, link the parts into a complete shader programme
glValidateProgram() check if a program is ready to execute. information stored in a log
glGetProgramiv() can be used to check for link and validate errors
glGetProgramInfoLog() writes any information from link and validate to a C string
glUseProgram() switch to drawing with a specified shader programme
glGetActiveAttrib() get details of a numbered per-vertex attribute used in the shader
glGetAttribLocation() get the unique "location" identifier of a named per-vertex attribute
glGetUniformLocation() get the unique "location" identifier of a named uniform variable
glGetActiveUniform() get details of a named uniform variable used in the shader
glUniform{1234}{ifd}() set the value of a uniform variable of a given shader (function name varies by dimensionality and data type)
glUniform{1234}{ifd}v() same as above, but with a whole array of values
glUniformMatrix{234}{fd}v() same as above, but for matrices of dimensions 2x2,3x3, or 4x4
</pre>
[https://antongerdelan.net/opengl/shaders.html tut], [https://github.com/KellerMartins examples], [],
===GLSL 1.3 to 1.5 (OpenGL 3.x) GLSL 4.x (OpenGL 4.x) ===
Some changes occurred with later OpenGL specs compared to OpenGL 2 and so
<pre>
#version version_number
in type in_variable_name;
in type in_variable_name;
out type out_variable_name;
uniform type uniform_name;
void main()
{
// process input(s) and do_something
...
// output did_somethings to output variable
out_variable_name = something_done;
}
</pre>
Want to have inputs and outputs on the individual shaders so that we can move stuff around. GLSL defined the in and out keywords specifically for that purpose. Each shader can specify inputs and outputs using those keywords and wherever an output variable matches with an input variable of the next shader stage they're passed along. The vertex and fragment shader differ
== [https://github.com/raysan5 raylib] ==
[[#top|...to the top]]
Where Raylib lies regarding other systems
*1st - C, C++ base level
*2nd - SDL with OpenGL framework, Raylib with OpenGL
*3rd - Godot engines, Ren'Py, GameMaker, Scratch, Unity, Unreal ect (AROS does not have any of these)
Raylib's history
* 2013 1.0
* 2016 2.0
* 2019 3.0
* 2021 3.7
* 2023 5.0
* 2024 5.5
It is highly inspired by XNA framework and by Borland BGI graphics lib
* Made for games and animations
* Input polled
* every frame starts from fresh empty screen, you are tracking any state entity data per refresh
* nothing happens until EndDrawing is called
Game loop - Quit -> Handle Input -> Update Game -> begin Drawing -> Draw Game -> End Drawing -> to Quit
DrawFPS, SetTargetFPS,
Camera2d (), beginMode2D , EndMode2D, GetworldToScreen2D (pos, camera) for HUD, health etc, GetScreenToWorld2D (pos, camera) what World items clicked,
Flexible Materials system, supporting classic maps and PBR maps
DrawTexturePro (tex2d, src, dest, origin, rot, color) or part of a sprite sheet with DrawTextureRec and use time functions GetFrameTime()
2D Physics engines like [https://box2d.org/ Box2D], [https://github.com/mithreindeir/velocityraptor Velocity Raptor], [https://github.com/TorqueGameEngines/Torque2D Torque2D], [https://chipmunk-physics.net/ Chipmunk2D], [], [], [https://github.com/InteractiveComputerGraphics/SPlisHSPlasH Fluids],
3D models with LoadModel and LoadTexture and animations via your own code covering all motions, use time functions GetFrameTime()
To use 3D content for games: While 3d formats like OBJ / GLTF / etc can be loaded quite easily, a lot of highly useful information can be lost:
Names, Cloned mesh instances in GLTF are right now copied and transformed during loading, The meshes don't have a transform/pivot, Hierarchy
3D Scene loading + management problem is that there is no way to identify individual objects, and if there are lots of instances, the mesh copies lead to a lot of inefficiencies. Additionally, the model rendering doesn't do any culling. The current workaround is to load meshes individually and assemble them via code or own editors.
So named objects, finding named objects, hierarchy, pivots of objects (transforms),
reusing meshes (not duplicating, like the model loader is doing right now), culling, attaching userdata to objects, adding / deleting / enabling / disabling scene objects
[https://github.com/Bigfoot71/r3d R3D needs Raylib 5.6] and is ideal for developers who want to add 3D rendering to their raylib projects without building a full rendering engine from scratch.
Animated 3D models supported whilst other formats support must be enabled in raylib/src/config.h
* Wavefront (.obj) see [], maybe [.mtl materials and textures],
* Inter-Quake Model (.iqm)
* glTF (.glTF) [https://www.reddit.com/r/raylib/comments/192oijh/raylib_3d_gltf_dos_gand_donts_i_cannot_load_a/ limitations], uses JSON to describe the 3D model (more useful), while .glb stores the model, textures etc into a simple single binary file (easy in some uses)
* .m3d
* MagicalVoxel (.vox) blocky voxel like
Rigged (skeletal bones)
* Wavefront (.obj)
* Inter-Quake Model (.iqm) unchecked [https://forums.insideqc.com/viewtopic.php?t=5141 DP style (.iqm attach to bones)], [],
* glTF (.glTF)
* .m3d
* MagicalVoxel (.vox)
Animated (skeletal bones joints animation)
* Wavefront (.obj)
* Inter-Quake Model (.iqm) [https://www.raylib.com/examples/models/loader.html?name=models_animation src example], unchecked CSQC skeletal controls or as used in Cube2, Xonotic etc
* glTF (.glTF) [https://www.raylib.com/examples/models/loader.html?name=models_loading_gltf src example], [],
* .m3d [https://www.raylib.com/examples/models/loader.html?name=models_loading_m3d src example], [],
* MagicalVoxel (.vox)
* .bvh [https://github.com/orangeduck/BVHView View], [https://github.com/orangeduck/GenoView In Use], [https://github.com/BandaiNamcoResearchInc/Bandai-Namco-Research-Motiondataset bvh motions], [https://www.filer.dev/ some more], [https://outworldz.com/Secondlife/Posts/CMU/ and more], BVH file has two parts, a header section which describes the hierarchy and initial pose of the skeleton; and a data section which contains the motion data
3D Physics like [https://github.com/andr3wmac/Torque6 Torque6], [http://www.bulletphysics.org/ ], [http://www.ode.org/ ODE], [https://github.com/jrouwe/JoltPhysics Jolt], [https://github.com/irlanrobson/bounce ], [https://github.com/idmillington/cyclone-physics Cu], [https://github.com/RigsOfRods/rigs-of-rods Vehicle], [https://github.com/ThePhysicsGuys/Physics3D Physics3D], [https://github.com/RandyGaul/qu3e qu3e], [https://github.com/MADEAPPS/newton-dynamics/ Newton],
[https://www.youtube.com/watch?v=tDPOK3WS5_c A* (A star) pathfinding], [], [], Dijkstra, BreadthFirstS and DepthFirstS
gcc -o game main.c -lraylib
<syntaxhighlight lang="c">
#include "raylib.h"
int main(void)
{
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib ");
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
while (!WindowShouldClose()) // Detect window close button or ESC key
{
BeginDrawing();
ClearBackground(RAYWHITE);
BeginMode2D(camera);
EndMode2D();
EndDrawing();
}
CloseWindow(); // Close window and OpenGL context
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
#include <stdio.h>
#include "raylib.h"
int main()
{
Texture2D sprite;
Sound sound;
Music music;
InitWindow(800, 450, "basic window");
InitAudioDevice();
sprite = LoadTexture("sprite.png");
sound = LoadSound("sound.ogg");
music = LoadMusicStream("music.mp3");
float posX = -sprite.width;
while(!WindowShouldClose())
{
UpdateMusicStream(music);
posX += GetFrameTime() * 300;
if (posX > 800)
{
posX = -sprite.width;
}
if (IsKeyPressed(KEY_SPACE))
{
StopMusicStream(music);
PlayMusicStream(music);
}
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT))
{
Rectangle spriteRect = {
posX,
10,
sprite.width,
sprite.height
};
if (CheckCollisionPointRec(GetMousePosition(), spriteRect))
{
PlaySound(sound);
}
}
BeginDrawing();
ClearBackground(RAYWHITE);
DrawTexture(sprite, posX, 10, WHITE);
// DrawCircle(posX, 10, 5, GREEN);
EndDrawing();
}
StopMusicStream(music);
CloseAudioDevice();
CloseWindow();
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
/*******************************************************************************************
*
* raylib [core] example - 2D Camera system
*
* Example originally created with raylib 1.5, last time updated with raylib 3.0
*
* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
* BSD-like license that allows static linking with closed source software
*
* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5)
*
********************************************************************************************/
#include "raylib.h"
#define MAX_BUILDINGS 100
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [core] example - 2d camera");
Rectangle player = { 400, 280, 40, 40 };
Rectangle buildings[MAX_BUILDINGS] = { 0 };
Color buildColors[MAX_BUILDINGS] = { 0 };
int spacing = 0;
for (int i = 0; i < MAX_BUILDINGS; i++)
{
buildings[i].width = (float)GetRandomValue(50, 200);
buildings[i].height = (float)GetRandomValue(100, 800);
buildings[i].y = screenHeight - 130.0f - buildings[i].height;
buildings[i].x = -6000.0f + spacing;
spacing += (int)buildings[i].width;
buildColors[i] = (Color){ GetRandomValue(200, 240), GetRandomValue(200, 240), GetRandomValue(200, 250), 255 };
}
Camera2D camera = { 0 };
camera.target = (Vector2){ player.x + 20.0f, player.y + 20.0f };
camera.offset = (Vector2){ screenWidth/2.0f, screenHeight/2.0f };
camera.rotation = 0.0f;
camera.zoom = 1.0f;
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//----------------------------------------------------------------------------------
// Player movement
if (IsKeyDown(KEY_RIGHT)) player.x += 2;
else if (IsKeyDown(KEY_LEFT)) player.x -= 2;
// Camera target follows player
camera.target = (Vector2){ player.x + 20, player.y + 20 };
// Camera rotation controls
if (IsKeyDown(KEY_A)) camera.rotation--;
else if (IsKeyDown(KEY_S)) camera.rotation++;
// Limit camera rotation to 80 degrees (-40 to 40)
if (camera.rotation > 40) camera.rotation = 40;
else if (camera.rotation < -40) camera.rotation = -40;
// Camera zoom controls
camera.zoom += ((float)GetMouseWheelMove()*0.05f);
if (camera.zoom > 3.0f) camera.zoom = 3.0f;
else if (camera.zoom < 0.1f) camera.zoom = 0.1f;
// Camera reset (zoom and rotation)
if (IsKeyPressed(KEY_R))
{
camera.zoom = 1.0f;
camera.rotation = 0.0f;
}
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
BeginMode2D(camera);
DrawRectangle(-6000, 320, 13000, 8000, DARKGRAY);
for (int i = 0; i < MAX_BUILDINGS; i++) DrawRectangleRec(buildings[i], buildColors[i]);
DrawRectangleRec(player, RED);
DrawLine((int)camera.target.x, -screenHeight*10, (int)camera.target.x, screenHeight*10, GREEN);
DrawLine(-screenWidth*10, (int)camera.target.y, screenWidth*10, (int)camera.target.y, GREEN);
EndMode2D();
DrawText("SCREEN AREA", 640, 10, 20, RED);
DrawRectangle(0, 0, screenWidth, 5, RED);
DrawRectangle(0, 5, 5, screenHeight - 10, RED);
DrawRectangle(screenWidth - 5, 5, 5, screenHeight - 10, RED);
DrawRectangle(0, screenHeight - 5, screenWidth, 5, RED);
DrawRectangle( 10, 10, 250, 113, Fade(SKYBLUE, 0.5f));
DrawRectangleLines( 10, 10, 250, 113, BLUE);
DrawText("Free 2d camera controls:", 20, 20, 10, BLACK);
DrawText("- Right/Left to move Offset", 40, 40, 10, DARKGRAY);
DrawText("- Mouse Wheel to Zoom in-out", 40, 60, 10, DARKGRAY);
DrawText("- A / S to Rotate", 40, 80, 10, DARKGRAY);
DrawText("- R to reset Zoom and Rotation", 40, 100, 10, DARKGRAY);
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
/*******************************************************************************************
*
* raylib [core] example - 2D Camera platformer
*
* Example originally created with raylib 2.5, last time updated with raylib 3.0
*
* Example contributed by arvyy (@arvyy) and reviewed by Ramon Santamaria (@raysan5)
*
* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
* BSD-like license that allows static linking with closed source software
*
* Copyright (c) 2019-2024 arvyy (@arvyy)
*
********************************************************************************************/
#include "raylib.h"
#include "raymath.h"
#define G 400
#define PLAYER_JUMP_SPD 350.0f
#define PLAYER_HOR_SPD 200.0f
typedef struct Player {
Vector2 position;
float speed;
bool canJump;
} Player;
typedef struct EnvItem {
Rectangle rect;
int blocking;
Color color;
} EnvItem;
//----------------------------------------------------------------------------------
// Module functions declaration
//----------------------------------------------------------------------------------
void UpdatePlayer(Player *player, EnvItem *envItems, int envItemsLength, float delta);
void UpdateCameraCenter(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height);
void UpdateCameraCenterInsideMap(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height);
void UpdateCameraCenterSmoothFollow(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height);
void UpdateCameraEvenOutOnLanding(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height);
void UpdateCameraPlayerBoundsPush(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height);
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [core] example - 2d camera");
Player player = { 0 };
player.position = (Vector2){ 400, 280 };
player.speed = 0;
player.canJump = false;
EnvItem envItems[] = {
{{ 0, 0, 1000, 400 }, 0, LIGHTGRAY },
{{ 0, 400, 1000, 200 }, 1, GRAY },
{{ 300, 200, 400, 10 }, 1, GRAY },
{{ 250, 300, 100, 10 }, 1, GRAY },
{{ 650, 300, 100, 10 }, 1, GRAY }
};
int envItemsLength = sizeof(envItems)/sizeof(envItems[0]);
Camera2D camera = { 0 };
camera.target = player.position;
camera.offset = (Vector2){ screenWidth/2.0f, screenHeight/2.0f };
camera.rotation = 0.0f;
camera.zoom = 1.0f;
// Store pointers to the multiple update camera functions
void (*cameraUpdaters[])(Camera2D*, Player*, EnvItem*, int, float, int, int) = {
UpdateCameraCenter,
UpdateCameraCenterInsideMap,
UpdateCameraCenterSmoothFollow,
UpdateCameraEvenOutOnLanding,
UpdateCameraPlayerBoundsPush
};
int cameraOption = 0;
int cameraUpdatersLength = sizeof(cameraUpdaters)/sizeof(cameraUpdaters[0]);
char *cameraDescriptions[] = {
"Follow player center",
"Follow player center, but clamp to map edges",
"Follow player center; smoothed",
"Follow player center horizontally; update player center vertically after landing",
"Player push camera on getting too close to screen edge"
};
SetTargetFPS(60);
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose())
{
// Update
//----------------------------------------------------------------------------------
float deltaTime = GetFrameTime();
UpdatePlayer(&player, envItems, envItemsLength, deltaTime);
camera.zoom += ((float)GetMouseWheelMove()*0.05f);
if (camera.zoom > 3.0f) camera.zoom = 3.0f;
else if (camera.zoom < 0.25f) camera.zoom = 0.25f;
if (IsKeyPressed(KEY_R))
{
camera.zoom = 1.0f;
player.position = (Vector2){ 400, 280 };
}
if (IsKeyPressed(KEY_C)) cameraOption = (cameraOption + 1)%cameraUpdatersLength;
// Call update camera function by its pointer
cameraUpdaters[cameraOption](&camera, &player, envItems, envItemsLength, deltaTime, screenWidth, screenHeight);
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(LIGHTGRAY);
BeginMode2D(camera);
for (int i = 0; i < envItemsLength; i++) DrawRectangleRec(envItems[i].rect, envItems[i].color);
Rectangle playerRect = { player.position.x - 20, player.position.y - 40, 40, 40 };
DrawRectangleRec(playerRect, RED);
DrawCircle(player.position.x, player.position.y, 5, GOLD);
EndMode2D();
DrawText("Controls:", 20, 20, 10, BLACK);
DrawText("- Right/Left to move", 40, 40, 10, DARKGRAY);
DrawText("- Space to jump", 40, 60, 10, DARKGRAY);
DrawText("- Mouse Wheel to Zoom in-out, R to reset zoom", 40, 80, 10, DARKGRAY);
DrawText("- C to change camera mode", 40, 100, 10, DARKGRAY);
DrawText("Current camera mode:", 20, 120, 10, BLACK);
DrawText(cameraDescriptions[cameraOption], 40, 140, 10, DARKGRAY);
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}
void UpdatePlayer(Player *player, EnvItem *envItems, int envItemsLength, float delta)
{
if (IsKeyDown(KEY_LEFT)) player->position.x -= PLAYER_HOR_SPD*delta;
if (IsKeyDown(KEY_RIGHT)) player->position.x += PLAYER_HOR_SPD*delta;
if (IsKeyDown(KEY_SPACE) && player->canJump)
{
player->speed = -PLAYER_JUMP_SPD;
player->canJump = false;
}
bool hitObstacle = false;
for (int i = 0; i < envItemsLength; i++)
{
EnvItem *ei = envItems + i;
Vector2 *p = &(player->position);
if (ei->blocking &&
ei->rect.x <= p->x &&
ei->rect.x + ei->rect.width >= p->x &&
ei->rect.y >= p->y &&
ei->rect.y <= p->y + player->speed*delta)
{
hitObstacle = true;
player->speed = 0.0f;
p->y = ei->rect.y;
break;
}
}
if (!hitObstacle)
{
player->position.y += player->speed*delta;
player->speed += G*delta;
player->canJump = false;
}
else player->canJump = true;
}
void UpdateCameraCenter(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height)
{
camera->offset = (Vector2){ width/2.0f, height/2.0f };
camera->target = player->position;
}
void UpdateCameraCenterInsideMap(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height)
{
camera->target = player->position;
camera->offset = (Vector2){ width/2.0f, height/2.0f };
float minX = 1000, minY = 1000, maxX = -1000, maxY = -1000;
for (int i = 0; i < envItemsLength; i++)
{
EnvItem *ei = envItems + i;
minX = fminf(ei->rect.x, minX);
maxX = fmaxf(ei->rect.x + ei->rect.width, maxX);
minY = fminf(ei->rect.y, minY);
maxY = fmaxf(ei->rect.y + ei->rect.height, maxY);
}
Vector2 max = GetWorldToScreen2D((Vector2){ maxX, maxY }, *camera);
Vector2 min = GetWorldToScreen2D((Vector2){ minX, minY }, *camera);
if (max.x < width) camera->offset.x = width - (max.x - width/2);
if (max.y < height) camera->offset.y = height - (max.y - height/2);
if (min.x > 0) camera->offset.x = width/2 - min.x;
if (min.y > 0) camera->offset.y = height/2 - min.y;
}
void UpdateCameraCenterSmoothFollow(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height)
{
static float minSpeed = 30;
static float minEffectLength = 10;
static float fractionSpeed = 0.8f;
camera->offset = (Vector2){ width/2.0f, height/2.0f };
Vector2 diff = Vector2Subtract(player->position, camera->target);
float length = Vector2Length(diff);
if (length > minEffectLength)
{
float speed = fmaxf(fractionSpeed*length, minSpeed);
camera->target = Vector2Add(camera->target, Vector2Scale(diff, speed*delta/length));
}
}
void UpdateCameraEvenOutOnLanding(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height)
{
static float evenOutSpeed = 700;
static int eveningOut = false;
static float evenOutTarget;
camera->offset = (Vector2){ width/2.0f, height/2.0f };
camera->target.x = player->position.x;
if (eveningOut)
{
if (evenOutTarget > camera->target.y)
{
camera->target.y += evenOutSpeed*delta;
if (camera->target.y > evenOutTarget)
{
camera->target.y = evenOutTarget;
eveningOut = 0;
}
}
else
{
camera->target.y -= evenOutSpeed*delta;
if (camera->target.y < evenOutTarget)
{
camera->target.y = evenOutTarget;
eveningOut = 0;
}
}
}
else
{
if (player->canJump && (player->speed == 0) && (player->position.y != camera->target.y))
{
eveningOut = 1;
evenOutTarget = player->position.y;
}
}
}
void UpdateCameraPlayerBoundsPush(Camera2D *camera, Player *player, EnvItem *envItems, int envItemsLength, float delta, int width, int height)
{
static Vector2 bbox = { 0.2f, 0.2f };
Vector2 bboxWorldMin = GetScreenToWorld2D((Vector2){ (1 - bbox.x)*0.5f*width, (1 - bbox.y)*0.5f*height }, *camera);
Vector2 bboxWorldMax = GetScreenToWorld2D((Vector2){ (1 + bbox.x)*0.5f*width, (1 + bbox.y)*0.5f*height }, *camera);
camera->offset = (Vector2){ (1 - bbox.x)*0.5f * width, (1 - bbox.y)*0.5f*height };
if (player->position.x < bboxWorldMin.x) camera->target.x = player->position.x;
if (player->position.y < bboxWorldMin.y) camera->target.y = player->position.y;
if (player->position.x > bboxWorldMax.x) camera->target.x = bboxWorldMin.x + (player->position.x - bboxWorldMax.x);
if (player->position.y > bboxWorldMax.y) camera->target.y = bboxWorldMin.y + (player->position.y - bboxWorldMax.y);
}
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
/*
Raylib example file.
This is an example main file for a simple C/C++raylib project.
*/
#include "raylib.h"
#include "raymath.h"
// define a timer
typedef struct
{
float Lifetime;
}Timer;
// start or restart a timer with a specific lifetime
void StartTimer(Timer* timer, float lifetime)
{
if (timer != NULL)
timer->Lifetime = lifetime;
}
// update a timer with the current frame time
void UpdateTimer(Timer* timer)
{
// subtract this frame from the timer if it's not allready expired
if (timer != NULL && timer->Lifetime > 0)
timer->Lifetime -= GetFrameTime();
}
// check if a timer is done.
bool TimerDone(Timer* timer)
{
if (timer != NULL)
return timer->Lifetime <= 0;
return false;
}
int main ()
{
// set up the window
InitWindow(1280, 800, "Raylib Timer Example");
SetTargetFPS(144);
// setup ball info
float radius = 20;
float speed = 400;
Vector2 pos = { radius, 400 };
Vector2 dir = { 1,0 };
float ballLife = 2.0f;
// a timer for the ball
Timer ballTimer = { 0 };
// game loop
while (!WindowShouldClose())
{
// check to see if the user clicked
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT))
{
// if they did, move the ball to the current position and restart the timer
pos = GetMousePosition();
StartTimer(&ballTimer, ballLife);
}
// tick our timer
UpdateTimer(&ballTimer);
// if the timer hasn't expired, move the ball
if (!TimerDone(&ballTimer))
{
// move the ball based on the speed and the frame time
pos = Vector2Add(pos, Vector2Scale(dir, GetFrameTime() * speed));
if (pos.x > GetScreenWidth() - radius) // check if we have gone over the right edge, and if so, bounce us
{
pos.x = GetScreenWidth() - radius;
dir.x = -1;
}
else if (pos.x < radius) // check if we have gone over the left edge
{
pos.x = radius;
dir.x = 1;
}
}
// drawing
BeginDrawing();
ClearBackground(BLACK);
// draw the ball where it is if the timer is alive
if (!TimerDone(&ballTimer))
DrawCircleV(pos, radius, RED);
EndDrawing();
}
// cleanup
CloseWindow();
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
#include "raylib.h"
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <math.h>
#define SCALE_FACTOR 1.6
typedef struct {
int x;
int y;
int width;
int height;
int velocity;
int direction;
int speed;
bool jumping;
bool walking;
} Character;
typedef enum {
PLATFORM,
FLOOR,
} PlatformType;
typedef struct {
int x;
int y;
int width;
int height;
PlatformType type;
} Platform;
float rand_float() {
return (float) ( (float) rand() / (float) RAND_MAX );
}
int character_on_platform( Character character, Platform platforms[], int count ) {
for( int i = 0; i < count; i++ ) {
Rectangle platform_rec = {
.x = platforms[i].x,
.y = platforms[i].y,
.width = platforms[i].width,
.height = platforms[i].height,
};
Rectangle character_rec = {
.x = character.x + 10,
.y = character.y + character.height - character.height * 0.2,
.width = character.width - 15,
.height = character.height * 0.2 + 1,
};
if( CheckCollisionRecs( character_rec, platform_rec ) ) {
return i;
}
}
return -1;
}
int main() {
srand(time(NULL));
int window_width = 800 * SCALE_FACTOR;
int window_height = 600 * SCALE_FACTOR;
InitWindow( window_width, window_height, "My Game" );
SetTargetFPS( 60 );
Character character = {
.x = window_width/2,
.y = window_height/2,
.width = 101,
.height = 260,
.velocity = 4 * SCALE_FACTOR,
.speed = 6,
.walking = false,
.jumping = false,
};
int gravity = 2 * SCALE_FACTOR;
Vector2 camera_offset = {
.x = 0,
.y = 0,
};
Vector2 camera_target = {
.x = 0,
.y = 0,
};
Camera2D camera = {
.offset = camera_offset,
.target = camera_target,
.rotation = 0,
.zoom = 1,
};
float platform_spacing = 0.01;
int world_width = window_width * 10;
int platform_width = 180;
int platform_count = world_width / ( platform_width + platform_spacing * window_width );
int floor_piece_width = 490;
int floor_piece_height = 190;
int floor_piece_count = ceil( (float) world_width / (float) floor_piece_width );
int floor_whitespace = 33;
int platform_height = 50;
int platform_min_y = window_height * 0.2;
int platform_max_y = window_height - floor_piece_height - platform_height - platform_min_y;
int platform1_whitespace = 45;
int platform2_whitespace = 20;
platform_count += floor_piece_count;
Platform platforms[platform_count+1];
Texture2D background_texture = LoadTexture( "img/background.png" );
int background_width = 1792;
int background_overflow = background_width - window_width;
float background_ratio = 1 / ((float)(world_width - window_width) / (float)background_overflow);
int background_x = 0;
Image platform1_image = LoadImage( "img/platform1.png" );
Texture2D platform1_texture = LoadTextureFromImage( platform1_image );
UnloadImage( platform1_image );
Image platform2_image = LoadImage( "img/platform2.png" );
Texture2D platform2_texture = LoadTextureFromImage( platform2_image );
UnloadImage( platform2_image );
// Create floor
Image floor_image = LoadImage( "img/floor.png" );
Texture2D floor_piece_texture = LoadTextureFromImage( floor_image );
UnloadImage( floor_image );
int i = 0;
int floor_x = 0;
for( ; i < floor_piece_count; i++ ) {
platforms[i].x = floor_x;
platforms[i].y = window_height - floor_piece_height + floor_whitespace;
platforms[i].width = floor_piece_width;
platforms[i].height = floor_piece_height;
platforms[i].type = FLOOR;
floor_x += platforms[i].width;
}
int platform_x = window_width * 0.1;
for( ; i <= platform_count; i++ ) {
platforms[i].x = platform_x;
platforms[i].y = rand_float() * platform_max_y + platform_min_y;
platforms[i].width = platform_width;
platforms[i].height = platform_height;
platforms[i].type = PLATFORM;
platform_x += platforms[i].width + window_width * platform_spacing;
}
Image char_stand_img = LoadImage( "img/standing.png" );
Texture2D char_stand_right = LoadTextureFromImage( char_stand_img );
ImageFlipHorizontal( &char_stand_img );
Texture2D char_stand_left = LoadTextureFromImage( char_stand_img );
UnloadImage( char_stand_img );
Image char_jump_img = LoadImage( "img/jumping.png" );
Texture2D char_jump_right = LoadTextureFromImage( char_jump_img );
ImageFlipHorizontal( &char_jump_img );
Texture2D char_jump_left = LoadTextureFromImage( char_jump_img );
UnloadImage( char_jump_img );
Image char_walk1_img = LoadImage( "img/walk1.png" );
Texture2D char_walk1_right = LoadTextureFromImage( char_walk1_img );
ImageFlipHorizontal( &char_walk1_img );
Texture2D char_walk1_left = LoadTextureFromImage( char_walk1_img );
UnloadImage( char_walk1_img );
Image char_walk2_img = LoadImage( "img/walk2.png" );
Texture2D char_walk2_right = LoadTextureFromImage( char_walk2_img );
ImageFlipHorizontal( &char_walk2_img );
Texture2D char_walk2_left = LoadTextureFromImage( char_walk2_img );
UnloadImage( char_walk2_img );
while( ! WindowShouldClose() ) {
BeginDrawing();
character.walking = false;
if( character.x > window_width * 0.6 ) {
camera.offset.x = -(character.x - window_width * 0.6);
} else if( character.x < window_width * 0.4 ) {
camera.offset.x = -(character.x - window_width * 0.4);
}
if( camera.offset.x > 0 ) {
camera.offset.x = 0;
}
if( camera.offset.x < -(world_width - window_width) ) {
camera.offset.x = -(world_width - window_width);
}
BeginMode2D( camera );
background_x = -camera.offset.x;
background_x -= background_x * background_ratio;
character.y += character.velocity;
character.velocity += gravity;
int current_platform = character_on_platform(
character, platforms, platform_count
);
if( current_platform != -1 ) {
if( character.velocity > 0 ) {
character.y = platforms[current_platform].y - character.height;
character.velocity = 0;
character.jumping = false;
}
if( IsKeyPressed( KEY_SPACE ) ) {
character.velocity = -30 * SCALE_FACTOR;
character.jumping = true;
}
}
if( IsKeyDown( KEY_LEFT ) ) {
character.walking = true;
character.x -= character.speed * SCALE_FACTOR;
character.direction = -1;
}
if( IsKeyDown( KEY_RIGHT ) ) {
character.walking = true;
character.x += character.speed * SCALE_FACTOR;
character.direction = 1;
}
ClearBackground( WHITE );
DrawTexture( background_texture, background_x, 0, WHITE );
for( int i = 0; i < platform_count; i++ ) {
if( platforms[i].type == FLOOR ) {
DrawTexture( floor_piece_texture, platforms[i].x, platforms[i].y - floor_whitespace, WHITE );
} else {
Texture2D platform_texture = platform1_texture;
int whitespace = platform1_whitespace;
if( i % 2 == 0 ) {
platform_texture = platform2_texture;
whitespace = platform2_whitespace;
}
DrawTexture( platform_texture, platforms[i].x - 10, platforms[i].y - whitespace, WHITE );
}
}
Texture2D char_texture;
if( character.jumping ) {
if( character.direction == -1 ) {
char_texture = char_jump_left;
} else {
char_texture = char_jump_right;
}
} else if( character.walking ) {
double time = GetTime() * 10;
if( character.direction == -1 ) {
if( ((int) time) % 2 == 0 ) {
char_texture = char_walk1_left;
} else {
char_texture = char_walk2_left;
}
} else {
if( ((int) time) % 2 == 0 ) {
char_texture = char_walk1_right;
} else {
char_texture = char_walk2_right;
}
}
} else {
if( character.direction == -1 ) {
char_texture = char_stand_left;
} else {
char_texture = char_stand_right;
}
}
if( character.x < 0 ) {
character.x = 0;
}
if( character.x > world_width - character.width ) {
character.x = world_width - character.width;
}
DrawTexture( char_texture, character.x, character.y, WHITE );
EndMode2D();
EndDrawing();
}
UnloadTexture( char_stand_right );
UnloadTexture( char_stand_left );
UnloadTexture( char_jump_right );
UnloadTexture( char_jump_left );
UnloadTexture( char_walk1_right );
UnloadTexture( char_walk1_left );
UnloadTexture( char_walk2_right );
UnloadTexture( char_walk2_left );
UnloadTexture( floor_piece_texture );
UnloadTexture( platform1_texture );
UnloadTexture( platform2_texture );
UnloadTexture( background_texture );
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
// Raylib Minesweeper
// Andrew Hamel Codes
// https://github.com/AndrewHamel111/raylib-minesweeper
// https://www.youtube.com/watch?v=3-EYrPRdjp4
#include <stdlib.h>
#include <time.h>
#include "raylib.h"
#include "raymath.h"
#define COLS 15
#define ROWS 15
const int screenWidth = 600;
const int screenHeight = 600;
const int cellWidth = screenWidth / COLS;
const int cellHeight = screenHeight / ROWS;
const char* youLose = "YOU LOSE!";
const char* youWin = "YOU WIN!";
const char* pressRToRestart = "Press 'r' to play again!";
typedef struct Cell
{
int i;
int j;
bool containsMine;
bool revealed;
bool flagged;
int nearbyMines;
} Cell;
Cell grid[COLS][ROWS];
Texture2D flagSprite;
int tilesRevealed;
int minesPresent;
typedef enum GameState
{
PLAYING,
LOSE,
WIN
} GameState;
GameState state;
float timeGameStarted;
float timeGameEnded;
void CellDraw(Cell);
bool IndexIsValid(int, int);
void CellReveal(int, int);
void CellFlag(int, int);
int CellCountMines(int, int);
void GridInit(void);
void GridFloodClearFrom(int, int);
void GameInit(void);
int main()
{
srand(time(0));
InitWindow(screenWidth, screenHeight, "Raylib Minesweeper by Andrew Hamel");
flagSprite = LoadTexture("resources/flag.png");
GameInit();
while(!WindowShouldClose())
{
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT))
{
Vector2 mPos = GetMousePosition();
int indexI = mPos.x / cellWidth;
int indexJ = mPos.y / cellHeight;
if (state == PLAYING && IndexIsValid(indexI, indexJ))
{
CellReveal(indexI, indexJ);
}
}
else if (IsMouseButtonPressed(MOUSE_BUTTON_RIGHT))
{
Vector2 mPos = GetMousePosition();
int indexI = mPos.x / cellWidth;
int indexJ = mPos.y / cellHeight;
if (state == PLAYING && IndexIsValid(indexI, indexJ))
{
CellFlag(indexI, indexJ);
}
}
if (IsKeyPressed(KEY_R))
{
GameInit();
}
BeginDrawing();
ClearBackground(RAYWHITE);
for (int i = 0; i < COLS; i++)
{
for (int j = 0; j < ROWS; j++)
{
CellDraw(grid[i][j]);
}
}
if (state == LOSE)
{
DrawRectangle(0, 0, screenWidth,screenHeight, Fade(WHITE, 0.8f));
DrawText(youLose, screenWidth / 2 - MeasureText(youLose, 40) / 2, screenHeight / 2 - 10, 40, DARKGRAY);
DrawText(pressRToRestart, screenWidth / 2 - MeasureText(pressRToRestart, 20) / 2, screenHeight * 0.75f - 10, 20, DARKGRAY);
int minutes = (int)(timeGameEnded - timeGameStarted) / 60;
int seconds = (int)(timeGameEnded - timeGameStarted) % 60;
DrawText(TextFormat("Time played: %d minutes, %d seconds.", minutes, seconds), 20, screenHeight - 40, 20, DARKGRAY);
}
if (state == WIN)
{
DrawRectangle(0, 0, screenWidth,screenHeight, Fade(WHITE, 0.8f));
DrawText(youWin, screenWidth / 2 - MeasureText(youWin, 40) / 2, screenHeight / 2 - 10, 40, DARKGRAY);
DrawText(pressRToRestart, screenWidth / 2 - MeasureText(pressRToRestart, 20) / 2, screenHeight * 0.75f - 10, 20, DARKGRAY);
int minutes = (int)(timeGameEnded - timeGameStarted) / 60;
int seconds = (int)(timeGameEnded - timeGameStarted) % 60;
DrawText(TextFormat("Time played: %d minutes, %d seconds.", minutes, seconds), 20, screenHeight - 40, 20, DARKGRAY);
}
EndDrawing();
}
CloseWindow();
return 0;
}
void CellDraw(Cell cell)
{
if (cell.revealed)
{
if (cell.containsMine)
{
DrawRectangle(cell.i * cellWidth, cell.j * cellHeight, cellWidth, cellHeight, RED);
}
else
{
DrawRectangle(cell.i * cellWidth, cell.j * cellHeight, cellWidth, cellHeight, LIGHTGRAY);
if (cell.nearbyMines > 0)
{
DrawText(TextFormat("%d", cell.nearbyMines), cell.i * cellWidth + 12, cell.j * cellHeight + 4, cellHeight - 8, DARKGRAY);
}
}
}
else if (cell.flagged)
{
// draw flag
Rectangle source = {0, 0, flagSprite.width, flagSprite.height};
Rectangle dest = {cell.i * cellWidth, cell.j * cellHeight, cellWidth, cellHeight};
Vector2 origin = {0, 0};
DrawTexturePro(flagSprite, source, dest, origin, 0.0f, Fade(WHITE, 0.5f));
}
DrawRectangleLines(cell.i * cellWidth, cell.j * cellHeight, cellWidth, cellHeight, BLACK);
}
bool IndexIsValid(int i, int j)
{
return i >= 0 && i < COLS && j >= 0 && j < ROWS;
}
void CellReveal(int i, int j)
{
if (grid[i][j].flagged || grid[i][j].revealed)
{
return;
}
grid[i][j].revealed = true;
if (grid[i][j].containsMine)
{
state = LOSE;
timeGameEnded = GetTime();
}
else
{
if (grid[i][j].nearbyMines == 0)
{
GridFloodClearFrom(i, j);
}
tilesRevealed++;
if (tilesRevealed >= ROWS * COLS - minesPresent)
{
state = WIN;
timeGameEnded = GetTime();
}
}
}
void CellFlag(int i, int j)
{
if (grid[i][j].revealed)
{
return;
}
grid[i][j].flagged = !grid[i][j].flagged;
}
int CellCountMines(int i, int j)
{
int count = 0;
for (int iOff = -1; iOff <= 1; iOff++)
{
for (int jOff = -1; jOff <= 1; jOff++)
{
if (iOff == 0 && jOff == 0)
{
continue;
}
if (!IndexIsValid(i + iOff, j + jOff))
{
continue;
}
if (grid[i + iOff][j + jOff].containsMine)
{
count++;
}
}
}
return count;
}
void GridInit(void)
{
for (int i = 0; i < COLS; i++)
{
for (int j = 0; j < ROWS; j++)
{
grid[i][j] = (Cell)
{
.i = i,
.j = j,
.containsMine = false,
.revealed = false,
.flagged = false,
.nearbyMines = -1
};
}
}
minesPresent = (int)(ROWS * COLS * 0.1f);
int minesToPlace = minesPresent;
while (minesToPlace > 0)
{
int i = rand() % COLS;
int j = rand() % ROWS;
if (!grid[i][j].containsMine)
{
grid[i][j].containsMine = true;
minesToPlace--;
}
}
for (int i = 0; i < COLS; i++)
{
for (int j = 0; j < ROWS; j++)
{
if (!grid[i][j].containsMine)
{
grid[i][j].nearbyMines = CellCountMines(i, j);
}
}
}
}
void GridFloodClearFrom(int i, int j)
{
for (int iOff = -1; iOff <= 1; iOff++)
{
for (int jOff = -1; jOff <= 1; jOff++)
{
if (iOff == 0 && jOff == 0)
{
continue;
}
if (!IndexIsValid(i + iOff, j + jOff))
{
continue;
}
CellReveal(i + iOff, j + jOff);
}
}
}
void GameInit(void)
{
GridInit();
state = PLAYING;
tilesRevealed = 0;
timeGameStarted = GetTime();
}
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<pre>
#**************************************************************************************************
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
# Copyright (c) 2013-2024 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose, including commercial
# applications, and to alter it and redistribute it freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not claim that you
# wrote the original software. If you use this software in a product, an acknowledgment
# in the product documentation would be appreciated but is not required.
#
# 2. Altered source versions must be plainly marked as such, and must not be misrepresented
# as being the original software.
#
# 3. This notice may not be removed or altered from any source distribution.
#
#**************************************************************************************************
.PHONY: all clean run
# Define required environment variables
#------------------------------------------------------------------------------------------------
# Define target platform: PLATFORM_DESKTOP, PLATFORM_RPI, PLATFORM_DRM, PLATFORM_ANDROID, PLATFORM_WEB
PLATFORM ?= PLATFORM_DESKTOP
# Define project variables
PROJECT_NAME ?= raylib_game
PROJECT_VERSION ?= 1.0
PROJECT_BUILD_PATH ?= .
RAYLIB_PATH ?= ../../raylib
# Locations of raylib.h and libraylib.a/libraylib.so
# NOTE: Those variables are only used for PLATFORM_OS: LINUX, BSD
RAYLIB_INCLUDE_PATH ?= /usr/local/include
RAYLIB_LIB_PATH ?= /usr/local/lib
# Library type compilation: STATIC (.a) or SHARED (.so/.dll)
RAYLIB_LIBTYPE ?= STATIC
# Build mode for project: DEBUG or RELEASE
BUILD_MODE ?= RELEASE
# Use Wayland display server protocol on Linux desktop (by default it uses X11 windowing system)
# NOTE: This variable is only used for PLATFORM_OS: LINUX
USE_WAYLAND_DISPLAY ?= FALSE
# PLATFORM_WEB: Default properties
BUILD_WEB_ASYNCIFY ?= FALSE
BUILD_WEB_SHELL ?= minshell.html
BUILD_WEB_HEAP_SIZE ?= 134217728
BUILD_WEB_RESOURCES ?= TRUE
BUILD_WEB_RESOURCES_PATH ?= resources
# Use cross-compiler for PLATFORM_RPI
ifeq ($(PLATFORM),PLATFORM_RPI)
USE_RPI_CROSS_COMPILER ?= FALSE
ifeq ($(USE_RPI_CROSS_COMPILER),TRUE)
RPI_TOOLCHAIN ?= C:/SysGCC/Raspberry
RPI_TOOLCHAIN_SYSROOT ?= $(RPI_TOOLCHAIN)/arm-linux-gnueabihf/sysroot
endif
endif
# Determine PLATFORM_OS in case PLATFORM_DESKTOP selected
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# No uname.exe on MinGW!, but OS=Windows_NT on Windows!
# ifeq ($(UNAME),Msys) -> Windows
ifeq ($(OS),Windows_NT)
PLATFORM_OS = WINDOWS
ifndef PLATFORM_SHELL
PLATFORM_SHELL = cmd
endif
else
UNAMEOS = $(shell uname)
ifeq ($(UNAMEOS),Linux)
PLATFORM_OS = LINUX
endif
ifeq ($(UNAMEOS),FreeBSD)
PLATFORM_OS = BSD
endif
ifeq ($(UNAMEOS),OpenBSD)
PLATFORM_OS = BSD
endif
ifeq ($(UNAMEOS),NetBSD)
PLATFORM_OS = BSD
endif
ifeq ($(UNAMEOS),DragonFly)
PLATFORM_OS = BSD
endif
ifeq ($(UNAMEOS),Darwin)
PLATFORM_OS = OSX
endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = sh
endif
endif
endif
ifeq ($(PLATFORM),PLATFORM_RPI)
UNAMEOS = $(shell uname)
ifeq ($(UNAMEOS),Linux)
PLATFORM_OS = LINUX
endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = sh
endif
endif
ifeq ($(PLATFORM),PLATFORM_DRM)
UNAMEOS = $(shell uname)
ifeq ($(UNAMEOS),Linux)
PLATFORM_OS = LINUX
endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = sh
endif
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
ifeq ($(OS),Windows_NT)
PLATFORM_OS = WINDOWS
ifndef PLATFORM_SHELL
PLATFORM_SHELL = cmd
endif
else
UNAMEOS = $(shell uname)
ifeq ($(UNAMEOS),Linux)
PLATFORM_OS = LINUX
endif
ifeq ($(UNAMEOS),Darwin)
PLATFORM_OS = OSX
endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = sh
endif
endif
endif
# Default path for raylib on Raspberry Pi
ifeq ($(PLATFORM),PLATFORM_RPI)
RAYLIB_PATH ?= /home/pi/raylib
endif
ifeq ($(PLATFORM),PLATFORM_DRM)
RAYLIB_PATH ?= /home/pi/raylib
endif
# Define raylib release directory for compiled library
RAYLIB_RELEASE_PATH ?= $(RAYLIB_PATH)/src
ifeq ($(OS),Windows_NT)
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
EMSDK_PATH ?= C:/emsdk
EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/upstream/emscripten
CLANG_PATH = $(EMSDK_PATH)/upstream/bin
PYTHON_PATH = $(EMSDK_PATH)/python/3.9.2-nuget_64bit
NODE_PATH = $(EMSDK_PATH)/node/14.15.5_64bit/bin
export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH):$$(PATH)
endif
endif
# Define default C compiler: CC
#------------------------------------------------------------------------------------------------
CC = gcc
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# OSX default compiler
CC = clang
endif
ifeq ($(PLATFORM_OS),BSD)
# FreeBSD, OpenBSD, NetBSD, DragonFly default compiler
CC = clang
endif
endif
ifeq ($(PLATFORM),PLATFORM_RPI)
ifeq ($(USE_RPI_CROSS_COMPILER),TRUE)
# Define RPI cross-compiler
#CC = armv6j-hardfloat-linux-gnueabi-gcc
CC = $(RPI_TOOLCHAIN)/bin/arm-linux-gnueabihf-gcc
endif
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
# WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
# Define default make program: MAKE
#------------------------------------------------------------------------------------------------
MAKE ?= make
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),WINDOWS)
MAKE = mingw32-make
endif
endif
ifeq ($(PLATFORM),PLATFORM_ANDROID)
MAKE = mingw32-make
endif
# Define compiler flags: CFLAGS
#------------------------------------------------------------------------------------------------
# -O1 defines optimization level
# -g include debug information on compilation
# -s strip unnecessary data from build
# -Wall turns on most, but not all, compiler warnings
# -std=c99 defines C language mode (standard C from 1999 revision)
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -Wno-unused-value ignore unused return values of some functions (i.e. fread())
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
CFLAGS = -std=c99 -Wall -Wno-missing-braces -Wunused-result -D_DEFAULT_SOURCE
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g -D_DEBUG
else
ifeq ($(PLATFORM),PLATFORM_WEB)
ifeq ($(BUILD_WEB_ASYNCIFY),TRUE)
CFLAGS += -O3
else
CFLAGS += -Os
endif
else
CFLAGS += -s -O2
endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
endif
ifeq ($(RAYLIB_LIBTYPE),SHARED)
# Explicitly enable runtime link to libraylib.so
CFLAGS += -Wl,-rpath,$(RAYLIB_RELEASE_PATH)
endif
endif
endif
ifeq ($(PLATFORM),PLATFORM_RPI)
CFLAGS += -std=gnu99
endif
ifeq ($(PLATFORM),PLATFORM_DRM)
CFLAGS += -std=gnu99 -DEGL_NO_X11
endif
# Define include paths for required headers: INCLUDE_PATHS
# NOTE: Some external/extras libraries could be required (stb, physac, easings...)
#------------------------------------------------------------------------------------------------
INCLUDE_PATHS = -I. -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external -I$(RAYLIB_PATH)/src/extras
# Define additional directories containing required header files
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),BSD)
INCLUDE_PATHS += -I$(RAYLIB_INCLUDE_PATH)
endif
ifeq ($(PLATFORM_OS),LINUX)
INCLUDE_PATHS += -I$(RAYLIB_INCLUDE_PATH)
endif
endif
ifeq ($(PLATFORM),PLATFORM_RPI)
INCLUDE_PATHS += -I$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/include
INCLUDE_PATHS += -I$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/include/interface/vmcs_host/linux
INCLUDE_PATHS += -I$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/include/interface/vcos/pthreads
endif
ifeq ($(PLATFORM),PLATFORM_DRM)
INCLUDE_PATHS += -I/usr/include/libdrm
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
INCLUDE_PATHS += -I$(EMSCRIPTEN_PATH)/cache/sysroot/include
endif
# Define library paths containing required libs: LDFLAGS
#------------------------------------------------------------------------------------------------
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),WINDOWS)
# NOTE: The resource .rc file contains windows executable icon and properties
LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
# -Wl,--subsystem,windows hides the console window
ifeq ($(BUILD_MODE), RELEASE)
LDFLAGS += -Wl,--subsystem,windows
endif
endif
ifeq ($(PLATFORM_OS),LINUX)
LDFLAGS += -L$(RAYLIB_LIB_PATH)
endif
ifeq ($(PLATFORM_OS),BSD)
LDFLAGS += -Lsrc -L$(RAYLIB_LIB_PATH)
endif
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# -Os # size optimization
# -O2 # optimization level 2, if used, also set --memory-init-file 0
# -s USE_GLFW=3 # Use glfw3 library (context/input management)
# -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL!
# -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) (67108864 = 64MB)
# -s USE_PTHREADS=1 # multithreading support
# -s WASM=0 # disable Web Assembly, emitted by default
# -s ASYNCIFY # lets synchronous C/C++ code interact with asynchronous JS
# -s FORCE_FILESYSTEM=1 # force filesystem to load/save files data
# -s ASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
# --source-map-base # allow debugging in browser with source map
LDFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -s FORCE_FILESYSTEM=1
# Build using asyncify
ifeq ($(BUILD_WEB_ASYNCIFY),TRUE)
LDFLAGS += -s ASYNCIFY
endif
# Add resources building if required
ifeq ($(BUILD_WEB_RESOURCES),TRUE)
LDFLAGS += --preload-file $(BUILD_WEB_RESOURCES_PATH)
endif
# Add debug mode flags if required
ifeq ($(BUILD_MODE),DEBUG)
LDFLAGS += -s ASSERTIONS=1 --profiling
endif
# Define a custom shell .html and output extension
LDFLAGS += --shell-file $(BUILD_WEB_SHELL)
EXT = .html
endif
ifeq ($(PLATFORM),PLATFORM_RPI)
LDFLAGS += -L$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/lib
endif
# Define libraries required on linking: LDLIBS
# NOTE: To link libraries (lib<name>.so or lib<name>.a), use -l<name>
#------------------------------------------------------------------------------------------------
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),WINDOWS)
# Libraries for Windows desktop compilation
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
endif
# Explicit link to libc
ifeq ($(RAYLIB_LIBTYPE),SHARED)
LDLIBS += -lc
endif
endif
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
# NOTE: Required packages: mesa-libs
LDLIBS = -lraylib -lGL -lpthread -lm
# On XWindow requires also below libraries
LDLIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
endif
endif
ifeq ($(PLATFORM),PLATFORM_RPI)
# Libraries for Raspberry Pi compiling
# NOTE: Required packages: libasound2-dev (ALSA)
LDLIBS = -lraylib -lbrcmGLESv2 -lbrcmEGL -lpthread -lrt -lm -lbcm_host -ldl
ifeq ($(USE_RPI_CROSS_COMPILER),TRUE)
LDLIBS += -lvchiq_arm -lvcos
endif
endif
ifeq ($(PLATFORM),PLATFORM_DRM)
# Libraries for DRM compiling
# NOTE: Required packages: libasound2-dev (ALSA)
LDLIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lgbm -ldrm -ldl
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Libraries for web (HTML5) compiling
LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.a
endif
# Define source code object files required
#------------------------------------------------------------------------------------------------
PROJECT_SOURCE_FILES ?= \
raylib_game.c \
screen_logo.c \
screen_title.c \
screen_options.c \
screen_gameplay.c \
screen_ending.c
# Define all object files from source files
OBJS = $(patsubst %.c, %.o, $(PROJECT_SOURCE_FILES))
# Define processes to execute
#------------------------------------------------------------------------------------------------
# For Android platform we call a custom Makefile.Android
ifeq ($(PLATFORM),PLATFORM_ANDROID)
MAKEFILE_PARAMS = -f Makefile.Android
export PROJECT_NAME
export PROJECT_SOURCE_FILES
else
MAKEFILE_PARAMS = $(PROJECT_NAME)
endif
# Default target entry
# NOTE: We call this Makefile target or Makefile.Android target
all:
$(MAKE) $(MAKEFILE_PARAMS)
# Project target defined by PROJECT_NAME
$(PROJECT_NAME): $(OBJS)
$(CC) -o $(PROJECT_NAME)$(EXT) $(OBJS) $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
# Compile source files
# NOTE: This pattern will compile every module defined on $(OBJS)
%.o: %.c
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM)
run:
$(MAKE) $(MAKEFILE_PARAMS)
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),WINDOWS)
$(PROJECT_NAME)
endif
ifeq ($(PLATFORM_OS),LINUX)
./$(PROJECT_NAME)
endif
ifeq ($(PLATFORM_OS),OSX)
./$(PROJECT_NAME)
endif
endif
.PHONY: clean_shell_cmd clean_shell_sh
# Clean everything
clean: clean_shell_$(PLATFORM_SHELL)
@echo Cleaning done
clean_shell_sh:
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),LINUX)
find . -type f -executable -delete
rm -fv *.o
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
rm -f *.o
endif
endif
ifeq ($(PLATFORM),PLATFORM_RPI)
find . -type f -executable -delete
rm -fv *.o
endif
ifeq ($(PLATFORM),PLATFORM_DRM)
find . -type f -executable -delete
rm -fv *.o
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
ifeq ($(PLATFORM_OS),LINUX)
rm -fv *.o $(PROJECT_NAME).data $(PROJECT_NAME).html $(PROJECT_NAME).js $(PROJECT_NAME).wasm
endif
ifeq ($(PLATFORM_OS),OSX)
rm -f *.o $(PROJECT_NAME).data $(PROJECT_NAME).html $(PROJECT_NAME).js $(PROJECT_NAME).wasm
endif
endif
# Set specific target variable
clean_shell_cmd: SHELL=cmd
clean_shell_cmd:
del *.o *.exe $(PROJECT_NAME).data $(PROJECT_NAME).html $(PROJECT_NAME).js $(PROJECT_NAME).wasm /s
</pre>
===Modules===
[[#top|...to the top]]
module: rcore
<syntaxhighlight lang="c">
// Window-related functions
void InitWindow(int width, int height, const char *title); // Initialize window and OpenGL context
void CloseWindow(void); // Close window and unload OpenGL context
bool WindowShouldClose(void); // Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)
bool IsWindowReady(void); // Check if window has been initialized successfully
bool IsWindowFullscreen(void); // Check if window is currently fullscreen
bool IsWindowHidden(void); // Check if window is currently hidden (only PLATFORM_DESKTOP)
bool IsWindowMinimized(void); // Check if window is currently minimized (only PLATFORM_DESKTOP)
bool IsWindowMaximized(void); // Check if window is currently maximized (only PLATFORM_DESKTOP)
bool IsWindowFocused(void); // Check if window is currently focused (only PLATFORM_DESKTOP)
bool IsWindowResized(void); // Check if window has been resized last frame
bool IsWindowState(unsigned int flag); // Check if one specific window flag is enabled
void SetWindowState(unsigned int flags); // Set window configuration state using flags (only PLATFORM_DESKTOP)
void ClearWindowState(unsigned int flags); // Clear window configuration state flags
void ToggleFullscreen(void); // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
void ToggleBorderlessWindowed(void); // Toggle window state: borderless windowed (only PLATFORM_DESKTOP)
void MaximizeWindow(void); // Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
void MinimizeWindow(void); // Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
void RestoreWindow(void); // Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
void SetWindowIcon(Image image); // Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
void SetWindowIcons(Image *images, int count); // Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
void SetWindowTitle(const char *title); // Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)
void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP)
void SetWindowMonitor(int monitor); // Set monitor for the current window
void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
void SetWindowMaxSize(int width, int height); // Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)
void SetWindowSize(int width, int height); // Set window dimensions
void SetWindowOpacity(float opacity); // Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
void SetWindowFocused(void); // Set window focused (only PLATFORM_DESKTOP)
void *GetWindowHandle(void); // Get native window handle
int GetScreenWidth(void); // Get current screen width
int GetScreenHeight(void); // Get current screen height
int GetRenderWidth(void); // Get current render width (it considers HiDPI)
int GetRenderHeight(void); // Get current render height (it considers HiDPI)
int GetMonitorCount(void); // Get number of connected monitors
int GetCurrentMonitor(void); // Get current connected monitor
Vector2 GetMonitorPosition(int monitor); // Get specified monitor position
int GetMonitorWidth(int monitor); // Get specified monitor width (current video mode used by monitor)
int GetMonitorHeight(int monitor); // Get specified monitor height (current video mode used by monitor)
int GetMonitorPhysicalWidth(int monitor); // Get specified monitor physical width in millimetres
int GetMonitorPhysicalHeight(int monitor); // Get specified monitor physical height in millimetres
int GetMonitorRefreshRate(int monitor); // Get specified monitor refresh rate
Vector2 GetWindowPosition(void); // Get window position XY on monitor
Vector2 GetWindowScaleDPI(void); // Get window scale DPI factor
const char *GetMonitorName(int monitor); // Get the human-readable, UTF-8 encoded name of the specified monitor
void SetClipboardText(const char *text); // Set clipboard text content
const char *GetClipboardText(void); // Get clipboard text content
void EnableEventWaiting(void); // Enable waiting for events on EndDrawing(), no automatic event polling
void DisableEventWaiting(void); // Disable waiting for events on EndDrawing(), automatic events polling
// Cursor-related functions
void ShowCursor(void); // Shows cursor
void HideCursor(void); // Hides cursor
bool IsCursorHidden(void); // Check if cursor is not visible
void EnableCursor(void); // Enables cursor (unlock cursor)
void DisableCursor(void); // Disables cursor (lock cursor)
bool IsCursorOnScreen(void); // Check if cursor is on the screen
// Drawing-related functions
void ClearBackground(Color color); // Set background color (framebuffer clear color)
void BeginDrawing(void); // Setup canvas (framebuffer) to start drawing
void EndDrawing(void); // End canvas drawing and swap buffers (double buffering)
void BeginMode2D(Camera2D camera); // Begin 2D mode with custom camera (2D)
void EndMode2D(void); // Ends 2D mode with custom camera
void BeginMode3D(Camera3D camera); // Begin 3D mode with custom camera (3D)
void EndMode3D(void); // Ends 3D mode and returns to default 2D orthographic mode
void BeginTextureMode(RenderTexture2D target); // Begin drawing to render texture
void EndTextureMode(void); // Ends drawing to render texture
void BeginShaderMode(Shader shader); // Begin custom shader drawing
void EndShaderMode(void); // End custom shader drawing (use default shader)
void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied, subtract, custom)
void EndBlendMode(void); // End blending mode (reset to default: alpha blending)
void BeginScissorMode(int x, int y, int width, int height); // Begin scissor mode (define screen area for following drawing)
void EndScissorMode(void); // End scissor mode
void BeginVrStereoMode(VrStereoConfig config); // Begin stereo rendering (requires VR simulator)
void EndVrStereoMode(void); // End stereo rendering (requires VR simulator)
// VR stereo config functions for VR simulator
VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device); // Load VR stereo config for VR simulator device parameters
void UnloadVrStereoConfig(VrStereoConfig config); // Unload VR stereo config
// Shader management functions
// NOTE: Shader functionality is not available on OpenGL 1.1
Shader LoadShader(const char *vsFileName, const char *fsFileName); // Load shader from files and bind default locations
Shader LoadShaderFromMemory(const char *vsCode, const char *fsCode); // Load shader from code strings and bind default locations
bool IsShaderReady(Shader shader); // Check if a shader is ready
int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location
int GetShaderLocationAttrib(Shader shader, const char *attribName); // Get shader attribute location
void SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType); // Set shader uniform value
void SetShaderValueV(Shader shader, int locIndex, const void *value, int uniformType, int count); // Set shader uniform value vector
void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); // Set shader uniform value (matrix 4x4)
void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); // Set shader uniform value for texture (sampler2d)
void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM)
// Screen-space-related functions
Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position
Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix)
Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix
Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position
Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position
Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position
Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position
// Timing-related functions
void SetTargetFPS(int fps); // Set target FPS (maximum)
float GetFrameTime(void); // Get time in seconds for last frame drawn (delta time)
double GetTime(void); // Get elapsed time in seconds since InitWindow()
int GetFPS(void); // Get current FPS
// Custom frame control functions
// NOTE: Those functions are intended for advance users that want full control over the frame processing
// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents()
// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL
void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing)
void PollInputEvents(void); // Register all input events
void WaitTime(double seconds); // Wait for some time (halt program execution)
// Random values generation functions
void SetRandomSeed(unsigned int seed); // Set the seed for the random number generator
int GetRandomValue(int min, int max); // Get a random value between min and max (both included)
int *LoadRandomSequence(unsigned int count, int min, int max); // Load random values sequence, no values repeated
void UnloadRandomSequence(int *sequence); // Unload random values sequence
// Misc. functions
void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (filename extension defines format)
void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS)
void OpenURL(const char *url); // Open URL with default system browser (if available)
// NOTE: Following functions implemented in module [utils]
//------------------------------------------------------------------
void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
void SetTraceLogLevel(int logLevel); // Set the current threshold (minimum) log level
void *MemAlloc(unsigned int size); // Internal memory allocator
void *MemRealloc(void *ptr, unsigned int size); // Internal memory reallocator
void MemFree(void *ptr); // Internal memory free
// Set custom callbacks
// WARNING: Callbacks setup is intended for advance users
void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader
void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver
void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader
void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
// Files management functions
unsigned char *LoadFileData(const char *fileName, int *dataSize); // Load file data as byte array (read)
void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData()
bool SaveFileData(const char *fileName, void *data, int dataSize); // Save data to file from byte array (write), returns true on success
bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileName); // Export data to code (.h), returns true on success
char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string
void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText()
bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success
//------------------------------------------------------------------
// File system functions
bool FileExists(const char *fileName); // Check if file exists
bool DirectoryExists(const char *dirPath); // Check if a directory path exists
bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (including point: .png, .wav)
int GetFileLength(const char *fileName); // Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png')
const char *GetFileName(const char *filePath); // Get pointer to filename for a path string
const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string)
const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string)
const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string)
const char *GetWorkingDirectory(void); // Get current working directory (uses static string)
const char *GetApplicationDirectory(void); // Get the directory of the running application (uses static string)
bool ChangeDirectory(const char *dir); // Change working directory, return true on success
bool IsPathFile(const char *path); // Check if a given path is a file or a directory
FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths
FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs); // Load directory filepaths with extension filtering and recursive directory scan
void UnloadDirectoryFiles(FilePathList files); // Unload filepaths
bool IsFileDropped(void); // Check if a file has been dropped into window
FilePathList LoadDroppedFiles(void); // Load dropped filepaths
void UnloadDroppedFiles(FilePathList files); // Unload dropped filepaths
long GetFileModTime(const char *fileName); // Get file modification time (last write time)
// Compression/Encoding functionality
unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize); // Compress data (DEFLATE algorithm), memory must be MemFree()
unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree()
char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree()
unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree()
// Automation events functionality
AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS
void UnloadAutomationEventList(AutomationEventList *list); // Unload automation events list from file
bool ExportAutomationEventList(AutomationEventList list, const char *fileName); // Export automation events list as text file
void SetAutomationEventList(AutomationEventList *list); // Set automation event list to record to
void SetAutomationEventBaseFrame(int frame); // Set automation event internal base frame to start recording
void StartAutomationEventRecording(void); // Start recording automation events (AutomationEventList must be set)
void StopAutomationEventRecording(void); // Stop recording automation events
void PlayAutomationEvent(AutomationEvent event); // Play a recorded automation event
//------------------------------------------------------------------------------------
// Input Handling Functions (Module: core)
//------------------------------------------------------------------------------------
// Input-related functions: keyboard
bool IsKeyPressed(int key); // Check if a key has been pressed once
bool IsKeyPressedRepeat(int key); // Check if a key has been pressed again (Only PLATFORM_DESKTOP)
bool IsKeyDown(int key); // Check if a key is being pressed
bool IsKeyReleased(int key); // Check if a key has been released once
bool IsKeyUp(int key); // Check if a key is NOT being pressed
int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty
int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
void SetExitKey(int key); // Set a custom key to exit program (default is ESC)
// Input-related functions: gamepads
bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available
const char *GetGamepadName(int gamepad); // Get gamepad internal name id
bool IsGamepadButtonPressed(int gamepad, int button); // Check if a gamepad button has been pressed once
bool IsGamepadButtonDown(int gamepad, int button); // Check if a gamepad button is being pressed
bool IsGamepadButtonReleased(int gamepad, int button); // Check if a gamepad button has been released once
bool IsGamepadButtonUp(int gamepad, int button); // Check if a gamepad button is NOT being pressed
int GetGamepadButtonPressed(void); // Get the last gamepad button pressed
int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad
float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis
int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB)
// Input-related functions: mouse
bool IsMouseButtonPressed(int button); // Check if a mouse button has been pressed once
bool IsMouseButtonDown(int button); // Check if a mouse button is being pressed
bool IsMouseButtonReleased(int button); // Check if a mouse button has been released once
bool IsMouseButtonUp(int button); // Check if a mouse button is NOT being pressed
int GetMouseX(void); // Get mouse position X
int GetMouseY(void); // Get mouse position Y
Vector2 GetMousePosition(void); // Get mouse position XY
Vector2 GetMouseDelta(void); // Get mouse delta between frames
void SetMousePosition(int x, int y); // Set mouse position XY
void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset
void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling
float GetMouseWheelMove(void); // Get mouse wheel movement for X or Y, whichever is larger
Vector2 GetMouseWheelMoveV(void); // Get mouse wheel movement for both X and Y
void SetMouseCursor(int cursor); // Set mouse cursor
// Input-related functions: touch
int GetTouchX(void); // Get touch position X for touch point 0 (relative to screen size)
int GetTouchY(void); // Get touch position Y for touch point 0 (relative to screen size)
Vector2 GetTouchPosition(int index); // Get touch position XY for a touch point index (relative to screen size)
int GetTouchPointId(int index); // Get touch point identifier for given index
int GetTouchPointCount(void); // Get number of touch points
//------------------------------------------------------------------------------------
// Gestures and Touch Handling Functions (Module: rgestures)
//------------------------------------------------------------------------------------
void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags
bool IsGestureDetected(unsigned int gesture); // Check if a gesture have been detected
int GetGestureDetected(void); // Get latest detected gesture
float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds
Vector2 GetGestureDragVector(void); // Get gesture drag vector
float GetGestureDragAngle(void); // Get gesture drag angle
Vector2 GetGesturePinchVector(void); // Get gesture pinch delta
float GetGesturePinchAngle(void); // Get gesture pinch angle
//------------------------------------------------------------------------------------
// Camera System Functions (Module: rcamera)
//------------------------------------------------------------------------------------
void UpdateCamera(Camera *camera, int mode); // Update camera position for selected mode
void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, float zoom); // Update camera movement/rotation
</syntaxhighlight>
module: rshapes
<syntaxhighlight lang="c">
// NOTE: It can be useful when using basic shapes and one single font,
// defining a font char white rectangle would allow drawing everything in a single draw call
void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing
// Basic shapes drawing functions
void DrawPixel(int posX, int posY, Color color); // Draw a pixel
void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version)
void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line
void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (using gl lines)
void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line (using triangles/quads)
void DrawLineStrip(Vector2 *points, int pointCount, Color color); // Draw lines sequence (using gl lines)
void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw line segment cubic-bezier in-out interpolation
void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle
void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle
void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline
void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle
void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version)
void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline
void DrawCircleLinesV(Vector2 center, float radius, Color color); // Draw circle outline (Vector version)
void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse
void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse outline
void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring
void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring outline
void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle
void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version)
void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle
void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); // Draw a color-filled rectangle with pro parameters
void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a vertical-gradient-filled rectangle
void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a horizontal-gradient-filled rectangle
void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); // Draw a gradient-filled rectangle with custom vertex colors
void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline
void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); // Draw rectangle outline with extended parameters
void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); // Draw rectangle with rounded edges
void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); // Draw rectangle with rounded edges outline
void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!)
void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline (vertex in counter-clockwise order!)
void DrawTriangleFan(Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points (first vertex is the center)
void DrawTriangleStrip(Vector2 *points, int pointCount, Color color); // Draw a triangle strip defined by points
void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version)
void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides
void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); // Draw a polygon outline of n sides with extended parameters
// Splines drawing functions
void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Linear, minimum 2 points
void DrawSplineBasis(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: B-Spline, minimum 4 points
void DrawSplineCatmullRom(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Catmull-Rom, minimum 4 points
void DrawSplineBezierQuadratic(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]
void DrawSplineBezierCubic(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]
void DrawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color); // Draw spline segment: Linear, 2 points
void DrawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: B-Spline, 4 points
void DrawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: Catmull-Rom, 4 points
void DrawSplineSegmentBezierQuadratic(Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color); // Draw spline segment: Quadratic Bezier, 2 points, 1 control point
void DrawSplineSegmentBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color); // Draw spline segment: Cubic Bezier, 2 points, 2 control points
// Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]
Vector2 GetSplinePointLinear(Vector2 startPos, Vector2 endPos, float t); // Get (evaluate) spline point: Linear
Vector2 GetSplinePointBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t); // Get (evaluate) spline point: B-Spline
Vector2 GetSplinePointCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t); // Get (evaluate) spline point: Catmull-Rom
Vector2 GetSplinePointBezierQuad(Vector2 p1, Vector2 c2, Vector2 p3, float t); // Get (evaluate) spline point: Quadratic Bezier
Vector2 GetSplinePointBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t); // Get (evaluate) spline point: Cubic Bezier
// Basic shapes collision detection functions
bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles
bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles
bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle
bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle
bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle
bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle
bool CheckCollisionPointPoly(Vector2 point, Vector2 *points, int pointCount); // Check if point is within a polygon described by array of vertices
bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint); // Check the collision between two lines defined by two points each, returns collision point by reference
bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); // Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision
</syntaxhighlight>
module: rtextures
<syntaxhighlight lang="c">
// Image loading functions
// NOTE: These functions do not require GPU access
Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM)
Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data
Image LoadImageSvg(const char *fileNameOrString, int width, int height); // Load image from SVG file data or string with specified size
Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data)
Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png'
Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data
Image LoadImageFromScreen(void); // Load image from screen buffer and (screenshot)
bool IsImageReady(Image image); // Check if an image is ready
void UnloadImage(Image image); // Unload image from CPU memory (RAM)
bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success
unsigned char *ExportImageToMemory(Image image, const char *fileType, int *fileSize); // Export image to memory buffer
bool ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes, returns true on success
// Image generation functions
Image GenImageColor(int width, int height, Color color); // Generate image: plain color
Image GenImageGradientLinear(int width, int height, int direction, Color start, Color end); // Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient
Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient
Image GenImageGradientSquare(int width, int height, float density, Color inner, Color outer); // Generate image: square gradient
Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked
Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise
Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise
Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm, bigger tileSize means bigger cells
Image GenImageText(int width, int height, const char *text); // Generate image: grayscale image from text data
// Image manipulation functions
Image ImageCopy(Image image); // Create an image duplicate (useful for transformations)
Image ImageFromImage(Image image, Rectangle rec); // Create an image from another image piece
Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font)
Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); // Create an image from text (custom sprite font)
void ImageFormat(Image *image, int newFormat); // Convert image data to desired format
void ImageToPOT(Image *image, Color fill); // Convert image to POT (power-of-two)
void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle
void ImageAlphaCrop(Image *image, float threshold); // Crop image depending on alpha value
void ImageAlphaClear(Image *image, Color color, float threshold); // Clear alpha channel to desired color
void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image
void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel
void ImageBlurGaussian(Image *image, int blurSize); // Apply Gaussian blur using a box blur approximation
void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm)
void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm)
void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color
void ImageMipmaps(Image *image); // Compute all mipmap levels for a provided image
void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
void ImageFlipVertical(Image *image); // Flip image vertically
void ImageFlipHorizontal(Image *image); // Flip image horizontally
void ImageRotate(Image *image, int degrees); // Rotate image by input angle in degrees (-359 to 359)
void ImageRotateCW(Image *image); // Rotate image clockwise 90deg
void ImageRotateCCW(Image *image); // Rotate image counter-clockwise 90deg
void ImageColorTint(Image *image, Color color); // Modify image color: tint
void ImageColorInvert(Image *image); // Modify image color: invert
void ImageColorGrayscale(Image *image); // Modify image color: grayscale
void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100)
void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255)
void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color
Color *LoadImageColors(Image image); // Load color data from image as a Color array (RGBA - 32bit)
Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount); // Load colors palette from image as a Color array (RGBA - 32bit)
void UnloadImageColors(Color *colors); // Unload color data loaded with LoadImageColors()
void UnloadImagePalette(Color *colors); // Unload colors palette loaded with LoadImagePalette()
Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle
Color GetImageColor(Image image, int x, int y); // Get image pixel color at (x, y) position
// Image drawing functions
// NOTE: Image software-rendering functions (CPU)
void ImageClearBackground(Image *dst, Color color); // Clear image background with given color
void ImageDrawPixel(Image *dst, int posX, int posY, Color color); // Draw pixel within an image
void ImageDrawPixelV(Image *dst, Vector2 position, Color color); // Draw pixel within an image (Vector version)
void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw line within an image
void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color); // Draw line within an image (Vector version)
void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color); // Draw a filled circle within an image
void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color); // Draw a filled circle within an image (Vector version)
void ImageDrawCircleLines(Image *dst, int centerX, int centerY, int radius, Color color); // Draw circle outline within an image
void ImageDrawCircleLinesV(Image *dst, Vector2 center, int radius, Color color); // Draw circle outline within an image (Vector version)
void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color); // Draw rectangle within an image
void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color); // Draw rectangle within an image (Vector version)
void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image
void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image
void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); // Draw a source image within a destination image (tint applied to source)
void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) within an image (destination)
void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text (custom sprite font) within an image (destination)
// Texture loading functions
// NOTE: These functions require GPU access
Texture2D LoadTexture(const char *fileName); // Load texture from file into GPU memory (VRAM)
Texture2D LoadTextureFromImage(Image image); // Load texture from image data
TextureCubemap LoadTextureCubemap(Image image, int layout); // Load cubemap from image, multiple image cubemap layouts supported
RenderTexture2D LoadRenderTexture(int width, int height); // Load texture for rendering (framebuffer)
bool IsTextureReady(Texture2D texture); // Check if a texture is ready
void UnloadTexture(Texture2D texture); // Unload texture from GPU memory (VRAM)
bool IsRenderTextureReady(RenderTexture2D target); // Check if a render texture is ready
void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM)
void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data
void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels); // Update GPU texture rectangle with new data
// Texture configuration functions
void GenTextureMipmaps(Texture2D *texture); // Generate GPU mipmaps for a texture
void SetTextureFilter(Texture2D texture, int filter); // Set texture scaling filter mode
void SetTextureWrap(Texture2D texture, int wrap); // Set texture wrapping mode
// Texture drawing functions
void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D
void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2
void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters
void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle
void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters
void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely
// Color/pixel related functions
Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f
int ColorToInt(Color color); // Get hexadecimal value for a Color
Vector4 ColorNormalize(Color color); // Get Color normalized as float [0..1]
Color ColorFromNormalized(Vector4 normalized); // Get Color from normalized values [0..1]
Vector3 ColorToHSV(Color color); // Get HSV values for a Color, hue [0..360], saturation/value [0..1]
Color ColorFromHSV(float hue, float saturation, float value); // Get a Color from HSV values, hue [0..360], saturation/value [0..1]
Color ColorTint(Color color, Color tint); // Get color multiplied with another color
Color ColorBrightness(Color color, float factor); // Get color with brightness correction, brightness factor goes from -1.0f to 1.0f
Color ColorContrast(Color color, float contrast); // Get color with contrast correction, contrast values between -1.0f and 1.0f
Color ColorAlpha(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f
Color ColorAlphaBlend(Color dst, Color src, Color tint); // Get src alpha-blended into dst color with tint
Color GetColor(unsigned int hexValue); // Get Color structure from hexadecimal value
Color GetPixelColor(void *srcPtr, int format); // Get Color from a source pixel pointer of certain format
void SetPixelColor(void *dstPtr, Color color, int format); // Set color formatted into destination pixel pointer
int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes for certain format
</syntaxhighlight>
module: rtext
<syntaxhighlight lang="c">
// Font loading/unloading functions
Font GetFontDefault(void); // Get the default Font
Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM)
Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount); // Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set
Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style)
Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
bool IsFontReady(Font font); // Check if a font is ready
GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount, int type); // Load font data for further use
Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
void UnloadFontData(GlyphInfo *glyphs, int glyphCount); // Unload font chars info data (RAM)
void UnloadFont(Font font); // Unload font from GPU memory (VRAM)
bool ExportFontAsCode(Font font, const char *fileName); // Export font as code file, returns true on success
// Text drawing functions
void DrawFPS(int posX, int posY); // Draw current FPS
void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font)
void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); // Draw text using Font and pro parameters (rotation)
void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint)
void DrawTextCodepoints(Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint); // Draw multiple character (codepoint)
// Text font info functions
void SetTextLineSpacing(int spacing); // Set vertical line spacing when drawing with line-breaks
int MeasureText(const char *text, int fontSize); // Measure string width for default font
Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing); // Measure string size for Font
int GetGlyphIndex(Font font, int codepoint); // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
GlyphInfo GetGlyphInfo(Font font, int codepoint); // Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found
Rectangle GetGlyphAtlasRec(Font font, int codepoint); // Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
// Text codepoints management functions (unicode characters)
char *LoadUTF8(const int *codepoints, int length); // Load UTF-8 text encoded from codepoints array
void UnloadUTF8(char *text); // Unload UTF-8 text encoded from codepoints array
int *LoadCodepoints(const char *text, int *count); // Load all codepoints from a UTF-8 text string, codepoints count returned by parameter
void UnloadCodepoints(int *codepoints); // Unload codepoints data from memory
int GetCodepointCount(const char *text); // Get total number of codepoints in a UTF-8 encoded string
int GetCodepoint(const char *text, int *codepointSize); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
int GetCodepointNext(const char *text, int *codepointSize); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
int GetCodepointPrevious(const char *text, int *codepointSize); // Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
const char *CodepointToUTF8(int codepoint, int *utf8Size); // Encode one codepoint into UTF-8 byte array (array length returned as parameter)
// Text strings management functions (no UTF-8 strings, only byte chars)
// NOTE: Some strings allocate memory internally for returned strings, just be careful!
int TextCopy(char *dst, const char *src); // Copy one string to another, returns bytes copied
bool TextIsEqual(const char *text1, const char *text2); // Check if two text string are equal
unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending
const char *TextFormat(const char *text, ...); // Text formatting with variables (sprintf() style)
const char *TextSubtext(const char *text, int position, int length); // Get a piece of a text string
char *TextReplace(char *text, const char *replace, const char *by); // Replace text string (WARNING: memory must be freed!)
char *TextInsert(const char *text, const char *insert, int position); // Insert text in a position (WARNING: memory must be freed!)
const char *TextJoin(const char **textList, int count, const char *delimiter); // Join text strings with delimiter
const char **TextSplit(const char *text, char delimiter, int *count); // Split text into multiple strings
void TextAppend(char *text, const char *append, int *position); // Append text at specific position and move cursor!
int TextFindIndex(const char *text, const char *find); // Find first text occurrence within a string
const char *TextToUpper(const char *text); // Get upper case version of provided string
const char *TextToLower(const char *text); // Get lower case version of provided string
const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string
int TextToInteger(const char *text); // Get integer value from text (negative values not supported)
</syntaxhighlight>
module: rmodels
<syntaxhighlight lang="c">
// Basic geometric 3D shapes drawing functions
void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space
void DrawPoint3D(Vector3 position, Color color); // Draw a point in 3D space, actually a small line
void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space
void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!)
void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points
void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube
void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version)
void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires
void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); // Draw cube wires (Vector version)
void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere
void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters
void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires
void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone
void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder with base at startPos and top at endPos
void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires
void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder wires with base at startPos and top at endPos
void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); // Draw a capsule with the center of its sphere caps at startPos and endPos
void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); // Draw capsule wireframe with the center of its sphere caps at startPos and endPos
void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ
void DrawRay(Ray ray, Color color); // Draw a ray line
void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0))
//------------------------------------------------------------------------------------
// Model 3d Loading and Drawing Functions (Module: models)
//------------------------------------------------------------------------------------
// Model management functions
Model LoadModel(const char *fileName); // Load model from files (meshes and materials)
Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh (default material)
bool IsModelReady(Model model); // Check if a model is ready
void UnloadModel(Model model); // Unload model (including meshes) from memory (RAM and/or VRAM)
BoundingBox GetModelBoundingBox(Model model); // Compute model bounding box limits (considers all meshes)
// Model drawing functions
void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set)
void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters
void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set)
void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters
void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires)
void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); // Draw a billboard texture
void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); // Draw a billboard texture defined by source
void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); // Draw a billboard texture defined by source and rotation
// Mesh management functions
void UploadMesh(Mesh *mesh, bool dynamic); // Upload mesh vertex data in GPU and provide VAO/VBO ids
void UpdateMeshBuffer(Mesh mesh, int index, const void *data, int dataSize, int offset); // Update mesh vertex data in GPU for a specific buffer index
void UnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU
void DrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform
void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, int instances); // Draw multiple mesh instances with material and different transforms
bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success
BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits
void GenMeshTangents(Mesh *mesh); // Compute mesh tangents
// Mesh generation functions
Mesh GenMeshPoly(int sides, float radius); // Generate polygonal mesh
Mesh GenMeshPlane(float width, float length, int resX, int resZ); // Generate plane mesh (with subdivisions)
Mesh GenMeshCube(float width, float height, float length); // Generate cuboid mesh
Mesh GenMeshSphere(float radius, int rings, int slices); // Generate sphere mesh (standard sphere)
Mesh GenMeshHemiSphere(float radius, int rings, int slices); // Generate half-sphere mesh (no bottom cap)
Mesh GenMeshCylinder(float radius, float height, int slices); // Generate cylinder mesh
Mesh GenMeshCone(float radius, float height, int slices); // Generate cone/pyramid mesh
Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); // Generate torus mesh
Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); // Generate trefoil knot mesh
Mesh GenMeshHeightmap(Image heightmap, Vector3 size); // Generate heightmap mesh from image data
Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); // Generate cubes-based map mesh from image data
// Material loading/unloading functions
Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file
Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
bool IsMaterialReady(Material material); // Check if a material is ready
void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM)
void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh
// Model animations loading/unloading functions
ModelAnimation *LoadModelAnimations(const char *fileName, int *animCount); // Load model animations from file
void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose
void UnloadModelAnimation(ModelAnimation anim); // Unload animation data
void UnloadModelAnimations(ModelAnimation *animations, int animCount); // Unload animation array data
bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match
// Collision detection functions
bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres
bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Check collision between two bounding boxes
bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere
RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere
RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box
RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh
RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle
RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad
</syntaxhighlight>
module: raudio
<syntaxhighlight lang="c">
// Audio device management functions
void InitAudioDevice(void); // Initialize audio device and context
void CloseAudioDevice(void); // Close the audio device and context
bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully
void SetMasterVolume(float volume); // Set master volume (listener)
float GetMasterVolume(void); // Get master volume (listener)
// Wave/Sound loading/unloading functions
Wave LoadWave(const char *fileName); // Load wave data from file
Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
bool IsWaveReady(Wave wave); // Checks if wave data is ready
Sound LoadSound(const char *fileName); // Load sound from file
Sound LoadSoundFromWave(Wave wave); // Load sound from wave data
Sound LoadSoundAlias(Sound source); // Create a new sound that shares the same sample data as the source sound, does not own the sound data
bool IsSoundReady(Sound sound); // Checks if a sound is ready
void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data
void UnloadWave(Wave wave); // Unload wave data
void UnloadSound(Sound sound); // Unload sound
void UnloadSoundAlias(Sound alias); // Unload a sound alias (does not deallocate sample data)
bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success
bool ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h), returns true on success
// Wave/Sound management functions
void PlaySound(Sound sound); // Play a sound
void StopSound(Sound sound); // Stop playing a sound
void PauseSound(Sound sound); // Pause a sound
void ResumeSound(Sound sound); // Resume a paused sound
bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing
void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level)
void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level)
void SetSoundPan(Sound sound, float pan); // Set pan for a sound (0.5 is center)
Wave WaveCopy(Wave wave); // Copy a wave to a new wave
void WaveCrop(Wave *wave, int initSample, int finalSample); // Crop a wave to defined samples range
void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); // Convert wave data to desired format
float *LoadWaveSamples(Wave wave); // Load samples data from wave as a 32bit float data array
void UnloadWaveSamples(float *samples); // Unload samples data loaded with LoadWaveSamples()
// Music management functions
Music LoadMusicStream(const char *fileName); // Load music stream from file
Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, int dataSize); // Load music stream from data
bool IsMusicReady(Music music); // Checks if a music stream is ready
void UnloadMusicStream(Music music); // Unload music stream
void PlayMusicStream(Music music); // Start music playing
bool IsMusicStreamPlaying(Music music); // Check if music is playing
void UpdateMusicStream(Music music); // Updates buffers for music streaming
void StopMusicStream(Music music); // Stop music playing
void PauseMusicStream(Music music); // Pause music playing
void ResumeMusicStream(Music music); // Resume playing paused music
void SeekMusicStream(Music music, float position); // Seek music to a position (in seconds)
void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level)
void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level)
void SetMusicPan(Music music, float pan); // Set pan for a music (0.5 is center)
float GetMusicTimeLength(Music music); // Get music time length (in seconds)
float GetMusicTimePlayed(Music music); // Get current music time played (in seconds)
// AudioStream management functions
AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Load audio stream (to stream raw audio pcm data)
bool IsAudioStreamReady(AudioStream stream); // Checks if an audio stream is ready
void UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory
void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); // Update audio stream buffers with data
bool IsAudioStreamProcessed(AudioStream stream); // Check if any audio stream buffers requires refill
void PlayAudioStream(AudioStream stream); // Play audio stream
void PauseAudioStream(AudioStream stream); // Pause audio stream
void ResumeAudioStream(AudioStream stream); // Resume audio stream
bool IsAudioStreamPlaying(AudioStream stream); // Check if audio stream is playing
void StopAudioStream(AudioStream stream); // Stop audio stream
void SetAudioStreamVolume(AudioStream stream, float volume); // Set volume for audio stream (1.0 is max level)
void SetAudioStreamPitch(AudioStream stream, float pitch); // Set pitch for audio stream (1.0 is base level)
void SetAudioStreamPan(AudioStream stream, float pan); // Set pan for audio stream (0.5 is centered)
void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams
void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data
void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream, receives the samples as <float>s
void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream
void AttachAudioMixedProcessor(AudioCallback processor); // Attach audio stream processor to the entire audio pipeline, receives the samples as <float>s
void DetachAudioMixedProcessor(AudioCallback processor); // Detach audio stream processor from the entire audio pipeline
</syntaxhighlight>
structs
<syntaxhighlight lang="c">
struct Vector2; // Vector2, 2 components
struct Vector3; // Vector3, 3 components
struct Vector4; // Vector4, 4 components
struct Matrix; // Matrix, 4x4 components, column major, OpenGL style, right handed
struct Color; // Color, 4 components, R8G8B8A8 (32bit)
struct Rectangle; // Rectangle, 4 components
struct Image; // Image, pixel data stored in CPU memory (RAM)
struct Texture; // Texture, tex data stored in GPU memory (VRAM)
struct RenderTexture; // RenderTexture, fbo for texture rendering
struct NPatchInfo; // NPatchInfo, n-patch layout info
struct GlyphInfo; // GlyphInfo, font characters glyphs info
struct Font; // Font, font texture and GlyphInfo array data
struct Camera3D; // Camera, defines position/orientation in 3d space
struct Camera2D; // Camera2D, defines position/orientation in 2d space
struct Mesh; // Mesh, vertex data and vao/vbo
struct Shader; // Shader
struct MaterialMap; // MaterialMap
struct Material; // Material, includes shader and maps
struct Transform; // Transform, vectex transformation data
struct BoneInfo; // Bone, skeletal animation bone
struct Model; // Model, meshes, materials and animation data
struct ModelAnimation; // ModelAnimation
struct Ray; // Ray, ray for raycasting
struct RayCollision; // RayCollision, ray hit information
struct BoundingBox; // BoundingBox
struct Wave; // Wave, audio wave data
struct AudioStream; // AudioStream, custom audio stream
struct Sound; // Sound
struct Music; // Music, audio stream, anything longer than ~10 seconds should be streamed
struct VrDeviceInfo; // VrDeviceInfo, Head-Mounted-Display device parameters
struct VrStereoConfig; // VrStereoConfig, VR stereo rendering configuration for simulator
struct FilePathList; // File path list
struct AutomationEvent; // Automation event
struct AutomationEventList; // Automation event list
</syntaxhighlight>
colors
<syntaxhighlight lang="c">
// Custom raylib color palette for amazing visuals on WHITE background
#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray
#define GRAY (Color){ 130, 130, 130, 255 } // Gray
#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray
#define YELLOW (Color){ 253, 249, 0, 255 } // Yellow
#define GOLD (Color){ 255, 203, 0, 255 } // Gold
#define ORANGE (Color){ 255, 161, 0, 255 } // Orange
#define PINK (Color){ 255, 109, 194, 255 } // Pink
#define RED (Color){ 230, 41, 55, 255 } // Red
#define MAROON (Color){ 190, 33, 55, 255 } // Maroon
#define GREEN (Color){ 0, 228, 48, 255 } // Green
#define LIME (Color){ 0, 158, 47, 255 } // Lime
#define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green
#define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue
#define BLUE (Color){ 0, 121, 241, 255 } // Blue
#define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue
#define PURPLE (Color){ 200, 122, 255, 255 } // Purple
#define VIOLET (Color){ 135, 60, 190, 255 } // Violet
#define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple
#define BEIGE (Color){ 211, 176, 131, 255 } // Beige
#define BROWN (Color){ 127, 106, 79, 255 } // Brown
#define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown
#define WHITE (Color){ 255, 255, 255, 255 } // White
#define BLACK (Color){ 0, 0, 0, 255 } // Black
#define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent)
#define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta
#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo)
</syntaxhighlight>
module: raymath
<syntaxhighlight lang="c">
// Utils math
float Clamp(float value, float min, float max); // Function specifiers definition Defines and Macros Get float vector for Matrix Get float vector for Vector3 Types and Structures Definition Vector2 type Vector3 type Vector4 type Quaternion type Matrix type (OpenGL style 4x4 - right handed, column major) NOTE: Helper types to be used instead of array return types for *ToFloat functions Clamp float value
float Lerp(float start, float end, float amount); // Calculate linear interpolation between two floats
float Normalize(float value, float start, float end); // Normalize input value within input range
float Remap(float value, float inputStart, float inputEnd, float outputStart, float outputEnd); // Remap input value within input range to output range
float Wrap(float value, float min, float max); // Wrap input value from min to max
int FloatEquals(float x, float y); // Check whether two given floats are almost equal
// Vector2 math
Vector2 Vector2Zero(void); // Vector with components value 0.0f
Vector2 Vector2One(void); // Vector with components value 1.0f
Vector2 Vector2Add(Vector2 v1, Vector2 v2); // Add two vectors (v1 + v2)
Vector2 Vector2AddValue(Vector2 v, float add); // Add vector and float value
Vector2 Vector2Subtract(Vector2 v1, Vector2 v2); // Subtract two vectors (v1 - v2)
Vector2 Vector2SubtractValue(Vector2 v, float sub); // Subtract vector by float value
float Vector2Length(Vector2 v); // Calculate vector length
float Vector2LengthSqr(Vector2 v); // Calculate vector square length
float Vector2DotProduct(Vector2 v1, Vector2 v2); // Calculate two vectors dot product
float Vector2Distance(Vector2 v1, Vector2 v2); // Calculate distance between two vectors
float Vector2DistanceSqr(Vector2 v1, Vector2 v2); // Calculate square distance between two vectors
float Vector2Angle(Vector2 v1, Vector2 v2); // Calculate angle from two vectors
Vector2 Vector2Scale(Vector2 v, float scale); // Scale vector (multiply by value)
Vector2 Vector2Multiply(Vector2 v1, Vector2 v2); // Multiply vector by vector
Vector2 Vector2Negate(Vector2 v); // Negate vector
Vector2 Vector2Divide(Vector2 v1, Vector2 v2); // Divide vector by vector
Vector2 Vector2Normalize(Vector2 v); // Normalize provided vector
Vector2 Vector2Transform(Vector2 v, Matrix mat); // Transforms a Vector2 by a given Matrix
Vector2 Vector2Lerp(Vector2 v1, Vector2 v2, float amount); // Calculate linear interpolation between two vectors
Vector2 Vector2Reflect(Vector2 v, Vector2 normal); // Calculate reflected vector to normal
Vector2 Vector2Rotate(Vector2 v, float angle); // Rotate vector by angle
Vector2 Vector2MoveTowards(Vector2 v, Vector2 target, float maxDistance); // Move Vector towards target
Vector2 Vector2Invert(Vector2 v); // Invert the given vector
Vector2 Vector2Clamp(Vector2 v, Vector2 min, Vector2 max); // Clamp the components of the vector between min and max values specified by the given vectors
Vector2 Vector2ClampValue(Vector2 v, float min, float max); // Clamp the magnitude of the vector between two min and max values
int Vector2Equals(Vector2 p, Vector2 q); // Check whether two given vectors are almost equal
// Vector3 math
Vector3 Vector3Zero(void); // Vector with components value 0.0f
Vector3 Vector3One(void); // Vector with components value 1.0f
Vector3 Vector3Add(Vector3 v1, Vector3 v2); // Add two vectors
Vector3 Vector3AddValue(Vector3 v, float add); // Add vector and float value
Vector3 Vector3Subtract(Vector3 v1, Vector3 v2); // Subtract two vectors
Vector3 Vector3SubtractValue(Vector3 v, float sub); // Subtract vector by float value
Vector3 Vector3Scale(Vector3 v, float scalar); // Multiply vector by scalar
Vector3 Vector3Multiply(Vector3 v1, Vector3 v2); // Multiply vector by vector
Vector3 Vector3CrossProduct(Vector3 v1, Vector3 v2); // Calculate two vectors cross product
Vector3 Vector3Perpendicular(Vector3 v); // Calculate one vector perpendicular vector
float Vector3Length(const Vector3 v); // Calculate vector length
float Vector3LengthSqr(const Vector3 v); // Calculate vector square length
float Vector3DotProduct(Vector3 v1, Vector3 v2); // Calculate two vectors dot product
float Vector3Distance(Vector3 v1, Vector3 v2); // Calculate distance between two vectors
float Vector3DistanceSqr(Vector3 v1, Vector3 v2); // Calculate square distance between two vectors
float Vector3Angle(Vector3 v1, Vector3 v2); // Calculate angle between two vectors
Vector3 Vector3Negate(Vector3 v); // Negate provided vector (invert direction)
Vector3 Vector3Divide(Vector3 v1, Vector3 v2); // Divide vector by vector
Vector3 Vector3Normalize(Vector3 v); // Normalize provided vector
void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2); // Orthonormalize provided vectors Makes vectors normalized and orthogonal to each other Gram-Schmidt function implementation
Vector3 Vector3Transform(Vector3 v, Matrix mat); // Transforms a Vector3 by a given Matrix
Vector3 Vector3RotateByQuaternion(Vector3 v, Quaternion q); // Transform a vector by quaternion rotation
Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle); // Rotates a vector around an axis
Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount); // Calculate linear interpolation between two vectors
Vector3 Vector3Reflect(Vector3 v, Vector3 normal); // Calculate reflected vector to normal
Vector3 Vector3Min(Vector3 v1, Vector3 v2); // Get min value for each pair of components
Vector3 Vector3Max(Vector3 v1, Vector3 v2); // Get max value for each pair of components
Vector3 Vector3Barycenter(Vector3 p, Vector3 a, Vector3 b, Vector3 c); // Compute barycenter coordinates (u, v, w) for point p with respect to triangle (a, b, c) NOTE: Assumes P is on the plane of the triangle
Vector3 Vector3Unproject(Vector3 source, Matrix projection, Matrix view); // Projects a Vector3 from screen space into object space NOTE: We are avoiding calling other raymath functions despite available
float3 Vector3ToFloatV(Vector3 v); // Get Vector3 as float array
Vector3 Vector3Invert(Vector3 v); // Invert the given vector
Vector3 Vector3Clamp(Vector3 v, Vector3 min, Vector3 max); // Clamp the components of the vector between min and max values specified by the given vectors
Vector3 Vector3ClampValue(Vector3 v, float min, float max); // Clamp the magnitude of the vector between two values
int Vector3Equals(Vector3 p, Vector3 q); // Check whether two given vectors are almost equal
Vector3 Vector3Refract(Vector3 v, Vector3 n, float r); // Compute the direction of a refracted ray where v specifies the normalized direction of the incoming ray, n specifies the normalized normal vector of the interface of two optical media, and r specifies the ratio of the refractive index of the medium from where the ray comes to the refractive index of the medium on the other side of the surface
// Matrix math
float MatrixDeterminant(Matrix mat); // Compute matrix determinant
float MatrixTrace(Matrix mat); // Get the trace of the matrix (sum of the values along the diagonal)
Matrix MatrixTranspose(Matrix mat); // Transposes provided matrix
Matrix MatrixInvert(Matrix mat); // Invert provided matrix
Matrix MatrixIdentity(void); // Get identity matrix
Matrix MatrixAdd(Matrix left, Matrix right); // Add two matrices
Matrix MatrixSubtract(Matrix left, Matrix right); // Subtract two matrices (left - right)
Matrix MatrixMultiply(Matrix left, Matrix right); // Get two matrix multiplication NOTE: When multiplying matrices... the order matters!
Matrix MatrixTranslate(float x, float y, float z); // Get translation matrix
Matrix MatrixRotate(Vector3 axis, float angle); // Create rotation matrix from axis and angle NOTE: Angle should be provided in radians
Matrix MatrixRotateX(float angle); // Get x-rotation matrix NOTE: Angle must be provided in radians
Matrix MatrixRotateY(float angle); // Get y-rotation matrix NOTE: Angle must be provided in radians
Matrix MatrixRotateZ(float angle); // Get z-rotation matrix NOTE: Angle must be provided in radians
Matrix MatrixRotateXYZ(Vector3 angle); // Get xyz-rotation matrix NOTE: Angle must be provided in radians
Matrix MatrixRotateZYX(Vector3 angle); // Get zyx-rotation matrix NOTE: Angle must be provided in radians
Matrix MatrixScale(float x, float y, float z); // Get scaling matrix
Matrix MatrixFrustum(double left, double right, double bottom, double top, double near, double far); // Get perspective projection matrix
Matrix MatrixPerspective(double fovy, double aspect, double near, double far); // Get perspective projection matrix NOTE: Fovy angle must be provided in radians
Matrix MatrixOrtho(double left, double right, double bottom, double top, double near, double far); // Get orthographic projection matrix
Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up); // Get camera look-at matrix (view matrix)
float16 MatrixToFloatV(Matrix mat); // Get float array of matrix data
// Quaternion math
Quaternion QuaternionAdd(Quaternion q1, Quaternion q2); // Add two quaternions
Quaternion QuaternionAddValue(Quaternion q, float add); // Add quaternion and float value
Quaternion QuaternionSubtract(Quaternion q1, Quaternion q2); // Subtract two quaternions
Quaternion QuaternionSubtractValue(Quaternion q, float sub); // Subtract quaternion and float value
Quaternion QuaternionIdentity(void); // Get identity quaternion
float QuaternionLength(Quaternion q); // Computes the length of a quaternion
Quaternion QuaternionNormalize(Quaternion q); // Normalize provided quaternion
Quaternion QuaternionInvert(Quaternion q); // Invert provided quaternion
Quaternion QuaternionMultiply(Quaternion q1, Quaternion q2); // Calculate two quaternion multiplication
Quaternion QuaternionScale(Quaternion q, float mul); // Scale quaternion by float value
Quaternion QuaternionDivide(Quaternion q1, Quaternion q2); // Divide two quaternions
Quaternion QuaternionLerp(Quaternion q1, Quaternion q2, float amount); // Calculate linear interpolation between two quaternions
Quaternion QuaternionNlerp(Quaternion q1, Quaternion q2, float amount); // Calculate slerp-optimized interpolation between two quaternions
Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount); // Calculates spherical linear interpolation between two quaternions
Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to); // Calculate quaternion based on the rotation from one vector to another
Quaternion QuaternionFromMatrix(Matrix mat); // Get a quaternion for a given rotation matrix
Matrix QuaternionToMatrix(Quaternion q); // Get a matrix for a given quaternion
Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle); // Get rotation quaternion for an angle and axis NOTE: Angle must be provided in radians
void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle); // Get the rotation angle and axis for a given quaternion
Quaternion QuaternionFromEuler(float pitch, float yaw, float roll); // Get the quaternion equivalent to Euler angles NOTE: Rotation order is ZYX
Vector3 QuaternionToEuler(Quaternion q); // Get the Euler angles equivalent to quaternion (roll, pitch, yaw) NOTE: Angles are returned in a Vector3 struct in radians
Quaternion QuaternionTransform(Quaternion q, Matrix mat); // Transform a quaternion given a transformation matrix
int QuaternionEquals(Quaternion p, Quaternion q); // Check whether two given quaternions are almost equal
</syntaxhighlight>
=== RLGL ===
[[#top|...to the top]]
<syntaxhighlight lang="c">
#include <raylib.h>
int main() {
InitWindow(1280, 720, "Model Loading");
Model model = LoadModel("Downloads/LOD0.obj");
Texture2D tex = LoadTexture("Downloads/Thing.png");
model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = tex;
Camera cam = {0};
cam.position = (Vector3){50.0f,50.0f,50.0f};
cam.target = (Vector3){0.0f,0.0f,0.0f};
cam.up = (Vector3){0.0f,1.0f,0.0f};
cam.fovy = 90.f;
cam.projection = CAMERA_PERSPECTIVE;
Vector3 pos = {0.0f,0.0f,0.0f};
Vector3 pos2 = {200.0f,1.0f,0.0f};
BoundingBox bounds = GetMeshBoundingBox(model.meshes[0]);
SetTargetFPS(60);
SetCameraMode(cam, CAMERA_THIRD_PERSON);
while(!WindowShouldClose()) {
UpdateCamera(&cam);
BeginDrawing();
ClearBackground(RAYWHITE);
BeginMode3D(cam);
DrawModel(model, pos, 1.0f, WHITE);
DrawModel(model, pos2, 1.0f, WHITE);
DrawGrid(20, 10.0f);
DrawBoundingBox(bounds, GREEN);
EndMode3D();
DrawText("Loading obj file", 10, GetScreenHeight()-25, 25, DARKGRAY);
DrawFPS(10,10);
EndDrawing();
}
UnloadTexture(tex);
UnloadModel(model);
CloseWindow();
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
/*******************************************************************************************
*
* raylib [models] example - rlgl module usage with push/pop matrix transformations
*
* NOTE: This example uses [rlgl] module functionality (pseudo-OpenGL 1.1 style coding)
*
* Example originally created with raylib 2.5, last time updated with raylib 4.0
*
* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
* BSD-like license that allows static linking with closed source software
*
* Copyright (c) 2018-2024 Ramon Santamaria (@raysan5)
*
********************************************************************************************/
#include "raylib.h"
#include "rlgl.h"
#include <math.h> // Required for: cosf(), sinf()
//------------------------------------------------------------------------------------
// Module Functions Declaration
//------------------------------------------------------------------------------------
void DrawSphereBasic(Color color); // Draw sphere without any matrix transformation
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
const float sunRadius = 4.0f;
const float earthRadius = 0.6f;
const float earthOrbitRadius = 8.0f;
const float moonRadius = 0.16f;
const float moonOrbitRadius = 1.5f;
InitWindow(screenWidth, screenHeight, "raylib [models] example - rlgl module usage with push/pop matrix transformations");
// Define the camera to look into our 3d world
Camera camera = { 0 };
camera.position = (Vector3){ 16.0f, 16.0f, 16.0f }; // Camera position
camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point
camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target)
camera.fovy = 45.0f; // Camera field-of-view Y
camera.projection = CAMERA_PERSPECTIVE; // Camera projection type
float rotationSpeed = 0.2f; // General system rotation speed
float earthRotation = 0.0f; // Rotation of earth around itself (days) in degrees
float earthOrbitRotation = 0.0f; // Rotation of earth around the Sun (years) in degrees
float moonRotation = 0.0f; // Rotation of moon around itself
float moonOrbitRotation = 0.0f; // Rotation of moon around earth in degrees
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//----------------------------------------------------------------------------------
UpdateCamera(&camera, CAMERA_ORBITAL);
earthRotation += (5.0f*rotationSpeed);
earthOrbitRotation += (365/360.0f*(5.0f*rotationSpeed)*rotationSpeed);
moonRotation += (2.0f*rotationSpeed);
moonOrbitRotation += (8.0f*rotationSpeed);
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
BeginMode3D(camera);
rlPushMatrix();
rlScalef(sunRadius, sunRadius, sunRadius); // Scale Sun
DrawSphereBasic(GOLD); // Draw the Sun
rlPopMatrix();
rlPushMatrix();
rlRotatef(earthOrbitRotation, 0.0f, 1.0f, 0.0f); // Rotation for Earth orbit around Sun
rlTranslatef(earthOrbitRadius, 0.0f, 0.0f); // Translation for Earth orbit
rlPushMatrix();
rlRotatef(earthRotation, 0.25, 1.0, 0.0); // Rotation for Earth itself
rlScalef(earthRadius, earthRadius, earthRadius);// Scale Earth
DrawSphereBasic(BLUE); // Draw the Earth
rlPopMatrix();
rlRotatef(moonOrbitRotation, 0.0f, 1.0f, 0.0f); // Rotation for Moon orbit around Earth
rlTranslatef(moonOrbitRadius, 0.0f, 0.0f); // Translation for Moon orbit
rlRotatef(moonRotation, 0.0f, 1.0f, 0.0f); // Rotation for Moon itself
rlScalef(moonRadius, moonRadius, moonRadius); // Scale Moon
DrawSphereBasic(LIGHTGRAY); // Draw the Moon
rlPopMatrix();
// Some reference elements (not affected by previous matrix transformations)
DrawCircle3D((Vector3){ 0.0f, 0.0f, 0.0f }, earthOrbitRadius, (Vector3){ 1, 0, 0 }, 90.0f, Fade(RED, 0.5f));
DrawGrid(20, 1.0f);
EndMode3D();
DrawText("EARTH ORBITING AROUND THE SUN!", 400, 10, 20, MAROON);
DrawFPS(10, 10);
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}
//--------------------------------------------------------------------------------------------
// Module Functions Definitions (local)
//--------------------------------------------------------------------------------------------
// Draw sphere without any matrix transformation
// NOTE: Sphere is drawn in world position ( 0, 0, 0 ) with radius 1.0f
void DrawSphereBasic(Color color)
{
int rings = 16;
int slices = 16;
// Make sure there is enough space in the internal render batch
// buffer to store all required vertex, batch is reseted if required
rlCheckRenderBatchLimit((rings + 2)*slices*6);
rlBegin(RL_TRIANGLES);
rlColor4ub(color.r, color.g, color.b, color.a);
for (int i = 0; i < (rings + 2); i++)
{
for (int j = 0; j < slices; j++)
{
rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*i))*sinf(DEG2RAD*(j*360/slices)),
sinf(DEG2RAD*(270+(180/(rings + 1))*i)),
cosf(DEG2RAD*(270+(180/(rings + 1))*i))*cosf(DEG2RAD*(j*360/slices)));
rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sinf(DEG2RAD*((j+1)*360/slices)),
sinf(DEG2RAD*(270+(180/(rings + 1))*(i+1))),
cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cosf(DEG2RAD*((j+1)*360/slices)));
rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sinf(DEG2RAD*(j*360/slices)),
sinf(DEG2RAD*(270+(180/(rings + 1))*(i+1))),
cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cosf(DEG2RAD*(j*360/slices)));
rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*i))*sinf(DEG2RAD*(j*360/slices)),
sinf(DEG2RAD*(270+(180/(rings + 1))*i)),
cosf(DEG2RAD*(270+(180/(rings + 1))*i))*cosf(DEG2RAD*(j*360/slices)));
rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i)))*sinf(DEG2RAD*((j+1)*360/slices)),
sinf(DEG2RAD*(270+(180/(rings + 1))*(i))),
cosf(DEG2RAD*(270+(180/(rings + 1))*(i)))*cosf(DEG2RAD*((j+1)*360/slices)));
rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sinf(DEG2RAD*((j+1)*360/slices)),
sinf(DEG2RAD*(270+(180/(rings + 1))*(i+1))),
cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cosf(DEG2RAD*((j+1)*360/slices)));
}
}
rlEnd();
}
</syntaxhighlight>
<syntaxhighlight lang="c">
/*******************************************************************************************
*
* raylib [rlgl] example - compute shader - Conway's Game of Life
*
* NOTE: This example requires raylib OpenGL 4.3 versions for compute shaders support,
* shaders used in this example are #version 430 (OpenGL 4.3)
*
* Example originally created with raylib 4.0, last time updated with raylib 2.5
*
* Example contributed by Teddy Astie (@tsnake41) and reviewed by Ramon Santamaria (@raysan5)
*
* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
* BSD-like license that allows static linking with closed source software
*
* Copyright (c) 2021-2024 Teddy Astie (@tsnake41)
*
********************************************************************************************/
#include "raylib.h"
#include "rlgl.h"
#include <stdlib.h>
// IMPORTANT: This must match gol*.glsl GOL_WIDTH constant.
// This must be a multiple of 16 (check golLogic compute dispatch).
#define GOL_WIDTH 768
// Maximum amount of queued draw commands (squares draw from mouse down events).
#define MAX_BUFFERED_TRANSFERTS 48
// Game Of Life Update Command
typedef struct GolUpdateCmd {
unsigned int x; // x coordinate of the gol command
unsigned int y; // y coordinate of the gol command
unsigned int w; // width of the filled zone
unsigned int enabled; // whether to enable or disable zone
} GolUpdateCmd;
// Game Of Life Update Commands SSBO
typedef struct GolUpdateSSBO {
unsigned int count;
GolUpdateCmd commands[MAX_BUFFERED_TRANSFERTS];
} GolUpdateSSBO;
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
InitWindow(GOL_WIDTH, GOL_WIDTH, "raylib [rlgl] example - compute shader - game of life");
const Vector2 resolution = { GOL_WIDTH, GOL_WIDTH };
unsigned int brushSize = 8;
// Game of Life logic compute shader
char *golLogicCode = LoadFileText("resources/shaders/glsl430/gol.glsl");
unsigned int golLogicShader = rlCompileShader(golLogicCode, RL_COMPUTE_SHADER);
unsigned int golLogicProgram = rlLoadComputeShaderProgram(golLogicShader);
UnloadFileText(golLogicCode);
// Game of Life logic render shader
Shader golRenderShader = LoadShader(NULL, "resources/shaders/glsl430/gol_render.glsl");
int resUniformLoc = GetShaderLocation(golRenderShader, "resolution");
// Game of Life transfert shader (CPU<->GPU download and upload)
char *golTransfertCode = LoadFileText("resources/shaders/glsl430/gol_transfert.glsl");
unsigned int golTransfertShader = rlCompileShader(golTransfertCode, RL_COMPUTE_SHADER);
unsigned int golTransfertProgram = rlLoadComputeShaderProgram(golTransfertShader);
UnloadFileText(golTransfertCode);
// Load shader storage buffer object (SSBO), id returned
unsigned int ssboA = rlLoadShaderBuffer(GOL_WIDTH*GOL_WIDTH*sizeof(unsigned int), NULL, RL_DYNAMIC_COPY);
unsigned int ssboB = rlLoadShaderBuffer(GOL_WIDTH*GOL_WIDTH*sizeof(unsigned int), NULL, RL_DYNAMIC_COPY);
unsigned int ssboTransfert = rlLoadShaderBuffer(sizeof(GolUpdateSSBO), NULL, RL_DYNAMIC_COPY);
GolUpdateSSBO transfertBuffer = { 0 };
// Create a white texture of the size of the window to update
// each pixel of the window using the fragment shader: golRenderShader
Image whiteImage = GenImageColor(GOL_WIDTH, GOL_WIDTH, WHITE);
Texture whiteTex = LoadTextureFromImage(whiteImage);
UnloadImage(whiteImage);
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose())
{
// Update
//----------------------------------------------------------------------------------
brushSize += (int)GetMouseWheelMove();
if ((IsMouseButtonDown(MOUSE_BUTTON_LEFT) || IsMouseButtonDown(MOUSE_BUTTON_RIGHT))
&& (transfertBuffer.count < MAX_BUFFERED_TRANSFERTS))
{
// Buffer a new command
transfertBuffer.commands[transfertBuffer.count].x = GetMouseX() - brushSize/2;
transfertBuffer.commands[transfertBuffer.count].y = GetMouseY() - brushSize/2;
transfertBuffer.commands[transfertBuffer.count].w = brushSize;
transfertBuffer.commands[transfertBuffer.count].enabled = IsMouseButtonDown(MOUSE_BUTTON_LEFT);
transfertBuffer.count++;
}
else if (transfertBuffer.count > 0) // Process transfert buffer
{
// Send SSBO buffer to GPU
rlUpdateShaderBuffer(ssboTransfert, &transfertBuffer, sizeof(GolUpdateSSBO), 0);
// Process SSBO commands on GPU
rlEnableShader(golTransfertProgram);
rlBindShaderBuffer(ssboA, 1);
rlBindShaderBuffer(ssboTransfert, 3);
rlComputeShaderDispatch(transfertBuffer.count, 1, 1); // Each GPU unit will process a command!
rlDisableShader();
transfertBuffer.count = 0;
}
else
{
// Process game of life logic
rlEnableShader(golLogicProgram);
rlBindShaderBuffer(ssboA, 1);
rlBindShaderBuffer(ssboB, 2);
rlComputeShaderDispatch(GOL_WIDTH/16, GOL_WIDTH/16, 1);
rlDisableShader();
// ssboA <-> ssboB
int temp = ssboA;
ssboA = ssboB;
ssboB = temp;
}
rlBindShaderBuffer(ssboA, 1);
SetShaderValue(golRenderShader, resUniformLoc, &resolution, SHADER_UNIFORM_VEC2);
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(BLANK);
BeginShaderMode(golRenderShader);
DrawTexture(whiteTex, 0, 0, WHITE);
EndShaderMode();
DrawRectangleLines(GetMouseX() - brushSize/2, GetMouseY() - brushSize/2, brushSize, brushSize, RED);
DrawText("Use Mouse wheel to increase/decrease brush size", 10, 10, 20, WHITE);
DrawFPS(GetScreenWidth() - 100, 10);
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
// Unload shader buffers objects.
rlUnloadShaderBuffer(ssboA);
rlUnloadShaderBuffer(ssboB);
rlUnloadShaderBuffer(ssboTransfert);
// Unload compute shader programs
rlUnloadShaderProgram(golTransfertProgram);
rlUnloadShaderProgram(golLogicProgram);
UnloadTexture(whiteTex); // Unload white texture
UnloadShader(golRenderShader); // Unload rendering fragment shader
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
/*******************************************************************************************
*
* raylib [shaders] example - OpenGL point particle system
*
* Example originally created with raylib 3.8, last time updated with raylib 2.5
*
* Example contributed by Stephan Soller (@arkanis) and reviewed by Ramon Santamaria (@raysan5)
*
* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
* BSD-like license that allows static linking with closed source software
*
* Copyright (c) 2021-2024 Stephan Soller (@arkanis) and Ramon Santamaria (@raysan5)
*
********************************************************************************************
*
* Mixes raylib and plain OpenGL code to draw a GL_POINTS based particle system. The
* primary point is to demonstrate raylib and OpenGL interop.
*
* rlgl batched draw operations internally so we have to flush the current batch before
* doing our own OpenGL work (rlDrawRenderBatchActive()).
*
* The example also demonstrates how to get the current model view projection matrix of
* raylib. That way raylib cameras and so on work as expected.
*
********************************************************************************************/
#include "raylib.h"
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL)
#if defined(GRAPHICS_API_OPENGL_ES2)
#include "glad_gles2.h" // Required for: OpenGL functionality
#define glGenVertexArrays glGenVertexArraysOES
#define glBindVertexArray glBindVertexArrayOES
#define glDeleteVertexArrays glDeleteVertexArraysOES
#define GLSL_VERSION 100
#else
#if defined(__APPLE__)
#define GL_SILENCE_DEPRECATION // Silence Opengl API deprecation warnings
#include <OpenGL/gl3.h> // OpenGL 3 library for OSX
#include <OpenGL/gl3ext.h> // OpenGL 3 extensions library for OSX
#else
#include "glad.h" // Required for: OpenGL functionality
#endif
#define GLSL_VERSION 330
#endif
#else // PLATFORM_ANDROID, PLATFORM_WEB
#define GLSL_VERSION 100
#endif
#include "rlgl.h" // Required for: rlDrawRenderBatchActive(), rlGetMatrixModelview(), rlGetMatrixProjection()
#include "raymath.h" // Required for: MatrixMultiply(), MatrixToFloat()
#define MAX_PARTICLES 1000
// Particle type
typedef struct Particle {
float x;
float y;
float period;
} Particle;
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib - point particles");
Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/point_particle.vs", GLSL_VERSION),
TextFormat("resources/shaders/glsl%i/point_particle.fs", GLSL_VERSION));
int currentTimeLoc = GetShaderLocation(shader, "currentTime");
int colorLoc = GetShaderLocation(shader, "color");
// Initialize the vertex buffer for the particles and assign each particle random values
Particle particles[MAX_PARTICLES] = { 0 };
for (int i = 0; i < MAX_PARTICLES; i++)
{
particles[i].x = (float)GetRandomValue(20, screenWidth - 20);
particles[i].y = (float)GetRandomValue(50, screenHeight - 20);
// Give each particle a slightly different period. But don't spread it to much.
// This way the particles line up every so often and you get a glimps of what is going on.
particles[i].period = (float)GetRandomValue(10, 30)/10.0f;
}
// Create a plain OpenGL vertex buffer with the data and an vertex array object
// that feeds the data from the buffer into the vertexPosition shader attribute.
GLuint vao = 0;
GLuint vbo = 0;
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
glGenBuffers(1, &vbo);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, MAX_PARTICLES*sizeof(Particle), particles, GL_STATIC_DRAW);
// Note: LoadShader() automatically fetches the attribute index of "vertexPosition" and saves it in shader.locs[SHADER_LOC_VERTEX_POSITION]
glVertexAttribPointer(shader.locs[SHADER_LOC_VERTEX_POSITION], 3, GL_FLOAT, GL_FALSE, 0, 0);
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
// Allows the vertex shader to set the point size of each particle individually
#ifndef GRAPHICS_API_OPENGL_ES2
glEnable(GL_PROGRAM_POINT_SIZE);
#endif
SetTargetFPS(60);
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(WHITE);
DrawRectangle(10, 10, 210, 30, MAROON);
DrawText(TextFormat("%zu particles in one vertex buffer", MAX_PARTICLES), 20, 20, 10, RAYWHITE);
rlDrawRenderBatchActive(); // Draw iternal buffers data (previous draw calls)
// Switch to plain OpenGL
//------------------------------------------------------------------------------
glUseProgram(shader.id);
glUniform1f(currentTimeLoc, GetTime());
Vector4 color = ColorNormalize((Color){ 255, 0, 0, 128 });
glUniform4fv(colorLoc, 1, (float *)&color);
// Get the current modelview and projection matrix so the particle system is displayed and transformed
Matrix modelViewProjection = MatrixMultiply(rlGetMatrixModelview(), rlGetMatrixProjection());
glUniformMatrix4fv(shader.locs[SHADER_LOC_MATRIX_MVP], 1, false, MatrixToFloat(modelViewProjection));
glBindVertexArray(vao);
glDrawArrays(GL_POINTS, 0, MAX_PARTICLES);
glBindVertexArray(0);
glUseProgram(0);
//------------------------------------------------------------------------------
DrawFPS(screenWidth - 100, 10);
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
glDeleteBuffers(1, &vbo);
glDeleteVertexArrays(1, &vao);
UnloadShader(shader); // Unload shader
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}
</syntaxhighlight>
With [https://github.com/daniilsjb/perlin-noise perlin] and glm
<syntaxhighlight lang="c">
#include "raylib.h"
#include "raymath.h"
#include "glm/glm.hpp"
#define DB_PERLIN_IMPL
#include "db_perlin.hpp"
#define SCR_WIDTH 1024
#define SCR_HEIGHT 780
#define GRIDW 2048
#define GRIDH 1560
#define CELL_SIZE 20
#define COLS GRIDW / CELL_SIZE
#define ROWS GRIDH / CELL_SIZE
#define MIN_HEIGHT -10
#define MAX_HEIGHT 5
#define MOVE_SPEED 60
#define CAM_INIT_POS { 35.f, SCR_WIDTH, 210.0f }
#define CAM_INIT_TARGET { 120.f, SCR_WIDTH, 150.f}
#define CAM_UP { 0.0, 0.0f, 1.0f }
#define CAM_FOVY 45.0f
#define FLYING_SPEED 0.01f
float flying = 0.f;
float map(float value, float inMin, float inMax, float outMin, float outMax);
void Init(Camera3D& camera, float terrain[COLS][ROWS]);
void SetTerrain(float terrain[COLS][ROWS]);
void Update(Camera3D& camera);
void ProcessInput(Camera3D& camera);
void Draw(Camera& camera,float terrain[COLS][ROWS]);
int main(void)
{
// Initialization
Camera3D camera = { 0 };
float terrain[COLS][ROWS];
Init(camera,terrain);
while (!WindowShouldClose())
{
Update(camera);
ProcessInput(camera);
Draw(camera,terrain);
}
// De-Initialization
CloseWindow();
return 0;
}
void Init(Camera3D& camera, float terrain[COLS][ROWS])
{
// Initialization
InitWindow(SCR_WIDTH, SCR_HEIGHT, "Raylib - 3D Terrain Generation");
camera.position = CAM_INIT_POS;
camera.target = CAM_INIT_TARGET;
camera.up = CAM_UP;
camera.fovy = CAM_FOVY;
camera.projection = CAMERA_PERSPECTIVE;
SetTargetFPS(60);
DisableCursor();
}
void SetTerrain(float terrain[COLS][ROWS])
{
flying += FLYING_SPEED;
float yoff = flying;
for (int x = 0; x < COLS; x++)
{
float xoff = 0.f;
for (int y = 0; y < ROWS; y++)
{
// Generate noise value
float noiseValue = db::perlin(xoff, yoff);
// Map the noise value to the desired range
terrain[x][y] = map(noiseValue, 0.f, 1.0f, MIN_HEIGHT, MAX_HEIGHT);
xoff += 0.2f;
}
yoff += 0.2f;
}
}
void Update(Camera3D& camera)
{
// Update
UpdateCamera(&camera, CAMERA_FREE);
// Print camera settings to the console
//printf("Camera Position: x: %.2f, y: %.2f, z: %.2f\n", camera.position.x, camera.position.y, camera.position.z);
//printf("Camera Target: x: %.2f, y: %.2f, z: %.2f\n", camera.target.x, camera.target.y, camera.target.z);
//printf("Camera Up: x: %.2f, y: %.2f, z: %.2f\n", camera.up.x, camera.up.y, camera.up.z);
//printf("Camera FOV: %.2f\n\n", camera.fovy);
}
void ProcessInput(Camera3D& camera)
{
float moveAmount = MOVE_SPEED * GetFrameTime();
// Calculate forward and right vectors
Vector3 forward = Vector3Normalize(Vector3Subtract(camera.target, camera.position));
Vector3 right = Vector3Normalize(Vector3CrossProduct(forward, camera.up));
// Forward and Backward Movement
if (IsKeyDown(KEY_W))
{
camera.position = Vector3Add(camera.position, Vector3Scale(forward, moveAmount));
camera.target = Vector3Add(camera.target, Vector3Scale(forward, moveAmount));
}
if (IsKeyDown(KEY_S))
{
camera.position = Vector3Subtract(camera.position, Vector3Scale(forward, moveAmount));
camera.target = Vector3Subtract(camera.target, Vector3Scale(forward, moveAmount));
}
// Left and Right Movement
if (IsKeyDown(KEY_A))
{
camera.position = Vector3Subtract(camera.position, Vector3Scale(right, moveAmount));
camera.target = Vector3Subtract(camera.target, Vector3Scale(right, moveAmount));
}
if (IsKeyDown(KEY_D))
{
camera.position = Vector3Add(camera.position, Vector3Scale(right, moveAmount));
camera.target = Vector3Add(camera.target, Vector3Scale(right, moveAmount));
}
// Up and Down Movement
if (IsKeyDown(KEY_E))
{
camera.position.z += moveAmount;
camera.target.z += moveAmount;
}
if (IsKeyDown(KEY_Q))
{
camera.position.z -= moveAmount;
camera.target.z -= moveAmount;
}
// Ensure camera.up remains consistent
camera.up = CAM_UP;
}
void Draw(Camera& camera,float terrain[COLS][ROWS])
{
SetTerrain(terrain);
BeginDrawing();
ClearBackground(BLACK);
BeginMode3D(camera);
// Draw the terrain grid
for (int x = 0; x < COLS - 1; x++)
{
for (int y = 0; y < ROWS - 1; y++)
{
// Get heights from the terrain array
float zTopLeft = terrain[x][y];
float zTopRight = terrain[x + 1][y];
float zBottomLeft = terrain[x][y + 1];
float zBottomRight = terrain[x + 1][y + 1];
// Define corners of the current cell
Vector3 topLeft = { (float) x * CELL_SIZE, (float) y * CELL_SIZE, zTopLeft };
Vector3 topRight = { (float) (x + 1) * CELL_SIZE, (float) y * CELL_SIZE, zTopRight };
Vector3 bottomLeft = { (float) x * CELL_SIZE, (float) (y + 1) * CELL_SIZE, zBottomLeft };
Vector3 bottomRight = { (float) (x + 1) * CELL_SIZE, (float) (y + 1) * CELL_SIZE, zBottomRight };
// Draw horizontal and vertical lines
DrawLine3D(topLeft, topRight, RAYWHITE); // Top edge
DrawLine3D(topLeft, bottomLeft, RAYWHITE); // Left edge
// Draw diagonal lines
DrawLine3D(topRight, bottomLeft, RAYWHITE); // Diagonal (top-right to bottom-left)
DrawLine3D(topLeft, bottomRight, RAYWHITE); // Diagonal (top-left to bottom-right)
}
}
EndMode3D();
DrawFPS(10, 10);
EndDrawing();
}
float map(float value, float inMin, float inMax, float outMin, float outMax)
{
float t = (value - inMin) / (inMax - inMin); // Normalize the input
return glm::mix(outMin, outMax, t); // Interpolate using glm::mix
}
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
===rlgl5.h===
<syntaxhighlight lang="c">
/**********************************************************************************************
*
* rlgl v5.0 - A multi-OpenGL abstraction layer with an immediate-mode style API
*
* DESCRIPTION:
* An abstraction layer for multiple OpenGL versions (1.1, 2.1, 3.3 Core, 4.3 Core, ES 2.0)
* that provides a pseudo-OpenGL 1.1 immediate-mode style API (rlVertex, rlTranslate, rlRotate...)
*
* ADDITIONAL NOTES:
* When choosing an OpenGL backend different than OpenGL 1.1, some internal buffer are
* initialized on rlglInit() to accumulate vertex data.
*
* When an internal state change is required all the stored vertex data is renderer in batch,
* additionally, rlDrawRenderBatchActive() could be called to force flushing of the batch.
*
* Some resources are also loaded for convenience, here the complete list:
* - Default batch (RLGL.defaultBatch): RenderBatch system to accumulate vertex data
* - Default texture (RLGL.defaultTextureId): 1x1 white pixel R8G8B8A8
* - Default shader (RLGL.State.defaultShaderId, RLGL.State.defaultShaderLocs)
*
* Internal buffer (and resources) must be manually unloaded calling rlglClose().
*
* CONFIGURATION:
* #define GRAPHICS_API_OPENGL_11
* #define GRAPHICS_API_OPENGL_21
* #define GRAPHICS_API_OPENGL_33
* #define GRAPHICS_API_OPENGL_43
* #define GRAPHICS_API_OPENGL_ES2
* #define GRAPHICS_API_OPENGL_ES3
* Use selected OpenGL graphics backend, should be supported by platform
* Those preprocessor defines are only used on rlgl module, if OpenGL version is
* required by any other module, use rlGetVersion() to check it
*
* #define RLGL_IMPLEMENTATION
* Generates the implementation of the library into the included file.
* If not defined, the library is in header only mode and can be included in other headers
* or source files without problems. But only ONE file should hold the implementation.
*
* #define RLGL_RENDER_TEXTURES_HINT
* Enable framebuffer objects (fbo) support (enabled by default)
* Some GPUs could not support them despite the OpenGL version
*
* #define RLGL_SHOW_GL_DETAILS_INFO
* Show OpenGL extensions and capabilities detailed logs on init
*
* #define RLGL_ENABLE_OPENGL_DEBUG_CONTEXT
* Enable debug context (only available on OpenGL 4.3)
*
* rlgl capabilities could be customized just defining some internal
* values before library inclusion (default values listed):
*
* #define RL_DEFAULT_BATCH_BUFFER_ELEMENTS 8192 // Default internal render batch elements limits
* #define RL_DEFAULT_BATCH_BUFFERS 1 // Default number of batch buffers (multi-buffering)
* #define RL_DEFAULT_BATCH_DRAWCALLS 256 // Default number of batch draw calls (by state changes: mode, texture)
* #define RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS 4 // Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())
*
* #define RL_MAX_MATRIX_STACK_SIZE 32 // Maximum size of internal Matrix stack
* #define RL_MAX_SHADER_LOCATIONS 32 // Maximum number of shader locations supported
* #define RL_CULL_DISTANCE_NEAR 0.01 // Default projection matrix near cull distance
* #define RL_CULL_DISTANCE_FAR 1000.0 // Default projection matrix far cull distance
*
* When loading a shader, the following vertex attributes and uniform
* location names are tried to be set automatically:
*
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_MVP "mvp" // model-view-projection matrix
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW "matView" // view matrix
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION "matProjection" // projection matrix
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL "matModel" // model matrix
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL "matNormal" // normal matrix (transpose(inverse(matModelView)))
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR "colDiffuse" // color diffuse (base tint color, multiplied by texture color)
* #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0 "texture0" // texture0 (texture slot active 0)
* #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1 "texture1" // texture1 (texture slot active 1)
* #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE2 "texture2" // texture2 (texture slot active 2)
*
* DEPENDENCIES:
* - OpenGL libraries (depending on platform and OpenGL version selected)
* - GLAD OpenGL extensions loading library (only for OpenGL 3.3 Core, 4.3 Core)
*
*
* LICENSE: zlib/libpng
*
* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5)
*
* This software is provided "as-is", without any express or implied warranty. In no event
* will the authors be held liable for any damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose, including commercial
* applications, and to alter it and redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not claim that you
* wrote the original software. If you use this software in a product, an acknowledgment
* in the product documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
* as being the original software.
*
* 3. This notice may not be removed or altered from any source distribution.
*
**********************************************************************************************/
#ifndef RLGL_H
#define RLGL_H
#define RLGL_VERSION "5.0"
// Function specifiers in case library is build/used as a shared library
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
// NOTE: visibility(default) attribute makes symbols "visible" when compiled with -fvisibility=hidden
#if defined(_WIN32) && defined(BUILD_LIBTYPE_SHARED)
#define RLAPI __declspec(dllexport) // We are building the library as a Win32 shared library (.dll)
#elif defined(BUILD_LIBTYPE_SHARED)
#define RLAPI __attribute__((visibility("default"))) // We are building the library as a Unix shared library (.so/.dylib)
#elif defined(_WIN32) && defined(USE_LIBTYPE_SHARED)
#define RLAPI __declspec(dllimport) // We are using the library as a Win32 shared library (.dll)
#endif
// Function specifiers definition
#ifndef RLAPI
#define RLAPI // Functions defined as 'extern' by default (implicit specifiers)
#endif
// Support TRACELOG macros
#ifndef TRACELOG
#define TRACELOG(level, ...) (void)0
#define TRACELOGD(...) (void)0
#endif
// Allow custom memory allocators
#ifndef RL_MALLOC
#define RL_MALLOC(sz) malloc(sz)
#endif
#ifndef RL_CALLOC
#define RL_CALLOC(n,sz) calloc(n,sz)
#endif
#ifndef RL_REALLOC
#define RL_REALLOC(n,sz) realloc(n,sz)
#endif
#ifndef RL_FREE
#define RL_FREE(p) free(p)
#endif
// Security check in case no GRAPHICS_API_OPENGL_* defined
#if !defined(GRAPHICS_API_OPENGL_11) && \
!defined(GRAPHICS_API_OPENGL_21) && \
!defined(GRAPHICS_API_OPENGL_33) && \
!defined(GRAPHICS_API_OPENGL_43) && \
!defined(GRAPHICS_API_OPENGL_ES2) && \
!defined(GRAPHICS_API_OPENGL_ES3)
#define GRAPHICS_API_OPENGL_33
#endif
// Security check in case multiple GRAPHICS_API_OPENGL_* defined
#if defined(GRAPHICS_API_OPENGL_11)
#if defined(GRAPHICS_API_OPENGL_21)
#undef GRAPHICS_API_OPENGL_21
#endif
#if defined(GRAPHICS_API_OPENGL_33)
#undef GRAPHICS_API_OPENGL_33
#endif
#if defined(GRAPHICS_API_OPENGL_43)
#undef GRAPHICS_API_OPENGL_43
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
#undef GRAPHICS_API_OPENGL_ES2
#endif
#endif
// OpenGL 2.1 uses most of OpenGL 3.3 Core functionality
// WARNING: Specific parts are checked with #if defines
#if defined(GRAPHICS_API_OPENGL_21)
#define GRAPHICS_API_OPENGL_33
#endif
// OpenGL 4.3 uses OpenGL 3.3 Core functionality
#if defined(GRAPHICS_API_OPENGL_43)
#define GRAPHICS_API_OPENGL_33
#endif
// OpenGL ES 3.0 uses OpenGL ES 2.0 functionality (and more)
#if defined(GRAPHICS_API_OPENGL_ES3)
#define GRAPHICS_API_OPENGL_ES2
#endif
// Support framebuffer objects by default
// NOTE: Some driver implementation do not support it, despite they should
#define RLGL_RENDER_TEXTURES_HINT
//----------------------------------------------------------------------------------
// Defines and Macros
//----------------------------------------------------------------------------------
// Default internal render batch elements limits
#ifndef RL_DEFAULT_BATCH_BUFFER_ELEMENTS
#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33)
// This is the maximum amount of elements (quads) per batch
// NOTE: Be careful with text, every letter maps to a quad
#define RL_DEFAULT_BATCH_BUFFER_ELEMENTS 8192
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
// We reduce memory sizes for embedded systems (RPI and HTML5)
// NOTE: On HTML5 (emscripten) this is allocated on heap,
// by default it's only 16MB!...just take care...
#define RL_DEFAULT_BATCH_BUFFER_ELEMENTS 2048
#endif
#endif
#ifndef RL_DEFAULT_BATCH_BUFFERS
#define RL_DEFAULT_BATCH_BUFFERS 1 // Default number of batch buffers (multi-buffering)
#endif
#ifndef RL_DEFAULT_BATCH_DRAWCALLS
#define RL_DEFAULT_BATCH_DRAWCALLS 256 // Default number of batch draw calls (by state changes: mode, texture)
#endif
#ifndef RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS
#define RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS 4 // Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())
#endif
// Internal Matrix stack
#ifndef RL_MAX_MATRIX_STACK_SIZE
#define RL_MAX_MATRIX_STACK_SIZE 32 // Maximum size of Matrix stack
#endif
// Shader limits
#ifndef RL_MAX_SHADER_LOCATIONS
#define RL_MAX_SHADER_LOCATIONS 32 // Maximum number of shader locations supported
#endif
// Projection matrix culling
#ifndef RL_CULL_DISTANCE_NEAR
#define RL_CULL_DISTANCE_NEAR 0.01 // Default near cull distance
#endif
#ifndef RL_CULL_DISTANCE_FAR
#define RL_CULL_DISTANCE_FAR 1000.0 // Default far cull distance
#endif
// Texture parameters (equivalent to OpenGL defines)
#define RL_TEXTURE_WRAP_S 0x2802 // GL_TEXTURE_WRAP_S
#define RL_TEXTURE_WRAP_T 0x2803 // GL_TEXTURE_WRAP_T
#define RL_TEXTURE_MAG_FILTER 0x2800 // GL_TEXTURE_MAG_FILTER
#define RL_TEXTURE_MIN_FILTER 0x2801 // GL_TEXTURE_MIN_FILTER
#define RL_TEXTURE_FILTER_NEAREST 0x2600 // GL_NEAREST
#define RL_TEXTURE_FILTER_LINEAR 0x2601 // GL_LINEAR
#define RL_TEXTURE_FILTER_MIP_NEAREST 0x2700 // GL_NEAREST_MIPMAP_NEAREST
#define RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR 0x2702 // GL_NEAREST_MIPMAP_LINEAR
#define RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST 0x2701 // GL_LINEAR_MIPMAP_NEAREST
#define RL_TEXTURE_FILTER_MIP_LINEAR 0x2703 // GL_LINEAR_MIPMAP_LINEAR
#define RL_TEXTURE_FILTER_ANISOTROPIC 0x3000 // Anisotropic filter (custom identifier)
#define RL_TEXTURE_MIPMAP_BIAS_RATIO 0x4000 // Texture mipmap bias, percentage ratio (custom identifier)
#define RL_TEXTURE_WRAP_REPEAT 0x2901 // GL_REPEAT
#define RL_TEXTURE_WRAP_CLAMP 0x812F // GL_CLAMP_TO_EDGE
#define RL_TEXTURE_WRAP_MIRROR_REPEAT 0x8370 // GL_MIRRORED_REPEAT
#define RL_TEXTURE_WRAP_MIRROR_CLAMP 0x8742 // GL_MIRROR_CLAMP_EXT
// Matrix modes (equivalent to OpenGL)
#define RL_MODELVIEW 0x1700 // GL_MODELVIEW
#define RL_PROJECTION 0x1701 // GL_PROJECTION
#define RL_TEXTURE 0x1702 // GL_TEXTURE
// Primitive assembly draw modes
#define RL_LINES 0x0001 // GL_LINES
#define RL_TRIANGLES 0x0004 // GL_TRIANGLES
#define RL_QUADS 0x0007 // GL_QUADS
// GL equivalent data types
#define RL_UNSIGNED_BYTE 0x1401 // GL_UNSIGNED_BYTE
#define RL_FLOAT 0x1406 // GL_FLOAT
// GL buffer usage hint
#define RL_STREAM_DRAW 0x88E0 // GL_STREAM_DRAW
#define RL_STREAM_READ 0x88E1 // GL_STREAM_READ
#define RL_STREAM_COPY 0x88E2 // GL_STREAM_COPY
#define RL_STATIC_DRAW 0x88E4 // GL_STATIC_DRAW
#define RL_STATIC_READ 0x88E5 // GL_STATIC_READ
#define RL_STATIC_COPY 0x88E6 // GL_STATIC_COPY
#define RL_DYNAMIC_DRAW 0x88E8 // GL_DYNAMIC_DRAW
#define RL_DYNAMIC_READ 0x88E9 // GL_DYNAMIC_READ
#define RL_DYNAMIC_COPY 0x88EA // GL_DYNAMIC_COPY
// GL Shader type
#define RL_FRAGMENT_SHADER 0x8B30 // GL_FRAGMENT_SHADER
#define RL_VERTEX_SHADER 0x8B31 // GL_VERTEX_SHADER
#define RL_COMPUTE_SHADER 0x91B9 // GL_COMPUTE_SHADER
// GL blending factors
#define RL_ZERO 0 // GL_ZERO
#define RL_ONE 1 // GL_ONE
#define RL_SRC_COLOR 0x0300 // GL_SRC_COLOR
#define RL_ONE_MINUS_SRC_COLOR 0x0301 // GL_ONE_MINUS_SRC_COLOR
#define RL_SRC_ALPHA 0x0302 // GL_SRC_ALPHA
#define RL_ONE_MINUS_SRC_ALPHA 0x0303 // GL_ONE_MINUS_SRC_ALPHA
#define RL_DST_ALPHA 0x0304 // GL_DST_ALPHA
#define RL_ONE_MINUS_DST_ALPHA 0x0305 // GL_ONE_MINUS_DST_ALPHA
#define RL_DST_COLOR 0x0306 // GL_DST_COLOR
#define RL_ONE_MINUS_DST_COLOR 0x0307 // GL_ONE_MINUS_DST_COLOR
#define RL_SRC_ALPHA_SATURATE 0x0308 // GL_SRC_ALPHA_SATURATE
#define RL_CONSTANT_COLOR 0x8001 // GL_CONSTANT_COLOR
#define RL_ONE_MINUS_CONSTANT_COLOR 0x8002 // GL_ONE_MINUS_CONSTANT_COLOR
#define RL_CONSTANT_ALPHA 0x8003 // GL_CONSTANT_ALPHA
#define RL_ONE_MINUS_CONSTANT_ALPHA 0x8004 // GL_ONE_MINUS_CONSTANT_ALPHA
// GL blending functions/equations
#define RL_FUNC_ADD 0x8006 // GL_FUNC_ADD
#define RL_MIN 0x8007 // GL_MIN
#define RL_MAX 0x8008 // GL_MAX
#define RL_FUNC_SUBTRACT 0x800A // GL_FUNC_SUBTRACT
#define RL_FUNC_REVERSE_SUBTRACT 0x800B // GL_FUNC_REVERSE_SUBTRACT
#define RL_BLEND_EQUATION 0x8009 // GL_BLEND_EQUATION
#define RL_BLEND_EQUATION_RGB 0x8009 // GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
#define RL_BLEND_EQUATION_ALPHA 0x883D // GL_BLEND_EQUATION_ALPHA
#define RL_BLEND_DST_RGB 0x80C8 // GL_BLEND_DST_RGB
#define RL_BLEND_SRC_RGB 0x80C9 // GL_BLEND_SRC_RGB
#define RL_BLEND_DST_ALPHA 0x80CA // GL_BLEND_DST_ALPHA
#define RL_BLEND_SRC_ALPHA 0x80CB // GL_BLEND_SRC_ALPHA
#define RL_BLEND_COLOR 0x8005 // GL_BLEND_COLOR
#define RL_READ_FRAMEBUFFER 0x8CA8 // GL_READ_FRAMEBUFFER
#define RL_DRAW_FRAMEBUFFER 0x8CA9 // GL_DRAW_FRAMEBUFFER
// Default shader vertex attribute locations
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION 0
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD 1
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL 2
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR 3
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT 4
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 5
#endif
//----------------------------------------------------------------------------------
// Types and Structures Definition
//----------------------------------------------------------------------------------
#if (defined(__STDC__) && __STDC_VERSION__ >= 199901L) || (defined(_MSC_VER) && _MSC_VER >= 1800)
#include <stdbool.h>
#elif !defined(__cplusplus) && !defined(bool) && !defined(RL_BOOL_TYPE)
// Boolean type
typedef enum bool { false = 0, true = !false } bool;
#endif
#if !defined(RL_MATRIX_TYPE)
// Matrix, 4x4 components, column major, OpenGL style, right handed
typedef struct Matrix {
float m0, m4, m8, m12; // Matrix first row (4 components)
float m1, m5, m9, m13; // Matrix second row (4 components)
float m2, m6, m10, m14; // Matrix third row (4 components)
float m3, m7, m11, m15; // Matrix fourth row (4 components)
} Matrix;
#define RL_MATRIX_TYPE
#endif
// Dynamic vertex buffers (position + texcoords + colors + indices arrays)
typedef struct rlVertexBuffer {
int elementCount; // Number of elements in the buffer (QUADS)
float *vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0)
float *texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)
float *normals; // Vertex normal (XYZ - 3 components per vertex) (shader-location = 2)
unsigned char *colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33)
unsigned int *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad)
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
unsigned short *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad)
#endif
unsigned int vaoId; // OpenGL Vertex Array Object id
unsigned int vboId[5]; // OpenGL Vertex Buffer Objects id (5 types of vertex data)
} rlVertexBuffer;
// Draw call type
// NOTE: Only texture changes register a new draw, other state-change-related elements are not
// used at this moment (vaoId, shaderId, matrices), raylib just forces a batch draw call if any
// of those state-change happens (this is done in core module)
typedef struct rlDrawCall {
int mode; // Drawing mode: LINES, TRIANGLES, QUADS
int vertexCount; // Number of vertex of the draw
int vertexAlignment; // Number of vertex required for index alignment (LINES, TRIANGLES)
//unsigned int vaoId; // Vertex array id to be used on the draw -> Using RLGL.currentBatch->vertexBuffer.vaoId
//unsigned int shaderId; // Shader id to be used on the draw -> Using RLGL.currentShaderId
unsigned int textureId; // Texture id to be used on the draw -> Use to create new draw call if changes
//Matrix projection; // Projection matrix for this draw -> Using RLGL.projection by default
//Matrix modelview; // Modelview matrix for this draw -> Using RLGL.modelview by default
} rlDrawCall;
// rlRenderBatch type
typedef struct rlRenderBatch {
int bufferCount; // Number of vertex buffers (multi-buffering support)
int currentBuffer; // Current buffer tracking in case of multi-buffering
rlVertexBuffer *vertexBuffer; // Dynamic buffer(s) for vertex data
rlDrawCall *draws; // Draw calls array, depends on textureId
int drawCounter; // Draw calls counter
float currentDepth; // Current depth value for next draw
} rlRenderBatch;
// OpenGL version
typedef enum {
RL_OPENGL_11 = 1, // OpenGL 1.1
RL_OPENGL_21, // OpenGL 2.1 (GLSL 120)
RL_OPENGL_33, // OpenGL 3.3 (GLSL 330)
RL_OPENGL_43, // OpenGL 4.3 (using GLSL 330)
RL_OPENGL_ES_20, // OpenGL ES 2.0 (GLSL 100)
RL_OPENGL_ES_30 // OpenGL ES 3.0 (GLSL 300 es)
} rlGlVersion;
// Trace log level
// NOTE: Organized by priority level
typedef enum {
RL_LOG_ALL = 0, // Display all logs
RL_LOG_TRACE, // Trace logging, intended for internal use only
RL_LOG_DEBUG, // Debug logging, used for internal debugging, it should be disabled on release builds
RL_LOG_INFO, // Info logging, used for program execution info
RL_LOG_WARNING, // Warning logging, used on recoverable failures
RL_LOG_ERROR, // Error logging, used on unrecoverable failures
RL_LOG_FATAL, // Fatal logging, used to abort program: exit(EXIT_FAILURE)
RL_LOG_NONE // Disable logging
} rlTraceLogLevel;
// Texture pixel formats
// NOTE: Support depends on OpenGL version
typedef enum {
RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha)
RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, // 8*2 bpp (2 channels)
RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5, // 16 bpp
RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8, // 24 bpp
RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha)
RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha)
RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, // 32 bpp
RL_PIXELFORMAT_UNCOMPRESSED_R32, // 32 bpp (1 channel - float)
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float)
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float)
RL_PIXELFORMAT_UNCOMPRESSED_R16, // 16 bpp (1 channel - half float)
RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16, // 16*3 bpp (3 channels - half float)
RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, // 16*4 bpp (4 channels - half float)
RL_PIXELFORMAT_COMPRESSED_DXT1_RGB, // 4 bpp (no alpha)
RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha)
RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA, // 8 bpp
RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA, // 8 bpp
RL_PIXELFORMAT_COMPRESSED_ETC1_RGB, // 4 bpp
RL_PIXELFORMAT_COMPRESSED_ETC2_RGB, // 4 bpp
RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, // 8 bpp
RL_PIXELFORMAT_COMPRESSED_PVRT_RGB, // 4 bpp
RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA, // 4 bpp
RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, // 8 bpp
RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA // 2 bpp
} rlPixelFormat;
// Texture parameters: filter mode
// NOTE 1: Filtering considers mipmaps if available in the texture
// NOTE 2: Filter is accordingly set for minification and magnification
typedef enum {
RL_TEXTURE_FILTER_POINT = 0, // No filter, just pixel approximation
RL_TEXTURE_FILTER_BILINEAR, // Linear filtering
RL_TEXTURE_FILTER_TRILINEAR, // Trilinear filtering (linear with mipmaps)
RL_TEXTURE_FILTER_ANISOTROPIC_4X, // Anisotropic filtering 4x
RL_TEXTURE_FILTER_ANISOTROPIC_8X, // Anisotropic filtering 8x
RL_TEXTURE_FILTER_ANISOTROPIC_16X, // Anisotropic filtering 16x
} rlTextureFilter;
// Color blending modes (pre-defined)
typedef enum {
RL_BLEND_ALPHA = 0, // Blend textures considering alpha (default)
RL_BLEND_ADDITIVE, // Blend textures adding colors
RL_BLEND_MULTIPLIED, // Blend textures multiplying colors
RL_BLEND_ADD_COLORS, // Blend textures adding colors (alternative)
RL_BLEND_SUBTRACT_COLORS, // Blend textures subtracting colors (alternative)
RL_BLEND_ALPHA_PREMULTIPLY, // Blend premultiplied textures considering alpha
RL_BLEND_CUSTOM, // Blend textures using custom src/dst factors (use rlSetBlendFactors())
RL_BLEND_CUSTOM_SEPARATE // Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())
} rlBlendMode;
// Shader location point type
typedef enum {
RL_SHADER_LOC_VERTEX_POSITION = 0, // Shader location: vertex attribute: position
RL_SHADER_LOC_VERTEX_TEXCOORD01, // Shader location: vertex attribute: texcoord01
RL_SHADER_LOC_VERTEX_TEXCOORD02, // Shader location: vertex attribute: texcoord02
RL_SHADER_LOC_VERTEX_NORMAL, // Shader location: vertex attribute: normal
RL_SHADER_LOC_VERTEX_TANGENT, // Shader location: vertex attribute: tangent
RL_SHADER_LOC_VERTEX_COLOR, // Shader location: vertex attribute: color
RL_SHADER_LOC_MATRIX_MVP, // Shader location: matrix uniform: model-view-projection
RL_SHADER_LOC_MATRIX_VIEW, // Shader location: matrix uniform: view (camera transform)
RL_SHADER_LOC_MATRIX_PROJECTION, // Shader location: matrix uniform: projection
RL_SHADER_LOC_MATRIX_MODEL, // Shader location: matrix uniform: model (transform)
RL_SHADER_LOC_MATRIX_NORMAL, // Shader location: matrix uniform: normal
RL_SHADER_LOC_VECTOR_VIEW, // Shader location: vector uniform: view
RL_SHADER_LOC_COLOR_DIFFUSE, // Shader location: vector uniform: diffuse color
RL_SHADER_LOC_COLOR_SPECULAR, // Shader location: vector uniform: specular color
RL_SHADER_LOC_COLOR_AMBIENT, // Shader location: vector uniform: ambient color
RL_SHADER_LOC_MAP_ALBEDO, // Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE)
RL_SHADER_LOC_MAP_METALNESS, // Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)
RL_SHADER_LOC_MAP_NORMAL, // Shader location: sampler2d texture: normal
RL_SHADER_LOC_MAP_ROUGHNESS, // Shader location: sampler2d texture: roughness
RL_SHADER_LOC_MAP_OCCLUSION, // Shader location: sampler2d texture: occlusion
RL_SHADER_LOC_MAP_EMISSION, // Shader location: sampler2d texture: emission
RL_SHADER_LOC_MAP_HEIGHT, // Shader location: sampler2d texture: height
RL_SHADER_LOC_MAP_CUBEMAP, // Shader location: samplerCube texture: cubemap
RL_SHADER_LOC_MAP_IRRADIANCE, // Shader location: samplerCube texture: irradiance
RL_SHADER_LOC_MAP_PREFILTER, // Shader location: samplerCube texture: prefilter
RL_SHADER_LOC_MAP_BRDF // Shader location: sampler2d texture: brdf
} rlShaderLocationIndex;
#define RL_SHADER_LOC_MAP_DIFFUSE RL_SHADER_LOC_MAP_ALBEDO
#define RL_SHADER_LOC_MAP_SPECULAR RL_SHADER_LOC_MAP_METALNESS
// Shader uniform data type
typedef enum {
RL_SHADER_UNIFORM_FLOAT = 0, // Shader uniform type: float
RL_SHADER_UNIFORM_VEC2, // Shader uniform type: vec2 (2 float)
RL_SHADER_UNIFORM_VEC3, // Shader uniform type: vec3 (3 float)
RL_SHADER_UNIFORM_VEC4, // Shader uniform type: vec4 (4 float)
RL_SHADER_UNIFORM_INT, // Shader uniform type: int
RL_SHADER_UNIFORM_IVEC2, // Shader uniform type: ivec2 (2 int)
RL_SHADER_UNIFORM_IVEC3, // Shader uniform type: ivec3 (3 int)
RL_SHADER_UNIFORM_IVEC4, // Shader uniform type: ivec4 (4 int)
RL_SHADER_UNIFORM_SAMPLER2D // Shader uniform type: sampler2d
} rlShaderUniformDataType;
// Shader attribute data types
typedef enum {
RL_SHADER_ATTRIB_FLOAT = 0, // Shader attribute type: float
RL_SHADER_ATTRIB_VEC2, // Shader attribute type: vec2 (2 float)
RL_SHADER_ATTRIB_VEC3, // Shader attribute type: vec3 (3 float)
RL_SHADER_ATTRIB_VEC4 // Shader attribute type: vec4 (4 float)
} rlShaderAttributeDataType;
// Framebuffer attachment type
// NOTE: By default up to 8 color channels defined, but it can be more
typedef enum {
RL_ATTACHMENT_COLOR_CHANNEL0 = 0, // Framebuffer attachment type: color 0
RL_ATTACHMENT_COLOR_CHANNEL1 = 1, // Framebuffer attachment type: color 1
RL_ATTACHMENT_COLOR_CHANNEL2 = 2, // Framebuffer attachment type: color 2
RL_ATTACHMENT_COLOR_CHANNEL3 = 3, // Framebuffer attachment type: color 3
RL_ATTACHMENT_COLOR_CHANNEL4 = 4, // Framebuffer attachment type: color 4
RL_ATTACHMENT_COLOR_CHANNEL5 = 5, // Framebuffer attachment type: color 5
RL_ATTACHMENT_COLOR_CHANNEL6 = 6, // Framebuffer attachment type: color 6
RL_ATTACHMENT_COLOR_CHANNEL7 = 7, // Framebuffer attachment type: color 7
RL_ATTACHMENT_DEPTH = 100, // Framebuffer attachment type: depth
RL_ATTACHMENT_STENCIL = 200, // Framebuffer attachment type: stencil
} rlFramebufferAttachType;
// Framebuffer texture attachment type
typedef enum {
RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, // Framebuffer texture attachment type: cubemap, +X side
RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1, // Framebuffer texture attachment type: cubemap, -X side
RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2, // Framebuffer texture attachment type: cubemap, +Y side
RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3, // Framebuffer texture attachment type: cubemap, -Y side
RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4, // Framebuffer texture attachment type: cubemap, +Z side
RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5, // Framebuffer texture attachment type: cubemap, -Z side
RL_ATTACHMENT_TEXTURE2D = 100, // Framebuffer texture attachment type: texture2d
RL_ATTACHMENT_RENDERBUFFER = 200, // Framebuffer texture attachment type: renderbuffer
} rlFramebufferAttachTextureType;
// Face culling mode
typedef enum {
RL_CULL_FACE_FRONT = 0,
RL_CULL_FACE_BACK
} rlCullMode;
//------------------------------------------------------------------------------------
// Functions Declaration - Matrix operations
//------------------------------------------------------------------------------------
#if defined(__cplusplus)
extern "C" { // Prevents name mangling of functions
#endif
RLAPI void rlMatrixMode(int mode); // Choose the current matrix to be transformed
RLAPI void rlPushMatrix(void); // Push the current matrix to stack
RLAPI void rlPopMatrix(void); // Pop latest inserted matrix from stack
RLAPI void rlLoadIdentity(void); // Reset current matrix to identity matrix
RLAPI void rlTranslatef(float x, float y, float z); // Multiply the current matrix by a translation matrix
RLAPI void rlRotatef(float angle, float x, float y, float z); // Multiply the current matrix by a rotation matrix
RLAPI void rlScalef(float x, float y, float z); // Multiply the current matrix by a scaling matrix
RLAPI void rlMultMatrixf(const float *matf); // Multiply the current matrix by another matrix
RLAPI void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar);
RLAPI void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar);
RLAPI void rlViewport(int x, int y, int width, int height); // Set the viewport area
RLAPI void rlSetClipPlanes(double near, double far); // Set clip planes distances
RLAPI double rlGetCullDistanceNear(void); // Get cull plane distance near
RLAPI double rlGetCullDistanceFar(void); // Get cull plane distance far
//------------------------------------------------------------------------------------
// Functions Declaration - Vertex level operations
//------------------------------------------------------------------------------------
RLAPI void rlBegin(int mode); // Initialize drawing mode (how to organize vertex)
RLAPI void rlEnd(void); // Finish vertex providing
RLAPI void rlVertex2i(int x, int y); // Define one vertex (position) - 2 int
RLAPI void rlVertex2f(float x, float y); // Define one vertex (position) - 2 float
RLAPI void rlVertex3f(float x, float y, float z); // Define one vertex (position) - 3 float
RLAPI void rlTexCoord2f(float x, float y); // Define one vertex (texture coordinate) - 2 float
RLAPI void rlNormal3f(float x, float y, float z); // Define one vertex (normal) - 3 float
RLAPI void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a); // Define one vertex (color) - 4 byte
RLAPI void rlColor3f(float x, float y, float z); // Define one vertex (color) - 3 float
RLAPI void rlColor4f(float x, float y, float z, float w); // Define one vertex (color) - 4 float
//------------------------------------------------------------------------------------
// Functions Declaration - OpenGL style functions (common to 1.1, 3.3+, ES2)
// NOTE: This functions are used to completely abstract raylib code from OpenGL layer,
// some of them are direct wrappers over OpenGL calls, some others are custom
//------------------------------------------------------------------------------------
// Vertex buffers state
RLAPI bool rlEnableVertexArray(unsigned int vaoId); // Enable vertex array (VAO, if supported)
RLAPI void rlDisableVertexArray(void); // Disable vertex array (VAO, if supported)
RLAPI void rlEnableVertexBuffer(unsigned int id); // Enable vertex buffer (VBO)
RLAPI void rlDisableVertexBuffer(void); // Disable vertex buffer (VBO)
RLAPI void rlEnableVertexBufferElement(unsigned int id); // Enable vertex buffer element (VBO element)
RLAPI void rlDisableVertexBufferElement(void); // Disable vertex buffer element (VBO element)
RLAPI void rlEnableVertexAttribute(unsigned int index); // Enable vertex attribute index
RLAPI void rlDisableVertexAttribute(unsigned int index); // Disable vertex attribute index
#if defined(GRAPHICS_API_OPENGL_11)
RLAPI void rlEnableStatePointer(int vertexAttribType, void *buffer); // Enable attribute state pointer
RLAPI void rlDisableStatePointer(int vertexAttribType); // Disable attribute state pointer
#endif
// Textures state
RLAPI void rlActiveTextureSlot(int slot); // Select and active a texture slot
RLAPI void rlEnableTexture(unsigned int id); // Enable texture
RLAPI void rlDisableTexture(void); // Disable texture
RLAPI void rlEnableTextureCubemap(unsigned int id); // Enable texture cubemap
RLAPI void rlDisableTextureCubemap(void); // Disable texture cubemap
RLAPI void rlTextureParameters(unsigned int id, int param, int value); // Set texture parameters (filter, wrap)
RLAPI void rlCubemapParameters(unsigned int id, int param, int value); // Set cubemap parameters (filter, wrap)
// Shader state
RLAPI void rlEnableShader(unsigned int id); // Enable shader program
RLAPI void rlDisableShader(void); // Disable shader program
// Framebuffer state
RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture (fbo)
RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer
RLAPI unsigned int rlGetActiveFramebuffer(void); // Get the currently active render texture (fbo), 0 for default framebuffer
RLAPI void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers
RLAPI void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer
RLAPI void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO)
// General render state
RLAPI void rlEnableColorBlend(void); // Enable color blending
RLAPI void rlDisableColorBlend(void); // Disable color blending
RLAPI void rlEnableDepthTest(void); // Enable depth test
RLAPI void rlDisableDepthTest(void); // Disable depth test
RLAPI void rlEnableDepthMask(void); // Enable depth write
RLAPI void rlDisableDepthMask(void); // Disable depth write
RLAPI void rlEnableBackfaceCulling(void); // Enable backface culling
RLAPI void rlDisableBackfaceCulling(void); // Disable backface culling
RLAPI void rlColorMask(bool r, bool g, bool b, bool a); // Color mask control
RLAPI void rlSetCullFace(int mode); // Set face culling mode
RLAPI void rlEnableScissorTest(void); // Enable scissor test
RLAPI void rlDisableScissorTest(void); // Disable scissor test
RLAPI void rlScissor(int x, int y, int width, int height); // Scissor test
RLAPI void rlEnableWireMode(void); // Enable wire mode
RLAPI void rlEnablePointMode(void); // Enable point mode
RLAPI void rlDisableWireMode(void); // Disable wire mode ( and point ) maybe rename
RLAPI void rlSetLineWidth(float width); // Set the line drawing width
RLAPI float rlGetLineWidth(void); // Get the line drawing width
RLAPI void rlEnableSmoothLines(void); // Enable line aliasing
RLAPI void rlDisableSmoothLines(void); // Disable line aliasing
RLAPI void rlEnableStereoRender(void); // Enable stereo rendering
RLAPI void rlDisableStereoRender(void); // Disable stereo rendering
RLAPI bool rlIsStereoRenderEnabled(void); // Check if stereo render is enabled
RLAPI void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a); // Clear color buffer with color
RLAPI void rlClearScreenBuffers(void); // Clear used screen buffers (color and depth)
RLAPI void rlCheckErrors(void); // Check and log OpenGL error codes
RLAPI void rlSetBlendMode(int mode); // Set blending mode
RLAPI void rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation); // Set blending mode factor and equation (using OpenGL factors)
RLAPI void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha); // Set blending mode factors and equations separately (using OpenGL factors)
//------------------------------------------------------------------------------------
// Functions Declaration - rlgl functionality
//------------------------------------------------------------------------------------
// rlgl initialization functions
RLAPI void rlglInit(int width, int height); // Initialize rlgl (buffers, shaders, textures, states)
RLAPI void rlglClose(void); // De-initialize rlgl (buffers, shaders, textures)
RLAPI void rlLoadExtensions(void *loader); // Load OpenGL extensions (loader function required)
RLAPI int rlGetVersion(void); // Get current OpenGL version
RLAPI void rlSetFramebufferWidth(int width); // Set current framebuffer width
RLAPI int rlGetFramebufferWidth(void); // Get default framebuffer width
RLAPI void rlSetFramebufferHeight(int height); // Set current framebuffer height
RLAPI int rlGetFramebufferHeight(void); // Get default framebuffer height
RLAPI unsigned int rlGetTextureIdDefault(void); // Get default texture id
RLAPI unsigned int rlGetShaderIdDefault(void); // Get default shader id
RLAPI int *rlGetShaderLocsDefault(void); // Get default shader locations
// Render batch management
// NOTE: rlgl provides a default render batch to behave like OpenGL 1.1 immediate mode
// but this render batch API is exposed in case of custom batches are required
RLAPI rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements); // Load a render batch system
RLAPI void rlUnloadRenderBatch(rlRenderBatch batch); // Unload render batch system
RLAPI void rlDrawRenderBatch(rlRenderBatch *batch); // Draw render batch data (Update->Draw->Reset)
RLAPI void rlSetRenderBatchActive(rlRenderBatch *batch); // Set the active render batch for rlgl (NULL for default internal)
RLAPI void rlDrawRenderBatchActive(void); // Update and draw internal render batch
RLAPI bool rlCheckRenderBatchLimit(int vCount); // Check internal buffer overflow for a given number of vertex
RLAPI void rlSetTexture(unsigned int id); // Set current texture for render batch and check buffers limits
//------------------------------------------------------------------------------------------------------------------------
// Vertex buffers management
RLAPI unsigned int rlLoadVertexArray(void); // Load vertex array (vao) if supported
RLAPI unsigned int rlLoadVertexBuffer(const void *buffer, int size, bool dynamic); // Load a vertex buffer object
RLAPI unsigned int rlLoadVertexBufferElement(const void *buffer, int size, bool dynamic); // Load vertex buffer elements object
RLAPI void rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dataSize, int offset); // Update vertex buffer object data on GPU buffer
RLAPI void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset); // Update vertex buffer elements data on GPU buffer
RLAPI void rlUnloadVertexArray(unsigned int vaoId); // Unload vertex array (vao)
RLAPI void rlUnloadVertexBuffer(unsigned int vboId); // Unload vertex buffer object
RLAPI void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, int offset); // Set vertex attribute data configuration
RLAPI void rlSetVertexAttributeDivisor(unsigned int index, int divisor); // Set vertex attribute data divisor
RLAPI void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count); // Set vertex attribute default value, when attribute to provided
RLAPI void rlDrawVertexArray(int offset, int count); // Draw vertex array (currently active vao)
RLAPI void rlDrawVertexArrayElements(int offset, int count, const void *buffer); // Draw vertex array elements
RLAPI void rlDrawVertexArrayInstanced(int offset, int count, int instances); // Draw vertex array (currently active vao) with instancing
RLAPI void rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances); // Draw vertex array elements with instancing
// Textures management
RLAPI unsigned int rlLoadTexture(const void *data, int width, int height, int format, int mipmapCount); // Load texture data
RLAPI unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo)
RLAPI unsigned int rlLoadTextureCubemap(const void *data, int size, int format); // Load texture cubemap data
RLAPI void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data); // Update texture with new data on GPU
RLAPI void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType); // Get OpenGL internal formats
RLAPI const char *rlGetPixelFormatName(unsigned int format); // Get name string for pixel format
RLAPI void rlUnloadTexture(unsigned int id); // Unload texture from GPU memory
RLAPI void rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int *mipmaps); // Generate mipmap data for selected texture
RLAPI void *rlReadTexturePixels(unsigned int id, int width, int height, int format); // Read texture pixel data
RLAPI unsigned char *rlReadScreenPixels(int width, int height); // Read screen pixel data (color buffer)
// Framebuffer management (fbo)
RLAPI unsigned int rlLoadFramebuffer(void); // Load an empty framebuffer
RLAPI void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType, int mipLevel); // Attach texture/renderbuffer to a framebuffer
RLAPI bool rlFramebufferComplete(unsigned int id); // Verify framebuffer is complete
RLAPI void rlUnloadFramebuffer(unsigned int id); // Delete framebuffer from GPU
// Shaders management
RLAPI unsigned int rlLoadShaderCode(const char *vsCode, const char *fsCode); // Load shader from code strings
RLAPI unsigned int rlCompileShader(const char *shaderCode, int type); // Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
RLAPI unsigned int rlLoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId); // Load custom shader program
RLAPI void rlUnloadShaderProgram(unsigned int id); // Unload shader program
RLAPI int rlGetLocationUniform(unsigned int shaderId, const char *uniformName); // Get shader location uniform
RLAPI int rlGetLocationAttrib(unsigned int shaderId, const char *attribName); // Get shader location attribute
RLAPI void rlSetUniform(int locIndex, const void *value, int uniformType, int count); // Set shader value uniform
RLAPI void rlSetUniformMatrix(int locIndex, Matrix mat); // Set shader value matrix
RLAPI void rlSetUniformSampler(int locIndex, unsigned int textureId); // Set shader value sampler
RLAPI void rlSetShader(unsigned int id, int *locs); // Set shader currently active (id and locations)
// Compute shader management
RLAPI unsigned int rlLoadComputeShaderProgram(unsigned int shaderId); // Load compute shader program
RLAPI void rlComputeShaderDispatch(unsigned int groupX, unsigned int groupY, unsigned int groupZ); // Dispatch compute shader (equivalent to *draw* for graphics pipeline)
// Shader buffer storage object management (ssbo)
RLAPI unsigned int rlLoadShaderBuffer(unsigned int size, const void *data, int usageHint); // Load shader storage buffer object (SSBO)
RLAPI void rlUnloadShaderBuffer(unsigned int ssboId); // Unload shader storage buffer object (SSBO)
RLAPI void rlUpdateShaderBuffer(unsigned int id, const void *data, unsigned int dataSize, unsigned int offset); // Update SSBO buffer data
RLAPI void rlBindShaderBuffer(unsigned int id, unsigned int index); // Bind SSBO buffer
RLAPI void rlReadShaderBuffer(unsigned int id, void *dest, unsigned int count, unsigned int offset); // Read SSBO buffer data (GPU->CPU)
RLAPI void rlCopyShaderBuffer(unsigned int destId, unsigned int srcId, unsigned int destOffset, unsigned int srcOffset, unsigned int count); // Copy SSBO data between buffers
RLAPI unsigned int rlGetShaderBufferSize(unsigned int id); // Get SSBO buffer size
// Buffer management
RLAPI void rlBindImageTexture(unsigned int id, unsigned int index, int format, bool readonly); // Bind image texture
// Matrix state management
RLAPI Matrix rlGetMatrixModelview(void); // Get internal modelview matrix
RLAPI Matrix rlGetMatrixProjection(void); // Get internal projection matrix
RLAPI Matrix rlGetMatrixTransform(void); // Get internal accumulated transform matrix
RLAPI Matrix rlGetMatrixProjectionStereo(int eye); // Get internal projection matrix for stereo render (selected eye)
RLAPI Matrix rlGetMatrixViewOffsetStereo(int eye); // Get internal view offset matrix for stereo render (selected eye)
RLAPI void rlSetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix)
RLAPI void rlSetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix)
RLAPI void rlSetMatrixProjectionStereo(Matrix right, Matrix left); // Set eyes projection matrices for stereo rendering
RLAPI void rlSetMatrixViewOffsetStereo(Matrix right, Matrix left); // Set eyes view offsets matrices for stereo rendering
// Quick and dirty cube/quad buffers load->draw->unload
RLAPI void rlLoadDrawCube(void); // Load and draw a cube
RLAPI void rlLoadDrawQuad(void); // Load and draw a quad
#if defined(__cplusplus)
}
#endif
#endif // RLGL_H
/***********************************************************************************
*
* RLGL IMPLEMENTATION
*
************************************************************************************/
#if defined(RLGL_IMPLEMENTATION)
// Expose OpenGL functions from glad in raylib
#if defined(BUILD_LIBTYPE_SHARED)
#define GLAD_API_CALL_EXPORT
#define GLAD_API_CALL_EXPORT_BUILD
#endif
#if defined(GRAPHICS_API_OPENGL_11)
#if defined(__APPLE__)
#include <OpenGL/gl.h> // OpenGL 1.1 library for OSX
#include <OpenGL/glext.h> // OpenGL extensions library
#else
// APIENTRY for OpenGL function pointer declarations is required
#if !defined(APIENTRY)
#if defined(_WIN32)
#define APIENTRY __stdcall
#else
#define APIENTRY
#endif
#endif
// WINGDIAPI definition. Some Windows OpenGL headers need it
#if !defined(WINGDIAPI) && defined(_WIN32)
#define WINGDIAPI __declspec(dllimport)
#endif
#include <GL/gl.h> // OpenGL 1.1 library
#endif
#endif
#if defined(GRAPHICS_API_OPENGL_33)
#define GLAD_MALLOC RL_MALLOC
#define GLAD_FREE RL_FREE
#define GLAD_GL_IMPLEMENTATION
#include "external/glad.h" // GLAD extensions loading library, includes OpenGL headers
#endif
#if defined(GRAPHICS_API_OPENGL_ES3)
#include <GLES3/gl3.h> // OpenGL ES 3.0 library
#define GL_GLEXT_PROTOTYPES
#include <GLES2/gl2ext.h> // OpenGL ES 2.0 extensions library
#elif defined(GRAPHICS_API_OPENGL_ES2)
// NOTE: OpenGL ES 2.0 can be enabled on PLATFORM_DESKTOP,
// in that case, functions are loaded from a custom glad for OpenGL ES 2.0
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL)
#define GLAD_GLES2_IMPLEMENTATION
#include "external/glad_gles2.h"
#else
#define GL_GLEXT_PROTOTYPES
//#include <EGL/egl.h> // EGL library -> not required, platform layer
#include <GLES2/gl2.h> // OpenGL ES 2.0 library
#include <GLES2/gl2ext.h> // OpenGL ES 2.0 extensions library
#endif
// It seems OpenGL ES 2.0 instancing entry points are not defined on Raspberry Pi
// provided headers (despite being defined in official Khronos GLES2 headers)
#if defined(PLATFORM_DRM)
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
#endif
#endif
#include <stdlib.h> // Required for: malloc(), free()
#include <string.h> // Required for: strcmp(), strlen() [Used in rlglInit(), on extensions loading]
#include <math.h> // Required for: sqrtf(), sinf(), cosf(), floor(), log()
//----------------------------------------------------------------------------------
// Defines and Macros
//----------------------------------------------------------------------------------
#ifndef PI
#define PI 3.14159265358979323846f
#endif
#ifndef DEG2RAD
#define DEG2RAD (PI/180.0f)
#endif
#ifndef RAD2DEG
#define RAD2DEG (180.0f/PI)
#endif
#ifndef GL_SHADING_LANGUAGE_VERSION
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
#endif
#ifndef GL_COMPRESSED_RGB_S3TC_DXT1_EXT
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
#endif
#ifndef GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
#endif
#ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
#endif
#ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
#endif
#ifndef GL_ETC1_RGB8_OES
#define GL_ETC1_RGB8_OES 0x8D64
#endif
#ifndef GL_COMPRESSED_RGB8_ETC2
#define GL_COMPRESSED_RGB8_ETC2 0x9274
#endif
#ifndef GL_COMPRESSED_RGBA8_ETC2_EAC
#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
#endif
#ifndef GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG
#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
#endif
#ifndef GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
#endif
#ifndef GL_COMPRESSED_RGBA_ASTC_4x4_KHR
#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93b0
#endif
#ifndef GL_COMPRESSED_RGBA_ASTC_8x8_KHR
#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93b7
#endif
#ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
#endif
#ifndef GL_TEXTURE_MAX_ANISOTROPY_EXT
#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
#endif
#ifndef GL_PROGRAM_POINT_SIZE
#define GL_PROGRAM_POINT_SIZE 0x8642
#endif
#ifndef GL_LINE_WIDTH
#define GL_LINE_WIDTH 0x0B21
#endif
#if defined(GRAPHICS_API_OPENGL_11)
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#endif
#if defined(GRAPHICS_API_OPENGL_21)
#define GL_LUMINANCE 0x1909
#define GL_LUMINANCE_ALPHA 0x190A
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
#define glClearDepth glClearDepthf
#if !defined(GRAPHICS_API_OPENGL_ES3)
#define GL_READ_FRAMEBUFFER GL_FRAMEBUFFER
#define GL_DRAW_FRAMEBUFFER GL_FRAMEBUFFER
#endif
#endif
// Default shader vertex attribute names to set location points
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION
#define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD
#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL
#define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR
#define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT
#define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT
#endif
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2
#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2
#endif
#ifndef RL_DEFAULT_SHADER_UNIFORM_NAME_MVP
#define RL_DEFAULT_SHADER_UNIFORM_NAME_MVP "mvp" // model-view-projection matrix
#endif
#ifndef RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW
#define RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW "matView" // view matrix
#endif
#ifndef RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION
#define RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION "matProjection" // projection matrix
#endif
#ifndef RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL
#define RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL "matModel" // model matrix
#endif
#ifndef RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL
#define RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL "matNormal" // normal matrix (transpose(inverse(matModelView))
#endif
#ifndef RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR
#define RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR "colDiffuse" // color diffuse (base tint color, multiplied by texture color)
#endif
#ifndef RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0
#define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0 "texture0" // texture0 (texture slot active 0)
#endif
#ifndef RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1
#define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1 "texture1" // texture1 (texture slot active 1)
#endif
#ifndef RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE2
#define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE2 "texture2" // texture2 (texture slot active 2)
#endif
//----------------------------------------------------------------------------------
// Types and Structures Definition
//----------------------------------------------------------------------------------
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
typedef struct rlglData {
rlRenderBatch *currentBatch; // Current render batch
rlRenderBatch defaultBatch; // Default internal render batch
struct {
int vertexCounter; // Current active render batch vertex counter (generic, used for all batches)
float texcoordx, texcoordy; // Current active texture coordinate (added on glVertex*())
float normalx, normaly, normalz; // Current active normal (added on glVertex*())
unsigned char colorr, colorg, colorb, colora; // Current active color (added on glVertex*())
int currentMatrixMode; // Current matrix mode
Matrix *currentMatrix; // Current matrix pointer
Matrix modelview; // Default modelview matrix
Matrix projection; // Default projection matrix
Matrix transform; // Transform matrix to be used with rlTranslate, rlRotate, rlScale
bool transformRequired; // Require transform matrix application to current draw-call vertex (if required)
Matrix stack[RL_MAX_MATRIX_STACK_SIZE];// Matrix stack for push/pop
int stackCounter; // Matrix stack counter
unsigned int defaultTextureId; // Default texture used on shapes/poly drawing (required by shader)
unsigned int activeTextureId[RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS]; // Active texture ids to be enabled on batch drawing (0 active by default)
unsigned int defaultVShaderId; // Default vertex shader id (used by default shader program)
unsigned int defaultFShaderId; // Default fragment shader id (used by default shader program)
unsigned int defaultShaderId; // Default shader program id, supports vertex color and diffuse texture
int *defaultShaderLocs; // Default shader locations pointer to be used on rendering
unsigned int currentShaderId; // Current shader id to be used on rendering (by default, defaultShaderId)
int *currentShaderLocs; // Current shader locations pointer to be used on rendering (by default, defaultShaderLocs)
bool stereoRender; // Stereo rendering flag
Matrix projectionStereo[2]; // VR stereo rendering eyes projection matrices
Matrix viewOffsetStereo[2]; // VR stereo rendering eyes view offset matrices
// Blending variables
int currentBlendMode; // Blending mode active
int glBlendSrcFactor; // Blending source factor
int glBlendDstFactor; // Blending destination factor
int glBlendEquation; // Blending equation
int glBlendSrcFactorRGB; // Blending source RGB factor
int glBlendDestFactorRGB; // Blending destination RGB factor
int glBlendSrcFactorAlpha; // Blending source alpha factor
int glBlendDestFactorAlpha; // Blending destination alpha factor
int glBlendEquationRGB; // Blending equation for RGB
int glBlendEquationAlpha; // Blending equation for alpha
bool glCustomBlendModeModified; // Custom blending factor and equation modification status
int framebufferWidth; // Current framebuffer width
int framebufferHeight; // Current framebuffer height
} State; // Renderer state
struct {
bool vao; // VAO support (OpenGL ES2 could not support VAO extension) (GL_ARB_vertex_array_object)
bool instancing; // Instancing supported (GL_ANGLE_instanced_arrays, GL_EXT_draw_instanced + GL_EXT_instanced_arrays)
bool texNPOT; // NPOT textures full support (GL_ARB_texture_non_power_of_two, GL_OES_texture_npot)
bool texDepth; // Depth textures supported (GL_ARB_depth_texture, GL_OES_depth_texture)
bool texDepthWebGL; // Depth textures supported WebGL specific (GL_WEBGL_depth_texture)
bool texFloat32; // float textures support (32 bit per channel) (GL_OES_texture_float)
bool texFloat16; // half float textures support (16 bit per channel) (GL_OES_texture_half_float)
bool texCompDXT; // DDS texture compression support (GL_EXT_texture_compression_s3tc, GL_WEBGL_compressed_texture_s3tc, GL_WEBKIT_WEBGL_compressed_texture_s3tc)
bool texCompETC1; // ETC1 texture compression support (GL_OES_compressed_ETC1_RGB8_texture, GL_WEBGL_compressed_texture_etc1)
bool texCompETC2; // ETC2/EAC texture compression support (GL_ARB_ES3_compatibility)
bool texCompPVRT; // PVR texture compression support (GL_IMG_texture_compression_pvrtc)
bool texCompASTC; // ASTC texture compression support (GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr)
bool texMirrorClamp; // Clamp mirror wrap mode supported (GL_EXT_texture_mirror_clamp)
bool texAnisoFilter; // Anisotropic texture filtering support (GL_EXT_texture_filter_anisotropic)
bool computeShader; // Compute shaders support (GL_ARB_compute_shader)
bool ssbo; // Shader storage buffer object support (GL_ARB_shader_storage_buffer_object)
float maxAnisotropyLevel; // Maximum anisotropy level supported (minimum is 2.0f)
int maxDepthBits; // Maximum bits for depth component
} ExtSupported; // Extensions supported flags
} rlglData;
typedef void *(*rlglLoadProc)(const char *name); // OpenGL extension functions loader signature (same as GLADloadproc)
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
//----------------------------------------------------------------------------------
// Global Variables Definition
//----------------------------------------------------------------------------------
static double rlCullDistanceNear = RL_CULL_DISTANCE_NEAR;
static double rlCullDistanceFar = RL_CULL_DISTANCE_FAR;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
static rlglData RLGL = { 0 };
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
#if defined(GRAPHICS_API_OPENGL_ES2) && !defined(GRAPHICS_API_OPENGL_ES3)
// NOTE: VAO functionality is exposed through extensions (OES)
static PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays = NULL;
static PFNGLBINDVERTEXARRAYOESPROC glBindVertexArray = NULL;
static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays = NULL;
// NOTE: Instancing functionality could also be available through extension
static PFNGLDRAWARRAYSINSTANCEDEXTPROC glDrawArraysInstanced = NULL;
static PFNGLDRAWELEMENTSINSTANCEDEXTPROC glDrawElementsInstanced = NULL;
static PFNGLVERTEXATTRIBDIVISOREXTPROC glVertexAttribDivisor = NULL;
#endif
//----------------------------------------------------------------------------------
// Module specific Functions Declaration
//----------------------------------------------------------------------------------
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
static void rlLoadShaderDefault(void); // Load default shader
static void rlUnloadShaderDefault(void); // Unload default shader
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
static const char *rlGetCompressedFormatName(int format); // Get compressed format official GL identifier name
#endif // RLGL_SHOW_GL_DETAILS_INFO
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
static int rlGetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes (image or texture)
// Auxiliar matrix math functions
typedef struct rl_float16 {
float v[16];
} rl_float16;
static rl_float16 rlMatrixToFloatV(Matrix mat); // Get float array of matrix data
#define rlMatrixToFloat(mat) (rlMatrixToFloatV(mat).v) // Get float vector for Matrix
static Matrix rlMatrixIdentity(void); // Get identity matrix
static Matrix rlMatrixMultiply(Matrix left, Matrix right); // Multiply two matrices
static Matrix rlMatrixTranspose(Matrix mat); // Transposes provided matrix
static Matrix rlMatrixInvert(Matrix mat); // Invert provided matrix
//----------------------------------------------------------------------------------
// Module Functions Definition - Matrix operations
//----------------------------------------------------------------------------------
#if defined(GRAPHICS_API_OPENGL_11)
// Fallback to OpenGL 1.1 function calls
//---------------------------------------
void rlMatrixMode(int mode)
{
switch (mode)
{
case RL_PROJECTION: glMatrixMode(GL_PROJECTION); break;
case RL_MODELVIEW: glMatrixMode(GL_MODELVIEW); break;
case RL_TEXTURE: glMatrixMode(GL_TEXTURE); break;
default: break;
}
}
void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar)
{
glFrustum(left, right, bottom, top, znear, zfar);
}
void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar)
{
glOrtho(left, right, bottom, top, znear, zfar);
}
void rlPushMatrix(void) { glPushMatrix(); }
void rlPopMatrix(void) { glPopMatrix(); }
void rlLoadIdentity(void) { glLoadIdentity(); }
void rlTranslatef(float x, float y, float z) { glTranslatef(x, y, z); }
void rlRotatef(float angle, float x, float y, float z) { glRotatef(angle, x, y, z); }
void rlScalef(float x, float y, float z) { glScalef(x, y, z); }
void rlMultMatrixf(const float *matf) { glMultMatrixf(matf); }
#endif
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Choose the current matrix to be transformed
void rlMatrixMode(int mode)
{
if (mode == RL_PROJECTION) RLGL.State.currentMatrix = &RLGL.State.projection;
else if (mode == RL_MODELVIEW) RLGL.State.currentMatrix = &RLGL.State.modelview;
//else if (mode == RL_TEXTURE) // Not supported
RLGL.State.currentMatrixMode = mode;
}
// Push the current matrix into RLGL.State.stack
void rlPushMatrix(void)
{
if (RLGL.State.stackCounter >= RL_MAX_MATRIX_STACK_SIZE) TRACELOG(RL_LOG_ERROR, "RLGL: Matrix stack overflow (RL_MAX_MATRIX_STACK_SIZE)");
if (RLGL.State.currentMatrixMode == RL_MODELVIEW)
{
RLGL.State.transformRequired = true;
RLGL.State.currentMatrix = &RLGL.State.transform;
}
RLGL.State.stack[RLGL.State.stackCounter] = *RLGL.State.currentMatrix;
RLGL.State.stackCounter++;
}
// Pop lattest inserted matrix from RLGL.State.stack
void rlPopMatrix(void)
{
if (RLGL.State.stackCounter > 0)
{
Matrix mat = RLGL.State.stack[RLGL.State.stackCounter - 1];
*RLGL.State.currentMatrix = mat;
RLGL.State.stackCounter--;
}
if ((RLGL.State.stackCounter == 0) && (RLGL.State.currentMatrixMode == RL_MODELVIEW))
{
RLGL.State.currentMatrix = &RLGL.State.modelview;
RLGL.State.transformRequired = false;
}
}
// Reset current matrix to identity matrix
void rlLoadIdentity(void)
{
*RLGL.State.currentMatrix = rlMatrixIdentity();
}
// Multiply the current matrix by a translation matrix
void rlTranslatef(float x, float y, float z)
{
Matrix matTranslation = {
1.0f, 0.0f, 0.0f, x,
0.0f, 1.0f, 0.0f, y,
0.0f, 0.0f, 1.0f, z,
0.0f, 0.0f, 0.0f, 1.0f
};
// NOTE: We transpose matrix with multiplication order
*RLGL.State.currentMatrix = rlMatrixMultiply(matTranslation, *RLGL.State.currentMatrix);
}
// Multiply the current matrix by a rotation matrix
// NOTE: The provided angle must be in degrees
void rlRotatef(float angle, float x, float y, float z)
{
Matrix matRotation = rlMatrixIdentity();
// Axis vector (x, y, z) normalization
float lengthSquared = x*x + y*y + z*z;
if ((lengthSquared != 1.0f) && (lengthSquared != 0.0f))
{
float inverseLength = 1.0f/sqrtf(lengthSquared);
x *= inverseLength;
y *= inverseLength;
z *= inverseLength;
}
// Rotation matrix generation
float sinres = sinf(DEG2RAD*angle);
float cosres = cosf(DEG2RAD*angle);
float t = 1.0f - cosres;
matRotation.m0 = x*x*t + cosres;
matRotation.m1 = y*x*t + z*sinres;
matRotation.m2 = z*x*t - y*sinres;
matRotation.m3 = 0.0f;
matRotation.m4 = x*y*t - z*sinres;
matRotation.m5 = y*y*t + cosres;
matRotation.m6 = z*y*t + x*sinres;
matRotation.m7 = 0.0f;
matRotation.m8 = x*z*t + y*sinres;
matRotation.m9 = y*z*t - x*sinres;
matRotation.m10 = z*z*t + cosres;
matRotation.m11 = 0.0f;
matRotation.m12 = 0.0f;
matRotation.m13 = 0.0f;
matRotation.m14 = 0.0f;
matRotation.m15 = 1.0f;
// NOTE: We transpose matrix with multiplication order
*RLGL.State.currentMatrix = rlMatrixMultiply(matRotation, *RLGL.State.currentMatrix);
}
// Multiply the current matrix by a scaling matrix
void rlScalef(float x, float y, float z)
{
Matrix matScale = {
x, 0.0f, 0.0f, 0.0f,
0.0f, y, 0.0f, 0.0f,
0.0f, 0.0f, z, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f
};
// NOTE: We transpose matrix with multiplication order
*RLGL.State.currentMatrix = rlMatrixMultiply(matScale, *RLGL.State.currentMatrix);
}
// Multiply the current matrix by another matrix
void rlMultMatrixf(const float *matf)
{
// Matrix creation from array
Matrix mat = { matf[0], matf[4], matf[8], matf[12],
matf[1], matf[5], matf[9], matf[13],
matf[2], matf[6], matf[10], matf[14],
matf[3], matf[7], matf[11], matf[15] };
*RLGL.State.currentMatrix = rlMatrixMultiply(mat, *RLGL.State.currentMatrix);
}
// Multiply the current matrix by a perspective matrix generated by parameters
void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar)
{
Matrix matFrustum = { 0 };
float rl = (float)(right - left);
float tb = (float)(top - bottom);
float fn = (float)(zfar - znear);
matFrustum.m0 = ((float) znear*2.0f)/rl;
matFrustum.m1 = 0.0f;
matFrustum.m2 = 0.0f;
matFrustum.m3 = 0.0f;
matFrustum.m4 = 0.0f;
matFrustum.m5 = ((float) znear*2.0f)/tb;
matFrustum.m6 = 0.0f;
matFrustum.m7 = 0.0f;
matFrustum.m8 = ((float)right + (float)left)/rl;
matFrustum.m9 = ((float)top + (float)bottom)/tb;
matFrustum.m10 = -((float)zfar + (float)znear)/fn;
matFrustum.m11 = -1.0f;
matFrustum.m12 = 0.0f;
matFrustum.m13 = 0.0f;
matFrustum.m14 = -((float)zfar*(float)znear*2.0f)/fn;
matFrustum.m15 = 0.0f;
*RLGL.State.currentMatrix = rlMatrixMultiply(*RLGL.State.currentMatrix, matFrustum);
}
// Multiply the current matrix by an orthographic matrix generated by parameters
void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar)
{
// NOTE: If left-right and top-botton values are equal it could create a division by zero,
// response to it is platform/compiler dependant
Matrix matOrtho = { 0 };
float rl = (float)(right - left);
float tb = (float)(top - bottom);
float fn = (float)(zfar - znear);
matOrtho.m0 = 2.0f/rl;
matOrtho.m1 = 0.0f;
matOrtho.m2 = 0.0f;
matOrtho.m3 = 0.0f;
matOrtho.m4 = 0.0f;
matOrtho.m5 = 2.0f/tb;
matOrtho.m6 = 0.0f;
matOrtho.m7 = 0.0f;
matOrtho.m8 = 0.0f;
matOrtho.m9 = 0.0f;
matOrtho.m10 = -2.0f/fn;
matOrtho.m11 = 0.0f;
matOrtho.m12 = -((float)left + (float)right)/rl;
matOrtho.m13 = -((float)top + (float)bottom)/tb;
matOrtho.m14 = -((float)zfar + (float)znear)/fn;
matOrtho.m15 = 1.0f;
*RLGL.State.currentMatrix = rlMatrixMultiply(*RLGL.State.currentMatrix, matOrtho);
}
#endif
// Set the viewport area (transformation from normalized device coordinates to window coordinates)
// NOTE: We store current viewport dimensions
void rlViewport(int x, int y, int width, int height)
{
glViewport(x, y, width, height);
}
// Set clip planes distances
void rlSetClipPlanes(double near, double far)
{
rlCullDistanceNear = near;
rlCullDistanceFar = far;
}
// Get cull plane distance near
double rlGetCullDistanceNear(void)
{
return rlCullDistanceNear;
}
// Get cull plane distance far
double rlGetCullDistanceFar(void)
{
return rlCullDistanceFar;
}
//----------------------------------------------------------------------------------
// Module Functions Definition - Vertex level operations
//----------------------------------------------------------------------------------
#if defined(GRAPHICS_API_OPENGL_11)
// Fallback to OpenGL 1.1 function calls
//---------------------------------------
void rlBegin(int mode)
{
switch (mode)
{
case RL_LINES: glBegin(GL_LINES); break;
case RL_TRIANGLES: glBegin(GL_TRIANGLES); break;
case RL_QUADS: glBegin(GL_QUADS); break;
default: break;
}
}
void rlEnd() { glEnd(); }
void rlVertex2i(int x, int y) { glVertex2i(x, y); }
void rlVertex2f(float x, float y) { glVertex2f(x, y); }
void rlVertex3f(float x, float y, float z) { glVertex3f(x, y, z); }
void rlTexCoord2f(float x, float y) { glTexCoord2f(x, y); }
void rlNormal3f(float x, float y, float z) { glNormal3f(x, y, z); }
void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { glColor4ub(r, g, b, a); }
void rlColor3f(float x, float y, float z) { glColor3f(x, y, z); }
void rlColor4f(float x, float y, float z, float w) { glColor4f(x, y, z, w); }
#endif
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Initialize drawing mode (how to organize vertex)
void rlBegin(int mode)
{
// Draw mode can be RL_LINES, RL_TRIANGLES and RL_QUADS
// NOTE: In all three cases, vertex are accumulated over default internal vertex buffer
if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode != mode)
{
if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount > 0)
{
// Make sure current RLGL.currentBatch->draws[i].vertexCount is aligned a multiple of 4,
// that way, following QUADS drawing will keep aligned with index processing
// It implies adding some extra alignment vertex at the end of the draw,
// those vertex are not processed but they are considered as an additional offset
// for the next set of vertex to be drawn
if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode == RL_LINES) RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount < 4)? RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount : RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount%4);
else if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode == RL_TRIANGLES) RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount < 4)? 1 : (4 - (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount%4)));
else RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment = 0;
if (!rlCheckRenderBatchLimit(RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment))
{
RLGL.State.vertexCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment;
RLGL.currentBatch->drawCounter++;
}
}
if (RLGL.currentBatch->drawCounter >= RL_DEFAULT_BATCH_DRAWCALLS) rlDrawRenderBatch(RLGL.currentBatch);
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode = mode;
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount = 0;
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId = RLGL.State.defaultTextureId;
}
}
// Finish vertex providing
void rlEnd(void)
{
// NOTE: Depth increment is dependant on rlOrtho(): z-near and z-far values,
// as well as depth buffer bit-depth (16bit or 24bit or 32bit)
// Correct increment formula would be: depthInc = (zfar - znear)/pow(2, bits)
RLGL.currentBatch->currentDepth += (1.0f/20000.0f);
}
// Define one vertex (position)
// NOTE: Vertex position data is the basic information required for drawing
void rlVertex3f(float x, float y, float z)
{
float tx = x;
float ty = y;
float tz = z;
// Transform provided vector if required
if (RLGL.State.transformRequired)
{
tx = RLGL.State.transform.m0*x + RLGL.State.transform.m4*y + RLGL.State.transform.m8*z + RLGL.State.transform.m12;
ty = RLGL.State.transform.m1*x + RLGL.State.transform.m5*y + RLGL.State.transform.m9*z + RLGL.State.transform.m13;
tz = RLGL.State.transform.m2*x + RLGL.State.transform.m6*y + RLGL.State.transform.m10*z + RLGL.State.transform.m14;
}
// WARNING: We can't break primitives when launching a new batch.
// RL_LINES comes in pairs, RL_TRIANGLES come in groups of 3 vertices and RL_QUADS come in groups of 4 vertices.
// We must check current draw.mode when a new vertex is required and finish the batch only if the draw.mode draw.vertexCount is %2, %3 or %4
if (RLGL.State.vertexCounter > (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementCount*4 - 4))
{
if ((RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode == RL_LINES) &&
(RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount%2 == 0))
{
// Reached the maximum number of vertices for RL_LINES drawing
// Launch a draw call but keep current state for next vertices comming
// NOTE: We add +1 vertex to the check for security
rlCheckRenderBatchLimit(2 + 1);
}
else if ((RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode == RL_TRIANGLES) &&
(RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount%3 == 0))
{
rlCheckRenderBatchLimit(3 + 1);
}
else if ((RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode == RL_QUADS) &&
(RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount%4 == 0))
{
rlCheckRenderBatchLimit(4 + 1);
}
}
// Add vertices
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.State.vertexCounter] = tx;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.State.vertexCounter + 1] = ty;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.State.vertexCounter + 2] = tz;
// Add current texcoord
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.State.vertexCounter] = RLGL.State.texcoordx;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.State.vertexCounter + 1] = RLGL.State.texcoordy;
// Add current normal
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].normals[3*RLGL.State.vertexCounter] = RLGL.State.normalx;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].normals[3*RLGL.State.vertexCounter + 1] = RLGL.State.normaly;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].normals[3*RLGL.State.vertexCounter + 2] = RLGL.State.normalz;
// Add current color
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.State.vertexCounter] = RLGL.State.colorr;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.State.vertexCounter + 1] = RLGL.State.colorg;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.State.vertexCounter + 2] = RLGL.State.colorb;
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.State.vertexCounter + 3] = RLGL.State.colora;
RLGL.State.vertexCounter++;
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount++;
}
// Define one vertex (position)
void rlVertex2f(float x, float y)
{
rlVertex3f(x, y, RLGL.currentBatch->currentDepth);
}
// Define one vertex (position)
void rlVertex2i(int x, int y)
{
rlVertex3f((float)x, (float)y, RLGL.currentBatch->currentDepth);
}
// Define one vertex (texture coordinate)
// NOTE: Texture coordinates are limited to QUADS only
void rlTexCoord2f(float x, float y)
{
RLGL.State.texcoordx = x;
RLGL.State.texcoordy = y;
}
// Define one vertex (normal)
// NOTE: Normals limited to TRIANGLES only?
void rlNormal3f(float x, float y, float z)
{
float normalx = x;
float normaly = y;
float normalz = z;
if (RLGL.State.transformRequired)
{
normalx = RLGL.State.transform.m0*x + RLGL.State.transform.m4*y + RLGL.State.transform.m8*z;
normaly = RLGL.State.transform.m1*x + RLGL.State.transform.m5*y + RLGL.State.transform.m9*z;
normalz = RLGL.State.transform.m2*x + RLGL.State.transform.m6*y + RLGL.State.transform.m10*z;
}
float length = sqrtf(normalx*normalx + normaly*normaly + normalz*normalz);
if (length != 0.0f)
{
float ilength = 1.0f / length;
normalx *= ilength;
normaly *= ilength;
normalz *= ilength;
}
RLGL.State.normalx = normalx;
RLGL.State.normaly = normaly;
RLGL.State.normalz = normalz;
}
// Define one vertex (color)
void rlColor4ub(unsigned char x, unsigned char y, unsigned char z, unsigned char w)
{
RLGL.State.colorr = x;
RLGL.State.colorg = y;
RLGL.State.colorb = z;
RLGL.State.colora = w;
}
// Define one vertex (color)
void rlColor4f(float r, float g, float b, float a)
{
rlColor4ub((unsigned char)(r*255), (unsigned char)(g*255), (unsigned char)(b*255), (unsigned char)(a*255));
}
// Define one vertex (color)
void rlColor3f(float x, float y, float z)
{
rlColor4ub((unsigned char)(x*255), (unsigned char)(y*255), (unsigned char)(z*255), 255);
}
#endif
//--------------------------------------------------------------------------------------
// Module Functions Definition - OpenGL style functions (common to 1.1, 3.3+, ES2)
//--------------------------------------------------------------------------------------
// Set current texture to use
void rlSetTexture(unsigned int id)
{
if (id == 0)
{
#if defined(GRAPHICS_API_OPENGL_11)
rlDisableTexture();
#else
// NOTE: If quads batch limit is reached, we force a draw call and next batch starts
if (RLGL.State.vertexCounter >=
RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementCount*4)
{
rlDrawRenderBatch(RLGL.currentBatch);
}
#endif
}
else
{
#if defined(GRAPHICS_API_OPENGL_11)
rlEnableTexture(id);
#else
if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId != id)
{
if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount > 0)
{
// Make sure current RLGL.currentBatch->draws[i].vertexCount is aligned a multiple of 4,
// that way, following QUADS drawing will keep aligned with index processing
// It implies adding some extra alignment vertex at the end of the draw,
// those vertex are not processed but they are considered as an additional offset
// for the next set of vertex to be drawn
if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode == RL_LINES) RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount < 4)? RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount : RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount%4);
else if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode == RL_TRIANGLES) RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount < 4)? 1 : (4 - (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount%4)));
else RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment = 0;
if (!rlCheckRenderBatchLimit(RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment))
{
RLGL.State.vertexCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexAlignment;
RLGL.currentBatch->drawCounter++;
}
}
if (RLGL.currentBatch->drawCounter >= RL_DEFAULT_BATCH_DRAWCALLS) rlDrawRenderBatch(RLGL.currentBatch);
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId = id;
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount = 0;
}
#endif
}
}
// Select and active a texture slot
void rlActiveTextureSlot(int slot)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glActiveTexture(GL_TEXTURE0 + slot);
#endif
}
// Enable texture
void rlEnableTexture(unsigned int id)
{
#if defined(GRAPHICS_API_OPENGL_11)
glEnable(GL_TEXTURE_2D);
#endif
glBindTexture(GL_TEXTURE_2D, id);
}
// Disable texture
void rlDisableTexture(void)
{
#if defined(GRAPHICS_API_OPENGL_11)
glDisable(GL_TEXTURE_2D);
#endif
glBindTexture(GL_TEXTURE_2D, 0);
}
// Enable texture cubemap
void rlEnableTextureCubemap(unsigned int id)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindTexture(GL_TEXTURE_CUBE_MAP, id);
#endif
}
// Disable texture cubemap
void rlDisableTextureCubemap(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
#endif
}
// Set texture parameters (wrap mode/filter mode)
void rlTextureParameters(unsigned int id, int param, int value)
{
glBindTexture(GL_TEXTURE_2D, id);
#if !defined(GRAPHICS_API_OPENGL_11)
// Reset anisotropy filter, in case it was set
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f);
#endif
switch (param)
{
case RL_TEXTURE_WRAP_S:
case RL_TEXTURE_WRAP_T:
{
if (value == RL_TEXTURE_WRAP_MIRROR_CLAMP)
{
#if !defined(GRAPHICS_API_OPENGL_11)
if (RLGL.ExtSupported.texMirrorClamp) glTexParameteri(GL_TEXTURE_2D, param, value);
else TRACELOG(RL_LOG_WARNING, "GL: Clamp mirror wrap mode not supported (GL_MIRROR_CLAMP_EXT)");
#endif
}
else glTexParameteri(GL_TEXTURE_2D, param, value);
} break;
case RL_TEXTURE_MAG_FILTER:
case RL_TEXTURE_MIN_FILTER: glTexParameteri(GL_TEXTURE_2D, param, value); break;
case RL_TEXTURE_FILTER_ANISOTROPIC:
{
#if !defined(GRAPHICS_API_OPENGL_11)
if (value <= RLGL.ExtSupported.maxAnisotropyLevel) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value);
else if (RLGL.ExtSupported.maxAnisotropyLevel > 0.0f)
{
TRACELOG(RL_LOG_WARNING, "GL: Maximum anisotropic filter level supported is %iX", id, (int)RLGL.ExtSupported.maxAnisotropyLevel);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value);
}
else TRACELOG(RL_LOG_WARNING, "GL: Anisotropic filtering not supported");
#endif
} break;
#if defined(GRAPHICS_API_OPENGL_33)
case RL_TEXTURE_MIPMAP_BIAS_RATIO: glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_LOD_BIAS, value/100.0f);
#endif
default: break;
}
glBindTexture(GL_TEXTURE_2D, 0);
}
// Set cubemap parameters (wrap mode/filter mode)
void rlCubemapParameters(unsigned int id, int param, int value)
{
#if !defined(GRAPHICS_API_OPENGL_11)
glBindTexture(GL_TEXTURE_CUBE_MAP, id);
// Reset anisotropy filter, in case it was set
glTexParameterf(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f);
switch (param)
{
case RL_TEXTURE_WRAP_S:
case RL_TEXTURE_WRAP_T:
{
if (value == RL_TEXTURE_WRAP_MIRROR_CLAMP)
{
if (RLGL.ExtSupported.texMirrorClamp) glTexParameteri(GL_TEXTURE_CUBE_MAP, param, value);
else TRACELOG(RL_LOG_WARNING, "GL: Clamp mirror wrap mode not supported (GL_MIRROR_CLAMP_EXT)");
}
else glTexParameteri(GL_TEXTURE_CUBE_MAP, param, value);
} break;
case RL_TEXTURE_MAG_FILTER:
case RL_TEXTURE_MIN_FILTER: glTexParameteri(GL_TEXTURE_CUBE_MAP, param, value); break;
case RL_TEXTURE_FILTER_ANISOTROPIC:
{
if (value <= RLGL.ExtSupported.maxAnisotropyLevel) glTexParameterf(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value);
else if (RLGL.ExtSupported.maxAnisotropyLevel > 0.0f)
{
TRACELOG(RL_LOG_WARNING, "GL: Maximum anisotropic filter level supported is %iX", id, (int)RLGL.ExtSupported.maxAnisotropyLevel);
glTexParameterf(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value);
}
else TRACELOG(RL_LOG_WARNING, "GL: Anisotropic filtering not supported");
} break;
#if defined(GRAPHICS_API_OPENGL_33)
case RL_TEXTURE_MIPMAP_BIAS_RATIO: glTexParameterf(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_LOD_BIAS, value/100.0f);
#endif
default: break;
}
glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
#endif
}
// Enable shader program
void rlEnableShader(unsigned int id)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2))
glUseProgram(id);
#endif
}
// Disable shader program
void rlDisableShader(void)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2))
glUseProgram(0);
#endif
}
// Enable rendering to texture (fbo)
void rlEnableFramebuffer(unsigned int id)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT)
glBindFramebuffer(GL_FRAMEBUFFER, id);
#endif
}
// return the active render texture (fbo)
unsigned int rlGetActiveFramebuffer(void)
{
GLint fboId = 0;
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES3)) && defined(RLGL_RENDER_TEXTURES_HINT)
glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, &fboId);
#endif
return fboId;
}
// Disable rendering to texture
void rlDisableFramebuffer(void)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT)
glBindFramebuffer(GL_FRAMEBUFFER, 0);
#endif
}
// Blit active framebuffer to main framebuffer
void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES3)) && defined(RLGL_RENDER_TEXTURES_HINT)
glBlitFramebuffer(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask, GL_NEAREST);
#endif
}
// Bind framebuffer object (fbo)
void rlBindFramebuffer(unsigned int target, unsigned int framebuffer)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT)
glBindFramebuffer(target, framebuffer);
#endif
}
// Activate multiple draw color buffers
// NOTE: One color buffer is always active by default
void rlActiveDrawBuffers(int count)
{
#if ((defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES3)) && defined(RLGL_RENDER_TEXTURES_HINT))
// NOTE: Maximum number of draw buffers supported is implementation dependant,
// it can be queried with glGet*() but it must be at least 8
//GLint maxDrawBuffers = 0;
//glGetIntegerv(GL_MAX_DRAW_BUFFERS, &maxDrawBuffers);
if (count > 0)
{
if (count > 8) TRACELOG(LOG_WARNING, "GL: Max color buffers limited to 8");
else
{
unsigned int buffers[8] = {
#if defined(GRAPHICS_API_OPENGL_ES3)
GL_COLOR_ATTACHMENT0_EXT,
GL_COLOR_ATTACHMENT1_EXT,
GL_COLOR_ATTACHMENT2_EXT,
GL_COLOR_ATTACHMENT3_EXT,
GL_COLOR_ATTACHMENT4_EXT,
GL_COLOR_ATTACHMENT5_EXT,
GL_COLOR_ATTACHMENT6_EXT,
GL_COLOR_ATTACHMENT7_EXT,
#else
GL_COLOR_ATTACHMENT0,
GL_COLOR_ATTACHMENT1,
GL_COLOR_ATTACHMENT2,
GL_COLOR_ATTACHMENT3,
GL_COLOR_ATTACHMENT4,
GL_COLOR_ATTACHMENT5,
GL_COLOR_ATTACHMENT6,
GL_COLOR_ATTACHMENT7,
#endif
};
#if defined(GRAPHICS_API_OPENGL_ES3)
glDrawBuffersEXT(count, buffers);
#else
glDrawBuffers(count, buffers);
#endif
}
}
else TRACELOG(LOG_WARNING, "GL: One color buffer active by default");
#endif
}
//----------------------------------------------------------------------------------
// General render state configuration
//----------------------------------------------------------------------------------
// Enable color blending
void rlEnableColorBlend(void) { glEnable(GL_BLEND); }
// Disable color blending
void rlDisableColorBlend(void) { glDisable(GL_BLEND); }
// Enable depth test
void rlEnableDepthTest(void) { glEnable(GL_DEPTH_TEST); }
// Disable depth test
void rlDisableDepthTest(void) { glDisable(GL_DEPTH_TEST); }
// Enable depth write
void rlEnableDepthMask(void) { glDepthMask(GL_TRUE); }
// Disable depth write
void rlDisableDepthMask(void) { glDepthMask(GL_FALSE); }
// Enable backface culling
void rlEnableBackfaceCulling(void) { glEnable(GL_CULL_FACE); }
// Disable backface culling
void rlDisableBackfaceCulling(void) { glDisable(GL_CULL_FACE); }
// Set color mask active for screen read/draw
void rlColorMask(bool r, bool g, bool b, bool a) { glColorMask(r, g, b, a); }
// Set face culling mode
void rlSetCullFace(int mode)
{
switch (mode)
{
case RL_CULL_FACE_BACK: glCullFace(GL_BACK); break;
case RL_CULL_FACE_FRONT: glCullFace(GL_FRONT); break;
default: break;
}
}
// Enable scissor test
void rlEnableScissorTest(void) { glEnable(GL_SCISSOR_TEST); }
// Disable scissor test
void rlDisableScissorTest(void) { glDisable(GL_SCISSOR_TEST); }
// Scissor test
void rlScissor(int x, int y, int width, int height) { glScissor(x, y, width, height); }
// Enable wire mode
void rlEnableWireMode(void)
{
#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33)
// NOTE: glPolygonMode() not available on OpenGL ES
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
#endif
}
void rlEnablePointMode(void)
{
#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33)
// NOTE: glPolygonMode() not available on OpenGL ES
glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);
glEnable(GL_PROGRAM_POINT_SIZE);
#endif
}
// Disable wire mode
void rlDisableWireMode(void)
{
#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33)
// NOTE: glPolygonMode() not available on OpenGL ES
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
#endif
}
// Set the line drawing width
void rlSetLineWidth(float width) { glLineWidth(width); }
// Get the line drawing width
float rlGetLineWidth(void)
{
float width = 0;
glGetFloatv(GL_LINE_WIDTH, &width);
return width;
}
// Enable line aliasing
void rlEnableSmoothLines(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_11)
glEnable(GL_LINE_SMOOTH);
#endif
}
// Disable line aliasing
void rlDisableSmoothLines(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_11)
glDisable(GL_LINE_SMOOTH);
#endif
}
// Enable stereo rendering
void rlEnableStereoRender(void)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2))
RLGL.State.stereoRender = true;
#endif
}
// Disable stereo rendering
void rlDisableStereoRender(void)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2))
RLGL.State.stereoRender = false;
#endif
}
// Check if stereo render is enabled
bool rlIsStereoRenderEnabled(void)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2))
return RLGL.State.stereoRender;
#else
return false;
#endif
}
// Clear color buffer with color
void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
{
// Color values clamp to 0.0f(0) and 1.0f(255)
float cr = (float)r/255;
float cg = (float)g/255;
float cb = (float)b/255;
float ca = (float)a/255;
glClearColor(cr, cg, cb, ca);
}
// Clear used screen buffers (color and depth)
void rlClearScreenBuffers(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear used buffers: Color and Depth (Depth is used for 3D)
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); // Stencil buffer not used...
}
// Check and log OpenGL error codes
void rlCheckErrors(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
int check = 1;
while (check)
{
const GLenum err = glGetError();
switch (err)
{
case GL_NO_ERROR: check = 0; break;
case 0x0500: TRACELOG(RL_LOG_WARNING, "GL: Error detected: GL_INVALID_ENUM"); break;
case 0x0501: TRACELOG(RL_LOG_WARNING, "GL: Error detected: GL_INVALID_VALUE"); break;
case 0x0502: TRACELOG(RL_LOG_WARNING, "GL: Error detected: GL_INVALID_OPERATION"); break;
case 0x0503: TRACELOG(RL_LOG_WARNING, "GL: Error detected: GL_STACK_OVERFLOW"); break;
case 0x0504: TRACELOG(RL_LOG_WARNING, "GL: Error detected: GL_STACK_UNDERFLOW"); break;
case 0x0505: TRACELOG(RL_LOG_WARNING, "GL: Error detected: GL_OUT_OF_MEMORY"); break;
case 0x0506: TRACELOG(RL_LOG_WARNING, "GL: Error detected: GL_INVALID_FRAMEBUFFER_OPERATION"); break;
default: TRACELOG(RL_LOG_WARNING, "GL: Error detected: Unknown error code: %x", err); break;
}
}
#endif
}
// Set blend mode
void rlSetBlendMode(int mode)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if ((RLGL.State.currentBlendMode != mode) || ((mode == RL_BLEND_CUSTOM || mode == RL_BLEND_CUSTOM_SEPARATE) && RLGL.State.glCustomBlendModeModified))
{
rlDrawRenderBatch(RLGL.currentBatch);
switch (mode)
{
case RL_BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break;
case RL_BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); glBlendEquation(GL_FUNC_ADD); break;
case RL_BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break;
case RL_BLEND_ADD_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_ADD); break;
case RL_BLEND_SUBTRACT_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_SUBTRACT); break;
case RL_BLEND_ALPHA_PREMULTIPLY: glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break;
case RL_BLEND_CUSTOM:
{
// NOTE: Using GL blend src/dst factors and GL equation configured with rlSetBlendFactors()
glBlendFunc(RLGL.State.glBlendSrcFactor, RLGL.State.glBlendDstFactor); glBlendEquation(RLGL.State.glBlendEquation);
} break;
case RL_BLEND_CUSTOM_SEPARATE:
{
// NOTE: Using GL blend src/dst factors and GL equation configured with rlSetBlendFactorsSeparate()
glBlendFuncSeparate(RLGL.State.glBlendSrcFactorRGB, RLGL.State.glBlendDestFactorRGB, RLGL.State.glBlendSrcFactorAlpha, RLGL.State.glBlendDestFactorAlpha);
glBlendEquationSeparate(RLGL.State.glBlendEquationRGB, RLGL.State.glBlendEquationAlpha);
} break;
default: break;
}
RLGL.State.currentBlendMode = mode;
RLGL.State.glCustomBlendModeModified = false;
}
#endif
}
// Set blending mode factor and equation
void rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if ((RLGL.State.glBlendSrcFactor != glSrcFactor) ||
(RLGL.State.glBlendDstFactor != glDstFactor) ||
(RLGL.State.glBlendEquation != glEquation))
{
RLGL.State.glBlendSrcFactor = glSrcFactor;
RLGL.State.glBlendDstFactor = glDstFactor;
RLGL.State.glBlendEquation = glEquation;
RLGL.State.glCustomBlendModeModified = true;
}
#endif
}
// Set blending mode factor and equation separately for RGB and alpha
void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if ((RLGL.State.glBlendSrcFactorRGB != glSrcRGB) ||
(RLGL.State.glBlendDestFactorRGB != glDstRGB) ||
(RLGL.State.glBlendSrcFactorAlpha != glSrcAlpha) ||
(RLGL.State.glBlendDestFactorAlpha != glDstAlpha) ||
(RLGL.State.glBlendEquationRGB != glEqRGB) ||
(RLGL.State.glBlendEquationAlpha != glEqAlpha))
{
RLGL.State.glBlendSrcFactorRGB = glSrcRGB;
RLGL.State.glBlendDestFactorRGB = glDstRGB;
RLGL.State.glBlendSrcFactorAlpha = glSrcAlpha;
RLGL.State.glBlendDestFactorAlpha = glDstAlpha;
RLGL.State.glBlendEquationRGB = glEqRGB;
RLGL.State.glBlendEquationAlpha = glEqAlpha;
RLGL.State.glCustomBlendModeModified = true;
}
#endif
}
//----------------------------------------------------------------------------------
// Module Functions Definition - OpenGL Debug
//----------------------------------------------------------------------------------
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT) && defined(GRAPHICS_API_OPENGL_43)
static void GLAPIENTRY rlDebugMessageCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam)
{
// Ignore non-significant error/warning codes (NVidia drivers)
// NOTE: Here there are the details with a sample output:
// - #131169 - Framebuffer detailed info: The driver allocated storage for renderbuffer 2. (severity: low)
// - #131185 - Buffer detailed info: Buffer object 1 (bound to GL_ELEMENT_ARRAY_BUFFER_ARB, usage hint is GL_ENUM_88e4)
// will use VIDEO memory as the source for buffer object operations. (severity: low)
// - #131218 - Program/shader state performance warning: Vertex shader in program 7 is being recompiled based on GL state. (severity: medium)
// - #131204 - Texture state usage warning: The texture object (0) bound to texture image unit 0 does not have
// a defined base level and cannot be used for texture mapping. (severity: low)
if ((id == 131169) || (id == 131185) || (id == 131218) || (id == 131204)) return;
const char *msgSource = NULL;
switch (source)
{
case GL_DEBUG_SOURCE_API: msgSource = "API"; break;
case GL_DEBUG_SOURCE_WINDOW_SYSTEM: msgSource = "WINDOW_SYSTEM"; break;
case GL_DEBUG_SOURCE_SHADER_COMPILER: msgSource = "SHADER_COMPILER"; break;
case GL_DEBUG_SOURCE_THIRD_PARTY: msgSource = "THIRD_PARTY"; break;
case GL_DEBUG_SOURCE_APPLICATION: msgSource = "APPLICATION"; break;
case GL_DEBUG_SOURCE_OTHER: msgSource = "OTHER"; break;
default: break;
}
const char *msgType = NULL;
switch (type)
{
case GL_DEBUG_TYPE_ERROR: msgType = "ERROR"; break;
case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: msgType = "DEPRECATED_BEHAVIOR"; break;
case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: msgType = "UNDEFINED_BEHAVIOR"; break;
case GL_DEBUG_TYPE_PORTABILITY: msgType = "PORTABILITY"; break;
case GL_DEBUG_TYPE_PERFORMANCE: msgType = "PERFORMANCE"; break;
case GL_DEBUG_TYPE_MARKER: msgType = "MARKER"; break;
case GL_DEBUG_TYPE_PUSH_GROUP: msgType = "PUSH_GROUP"; break;
case GL_DEBUG_TYPE_POP_GROUP: msgType = "POP_GROUP"; break;
case GL_DEBUG_TYPE_OTHER: msgType = "OTHER"; break;
default: break;
}
const char *msgSeverity = "DEFAULT";
switch (severity)
{
case GL_DEBUG_SEVERITY_LOW: msgSeverity = "LOW"; break;
case GL_DEBUG_SEVERITY_MEDIUM: msgSeverity = "MEDIUM"; break;
case GL_DEBUG_SEVERITY_HIGH: msgSeverity = "HIGH"; break;
case GL_DEBUG_SEVERITY_NOTIFICATION: msgSeverity = "NOTIFICATION"; break;
default: break;
}
TRACELOG(LOG_WARNING, "GL: OpenGL debug message: %s", message);
TRACELOG(LOG_WARNING, " > Type: %s", msgType);
TRACELOG(LOG_WARNING, " > Source = %s", msgSource);
TRACELOG(LOG_WARNING, " > Severity = %s", msgSeverity);
}
#endif
//----------------------------------------------------------------------------------
// Module Functions Definition - rlgl functionality
//----------------------------------------------------------------------------------
// Initialize rlgl: OpenGL extensions, default buffers/shaders/textures, OpenGL states
void rlglInit(int width, int height)
{
// Enable OpenGL debug context if required
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT) && defined(GRAPHICS_API_OPENGL_43)
if ((glDebugMessageCallback != NULL) && (glDebugMessageControl != NULL))
{
glDebugMessageCallback(rlDebugMessageCallback, 0);
// glDebugMessageControl(GL_DEBUG_SOURCE_API, GL_DEBUG_TYPE_ERROR, GL_DEBUG_SEVERITY_HIGH, 0, 0, GL_TRUE);
// Debug context options:
// - GL_DEBUG_OUTPUT - Faster version but not useful for breakpoints
// - GL_DEBUG_OUTPUT_SYNCHRONUS - Callback is in sync with errors, so a breakpoint can be placed on the callback in order to get a stacktrace for the GL error
glEnable(GL_DEBUG_OUTPUT);
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
}
#endif
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Init default white texture
unsigned char pixels[4] = { 255, 255, 255, 255 }; // 1 pixel RGBA (4 bytes)
RLGL.State.defaultTextureId = rlLoadTexture(pixels, 1, 1, RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, 1);
if (RLGL.State.defaultTextureId != 0) TRACELOG(RL_LOG_INFO, "TEXTURE: [ID %i] Default texture loaded successfully", RLGL.State.defaultTextureId);
else TRACELOG(RL_LOG_WARNING, "TEXTURE: Failed to load default texture");
// Init default Shader (customized for GL 3.3 and ES2)
// Loaded: RLGL.State.defaultShaderId + RLGL.State.defaultShaderLocs
rlLoadShaderDefault();
RLGL.State.currentShaderId = RLGL.State.defaultShaderId;
RLGL.State.currentShaderLocs = RLGL.State.defaultShaderLocs;
// Init default vertex arrays buffers
// Simulate that the default shader has the location RL_SHADER_LOC_VERTEX_NORMAL to bind the normal buffer for the default render batch
RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL] = RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL;
RLGL.defaultBatch = rlLoadRenderBatch(RL_DEFAULT_BATCH_BUFFERS, RL_DEFAULT_BATCH_BUFFER_ELEMENTS);
RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL] = -1;
RLGL.currentBatch = &RLGL.defaultBatch;
// Init stack matrices (emulating OpenGL 1.1)
for (int i = 0; i < RL_MAX_MATRIX_STACK_SIZE; i++) RLGL.State.stack[i] = rlMatrixIdentity();
// Init internal matrices
RLGL.State.transform = rlMatrixIdentity();
RLGL.State.projection = rlMatrixIdentity();
RLGL.State.modelview = rlMatrixIdentity();
RLGL.State.currentMatrix = &RLGL.State.modelview;
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
// Initialize OpenGL default states
//----------------------------------------------------------
// Init state: Depth test
glDepthFunc(GL_LEQUAL); // Type of depth testing to apply
glDisable(GL_DEPTH_TEST); // Disable depth testing for 2D (only used for 3D)
// Init state: Blending mode
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Color blending function (how colors are mixed)
glEnable(GL_BLEND); // Enable color blending (required to work with transparencies)
// Init state: Culling
// NOTE: All shapes/models triangles are drawn CCW
glCullFace(GL_BACK); // Cull the back face (default)
glFrontFace(GL_CCW); // Front face are defined counter clockwise (default)
glEnable(GL_CULL_FACE); // Enable backface culling
// Init state: Cubemap seamless
#if defined(GRAPHICS_API_OPENGL_33)
glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); // Seamless cubemaps (not supported on OpenGL ES 2.0)
#endif
#if defined(GRAPHICS_API_OPENGL_11)
// Init state: Color hints (deprecated in OpenGL 3.0+)
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Improve quality of color and texture coordinate interpolation
glShadeModel(GL_SMOOTH); // Smooth shading between vertex (vertex colors interpolation)
#endif
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Store screen size into global variables
RLGL.State.framebufferWidth = width;
RLGL.State.framebufferHeight = height;
TRACELOG(RL_LOG_INFO, "RLGL: Default OpenGL state initialized successfully");
//----------------------------------------------------------
#endif
// Init state: Color/Depth buffers clear
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set clear color (black)
glClearDepth(1.0f); // Set clear depth value (default)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers (depth buffer required for 3D)
}
// Vertex Buffer Object deinitialization (memory free)
void rlglClose(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
rlUnloadRenderBatch(RLGL.defaultBatch);
rlUnloadShaderDefault(); // Unload default shader
glDeleteTextures(1, &RLGL.State.defaultTextureId); // Unload default texture
TRACELOG(RL_LOG_INFO, "TEXTURE: [ID %i] Default texture unloaded successfully", RLGL.State.defaultTextureId);
#endif
}
// Load OpenGL extensions
// NOTE: External loader function must be provided
void rlLoadExtensions(void *loader)
{
#if defined(GRAPHICS_API_OPENGL_33) // Also defined for GRAPHICS_API_OPENGL_21
// NOTE: glad is generated and contains only required OpenGL 3.3 Core extensions (and lower versions)
if (gladLoadGL((GLADloadfunc)loader) == 0) TRACELOG(RL_LOG_WARNING, "GLAD: Cannot load OpenGL extensions");
else TRACELOG(RL_LOG_INFO, "GLAD: OpenGL extensions loaded successfully");
// Get number of supported extensions
GLint numExt = 0;
glGetIntegerv(GL_NUM_EXTENSIONS, &numExt);
TRACELOG(RL_LOG_INFO, "GL: Supported extensions count: %i", numExt);
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
// Get supported extensions list
// WARNING: glGetStringi() not available on OpenGL 2.1
TRACELOG(RL_LOG_INFO, "GL: OpenGL extensions:");
for (int i = 0; i < numExt; i++) TRACELOG(RL_LOG_INFO, " %s", glGetStringi(GL_EXTENSIONS, i));
#endif
#if defined(GRAPHICS_API_OPENGL_21)
// Register supported extensions flags
// Optional OpenGL 2.1 extensions
RLGL.ExtSupported.vao = GLAD_GL_ARB_vertex_array_object;
RLGL.ExtSupported.instancing = (GLAD_GL_EXT_draw_instanced && GLAD_GL_ARB_instanced_arrays);
RLGL.ExtSupported.texNPOT = GLAD_GL_ARB_texture_non_power_of_two;
RLGL.ExtSupported.texFloat32 = GLAD_GL_ARB_texture_float;
RLGL.ExtSupported.texFloat16 = GLAD_GL_ARB_texture_float;
RLGL.ExtSupported.texDepth = GLAD_GL_ARB_depth_texture;
RLGL.ExtSupported.maxDepthBits = 32;
RLGL.ExtSupported.texAnisoFilter = GLAD_GL_EXT_texture_filter_anisotropic;
RLGL.ExtSupported.texMirrorClamp = GLAD_GL_EXT_texture_mirror_clamp;
#else
// Register supported extensions flags
// OpenGL 3.3 extensions supported by default (core)
RLGL.ExtSupported.vao = true;
RLGL.ExtSupported.instancing = true;
RLGL.ExtSupported.texNPOT = true;
RLGL.ExtSupported.texFloat32 = true;
RLGL.ExtSupported.texFloat16 = true;
RLGL.ExtSupported.texDepth = true;
RLGL.ExtSupported.maxDepthBits = 32;
RLGL.ExtSupported.texAnisoFilter = true;
RLGL.ExtSupported.texMirrorClamp = true;
#endif
// Optional OpenGL 3.3 extensions
RLGL.ExtSupported.texCompASTC = GLAD_GL_KHR_texture_compression_astc_hdr && GLAD_GL_KHR_texture_compression_astc_ldr;
RLGL.ExtSupported.texCompDXT = GLAD_GL_EXT_texture_compression_s3tc; // Texture compression: DXT
RLGL.ExtSupported.texCompETC2 = GLAD_GL_ARB_ES3_compatibility; // Texture compression: ETC2/EAC
#if defined(GRAPHICS_API_OPENGL_43)
RLGL.ExtSupported.computeShader = GLAD_GL_ARB_compute_shader;
RLGL.ExtSupported.ssbo = GLAD_GL_ARB_shader_storage_buffer_object;
#endif
#endif // GRAPHICS_API_OPENGL_33
#if defined(GRAPHICS_API_OPENGL_ES3)
// Register supported extensions flags
// OpenGL ES 3.0 extensions supported by default (or it should be)
RLGL.ExtSupported.vao = true;
RLGL.ExtSupported.instancing = true;
RLGL.ExtSupported.texNPOT = true;
RLGL.ExtSupported.texFloat32 = true;
RLGL.ExtSupported.texFloat16 = true;
RLGL.ExtSupported.texDepth = true;
RLGL.ExtSupported.texDepthWebGL = true;
RLGL.ExtSupported.maxDepthBits = 24;
RLGL.ExtSupported.texAnisoFilter = true;
RLGL.ExtSupported.texMirrorClamp = true;
// TODO: Check for additional OpenGL ES 3.0 supported extensions:
//RLGL.ExtSupported.texCompDXT = true;
//RLGL.ExtSupported.texCompETC1 = true;
//RLGL.ExtSupported.texCompETC2 = true;
//RLGL.ExtSupported.texCompPVRT = true;
//RLGL.ExtSupported.texCompASTC = true;
//RLGL.ExtSupported.maxAnisotropyLevel = true;
//RLGL.ExtSupported.computeShader = true;
//RLGL.ExtSupported.ssbo = true;
#elif defined(GRAPHICS_API_OPENGL_ES2)
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL)
// TODO: Support GLAD loader for OpenGL ES 3.0
if (gladLoadGLES2((GLADloadfunc)loader) == 0) TRACELOG(RL_LOG_WARNING, "GLAD: Cannot load OpenGL ES2.0 functions");
else TRACELOG(RL_LOG_INFO, "GLAD: OpenGL ES 2.0 loaded successfully");
#endif
// Get supported extensions list
GLint numExt = 0;
const char **extList = RL_MALLOC(512*sizeof(const char *)); // Allocate 512 strings pointers (2 KB)
const char *extensions = (const char *)glGetString(GL_EXTENSIONS); // One big const string
// NOTE: We have to duplicate string because glGetString() returns a const string
int size = strlen(extensions) + 1; // Get extensions string size in bytes
char *extensionsDup = (char *)RL_CALLOC(size, sizeof(char));
strcpy(extensionsDup, extensions);
extList[numExt] = extensionsDup;
for (int i = 0; i < size; i++)
{
if (extensionsDup[i] == ' ')
{
extensionsDup[i] = '\0';
numExt++;
extList[numExt] = &extensionsDup[i + 1];
}
}
TRACELOG(RL_LOG_INFO, "GL: Supported extensions count: %i", numExt);
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
TRACELOG(RL_LOG_INFO, "GL: OpenGL extensions:");
for (int i = 0; i < numExt; i++) TRACELOG(RL_LOG_INFO, " %s", extList[i]);
#endif
// Check required extensions
for (int i = 0; i < numExt; i++)
{
// Check VAO support
// NOTE: Only check on OpenGL ES, OpenGL 3.3 has VAO support as core feature
if (strcmp(extList[i], (const char *)"GL_OES_vertex_array_object") == 0)
{
// The extension is supported by our hardware and driver, try to get related functions pointers
// NOTE: emscripten does not support VAOs natively, it uses emulation and it reduces overall performance...
glGenVertexArrays = (PFNGLGENVERTEXARRAYSOESPROC)((rlglLoadProc)loader)("glGenVertexArraysOES");
glBindVertexArray = (PFNGLBINDVERTEXARRAYOESPROC)((rlglLoadProc)loader)("glBindVertexArrayOES");
glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSOESPROC)((rlglLoadProc)loader)("glDeleteVertexArraysOES");
//glIsVertexArray = (PFNGLISVERTEXARRAYOESPROC)loader("glIsVertexArrayOES"); // NOTE: Fails in WebGL, omitted
if ((glGenVertexArrays != NULL) && (glBindVertexArray != NULL) && (glDeleteVertexArrays != NULL)) RLGL.ExtSupported.vao = true;
}
// Check instanced rendering support
if (strcmp(extList[i], (const char *)"GL_ANGLE_instanced_arrays") == 0) // Web ANGLE
{
glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)((rlglLoadProc)loader)("glDrawArraysInstancedANGLE");
glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)((rlglLoadProc)loader)("glDrawElementsInstancedANGLE");
glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISOREXTPROC)((rlglLoadProc)loader)("glVertexAttribDivisorANGLE");
if ((glDrawArraysInstanced != NULL) && (glDrawElementsInstanced != NULL) && (glVertexAttribDivisor != NULL)) RLGL.ExtSupported.instancing = true;
}
else
{
if ((strcmp(extList[i], (const char *)"GL_EXT_draw_instanced") == 0) && // Standard EXT
(strcmp(extList[i], (const char *)"GL_EXT_instanced_arrays") == 0))
{
glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)((rlglLoadProc)loader)("glDrawArraysInstancedEXT");
glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)((rlglLoadProc)loader)("glDrawElementsInstancedEXT");
glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISOREXTPROC)((rlglLoadProc)loader)("glVertexAttribDivisorEXT");
if ((glDrawArraysInstanced != NULL) && (glDrawElementsInstanced != NULL) && (glVertexAttribDivisor != NULL)) RLGL.ExtSupported.instancing = true;
}
}
// Check NPOT textures support
// NOTE: Only check on OpenGL ES, OpenGL 3.3 has NPOT textures full support as core feature
if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) RLGL.ExtSupported.texNPOT = true;
// Check texture float support
if (strcmp(extList[i], (const char *)"GL_OES_texture_float") == 0) RLGL.ExtSupported.texFloat32 = true;
if (strcmp(extList[i], (const char *)"GL_OES_texture_half_float") == 0) RLGL.ExtSupported.texFloat16 = true;
// Check depth texture support
if (strcmp(extList[i], (const char *)"GL_OES_depth_texture") == 0) RLGL.ExtSupported.texDepth = true;
if (strcmp(extList[i], (const char *)"GL_WEBGL_depth_texture") == 0) RLGL.ExtSupported.texDepthWebGL = true; // WebGL requires unsized internal format
if (RLGL.ExtSupported.texDepthWebGL) RLGL.ExtSupported.texDepth = true;
if (strcmp(extList[i], (const char *)"GL_OES_depth24") == 0) RLGL.ExtSupported.maxDepthBits = 24; // Not available on WebGL
if (strcmp(extList[i], (const char *)"GL_OES_depth32") == 0) RLGL.ExtSupported.maxDepthBits = 32; // Not available on WebGL
// Check texture compression support: DXT
if ((strcmp(extList[i], (const char *)"GL_EXT_texture_compression_s3tc") == 0) ||
(strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_s3tc") == 0) ||
(strcmp(extList[i], (const char *)"GL_WEBKIT_WEBGL_compressed_texture_s3tc") == 0)) RLGL.ExtSupported.texCompDXT = true;
// Check texture compression support: ETC1
if ((strcmp(extList[i], (const char *)"GL_OES_compressed_ETC1_RGB8_texture") == 0) ||
(strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_etc1") == 0)) RLGL.ExtSupported.texCompETC1 = true;
// Check texture compression support: ETC2/EAC
if (strcmp(extList[i], (const char *)"GL_ARB_ES3_compatibility") == 0) RLGL.ExtSupported.texCompETC2 = true;
// Check texture compression support: PVR
if (strcmp(extList[i], (const char *)"GL_IMG_texture_compression_pvrtc") == 0) RLGL.ExtSupported.texCompPVRT = true;
// Check texture compression support: ASTC
if (strcmp(extList[i], (const char *)"GL_KHR_texture_compression_astc_hdr") == 0) RLGL.ExtSupported.texCompASTC = true;
// Check anisotropic texture filter support
if (strcmp(extList[i], (const char *)"GL_EXT_texture_filter_anisotropic") == 0) RLGL.ExtSupported.texAnisoFilter = true;
// Check clamp mirror wrap mode support
if (strcmp(extList[i], (const char *)"GL_EXT_texture_mirror_clamp") == 0) RLGL.ExtSupported.texMirrorClamp = true;
}
// Free extensions pointers
RL_FREE(extList);
RL_FREE(extensionsDup); // Duplicated string must be deallocated
#endif // GRAPHICS_API_OPENGL_ES2
// Check OpenGL information and capabilities
//------------------------------------------------------------------------------
// Show current OpenGL and GLSL version
TRACELOG(RL_LOG_INFO, "GL: OpenGL device information:");
TRACELOG(RL_LOG_INFO, " > Vendor: %s", glGetString(GL_VENDOR));
TRACELOG(RL_LOG_INFO, " > Renderer: %s", glGetString(GL_RENDERER));
TRACELOG(RL_LOG_INFO, " > Version: %s", glGetString(GL_VERSION));
TRACELOG(RL_LOG_INFO, " > GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION));
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// NOTE: Anisotropy levels capability is an extension
#ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
#endif
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &RLGL.ExtSupported.maxAnisotropyLevel);
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
// Show some OpenGL GPU capabilities
TRACELOG(RL_LOG_INFO, "GL: OpenGL capabilities:");
GLint capability = 0;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_TEXTURE_SIZE: %i", capability);
glGetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_CUBE_MAP_TEXTURE_SIZE: %i", capability);
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_TEXTURE_IMAGE_UNITS: %i", capability);
glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_VERTEX_ATTRIBS: %i", capability);
#if !defined(GRAPHICS_API_OPENGL_ES2)
glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_UNIFORM_BLOCK_SIZE: %i", capability);
glGetIntegerv(GL_MAX_DRAW_BUFFERS, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_DRAW_BUFFERS: %i", capability);
if (RLGL.ExtSupported.texAnisoFilter) TRACELOG(RL_LOG_INFO, " GL_MAX_TEXTURE_MAX_ANISOTROPY: %.0f", RLGL.ExtSupported.maxAnisotropyLevel);
#endif
glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &capability);
TRACELOG(RL_LOG_INFO, " GL_NUM_COMPRESSED_TEXTURE_FORMATS: %i", capability);
GLint *compFormats = (GLint *)RL_CALLOC(capability, sizeof(GLint));
glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, compFormats);
for (int i = 0; i < capability; i++) TRACELOG(RL_LOG_INFO, " %s", rlGetCompressedFormatName(compFormats[i]));
RL_FREE(compFormats);
#if defined(GRAPHICS_API_OPENGL_43)
glGetIntegerv(GL_MAX_VERTEX_ATTRIB_BINDINGS, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_VERTEX_ATTRIB_BINDINGS: %i", capability);
glGetIntegerv(GL_MAX_UNIFORM_LOCATIONS, &capability);
TRACELOG(RL_LOG_INFO, " GL_MAX_UNIFORM_LOCATIONS: %i", capability);
#endif // GRAPHICS_API_OPENGL_43
#else // RLGL_SHOW_GL_DETAILS_INFO
// Show some basic info about GL supported features
if (RLGL.ExtSupported.vao) TRACELOG(RL_LOG_INFO, "GL: VAO extension detected, VAO functions loaded successfully");
else TRACELOG(RL_LOG_WARNING, "GL: VAO extension not found, VAO not supported");
if (RLGL.ExtSupported.texNPOT) TRACELOG(RL_LOG_INFO, "GL: NPOT textures extension detected, full NPOT textures supported");
else TRACELOG(RL_LOG_WARNING, "GL: NPOT textures extension not found, limited NPOT support (no-mipmaps, no-repeat)");
if (RLGL.ExtSupported.texCompDXT) TRACELOG(RL_LOG_INFO, "GL: DXT compressed textures supported");
if (RLGL.ExtSupported.texCompETC1) TRACELOG(RL_LOG_INFO, "GL: ETC1 compressed textures supported");
if (RLGL.ExtSupported.texCompETC2) TRACELOG(RL_LOG_INFO, "GL: ETC2/EAC compressed textures supported");
if (RLGL.ExtSupported.texCompPVRT) TRACELOG(RL_LOG_INFO, "GL: PVRT compressed textures supported");
if (RLGL.ExtSupported.texCompASTC) TRACELOG(RL_LOG_INFO, "GL: ASTC compressed textures supported");
if (RLGL.ExtSupported.computeShader) TRACELOG(RL_LOG_INFO, "GL: Compute shaders supported");
if (RLGL.ExtSupported.ssbo) TRACELOG(RL_LOG_INFO, "GL: Shader storage buffer objects supported");
#endif // RLGL_SHOW_GL_DETAILS_INFO
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
}
// Get current OpenGL version
int rlGetVersion(void)
{
int glVersion = 0;
#if defined(GRAPHICS_API_OPENGL_11)
glVersion = RL_OPENGL_11;
#endif
#if defined(GRAPHICS_API_OPENGL_21)
glVersion = RL_OPENGL_21;
#elif defined(GRAPHICS_API_OPENGL_43)
glVersion = RL_OPENGL_43;
#elif defined(GRAPHICS_API_OPENGL_33)
glVersion = RL_OPENGL_33;
#endif
#if defined(GRAPHICS_API_OPENGL_ES3)
glVersion = RL_OPENGL_ES_30;
#elif defined(GRAPHICS_API_OPENGL_ES2)
glVersion = RL_OPENGL_ES_20;
#endif
return glVersion;
}
// Set current framebuffer width
void rlSetFramebufferWidth(int width)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
RLGL.State.framebufferWidth = width;
#endif
}
// Set current framebuffer height
void rlSetFramebufferHeight(int height)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
RLGL.State.framebufferHeight = height;
#endif
}
// Get default framebuffer width
int rlGetFramebufferWidth(void)
{
int width = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
width = RLGL.State.framebufferWidth;
#endif
return width;
}
// Get default framebuffer height
int rlGetFramebufferHeight(void)
{
int height = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
height = RLGL.State.framebufferHeight;
#endif
return height;
}
// Get default internal texture (white texture)
// NOTE: Default texture is a 1x1 pixel UNCOMPRESSED_R8G8B8A8
unsigned int rlGetTextureIdDefault(void)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
id = RLGL.State.defaultTextureId;
#endif
return id;
}
// Get default shader id
unsigned int rlGetShaderIdDefault(void)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
id = RLGL.State.defaultShaderId;
#endif
return id;
}
// Get default shader locs
int *rlGetShaderLocsDefault(void)
{
int *locs = NULL;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
locs = RLGL.State.defaultShaderLocs;
#endif
return locs;
}
// Render batch management
//------------------------------------------------------------------------------------------------
// Load render batch
rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements)
{
rlRenderBatch batch = { 0 };
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Initialize CPU (RAM) vertex buffers (position, texcoord, color data and indexes)
//--------------------------------------------------------------------------------------------
batch.vertexBuffer = (rlVertexBuffer *)RL_MALLOC(numBuffers*sizeof(rlVertexBuffer));
for (int i = 0; i < numBuffers; i++)
{
batch.vertexBuffer[i].elementCount = bufferElements;
batch.vertexBuffer[i].vertices = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad
batch.vertexBuffer[i].texcoords = (float *)RL_MALLOC(bufferElements*2*4*sizeof(float)); // 2 float by texcoord, 4 texcoord by quad
batch.vertexBuffer[i].normals = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad
batch.vertexBuffer[i].colors = (unsigned char *)RL_MALLOC(bufferElements*4*4*sizeof(unsigned char)); // 4 float by color, 4 colors by quad
#if defined(GRAPHICS_API_OPENGL_33)
batch.vertexBuffer[i].indices = (unsigned int *)RL_MALLOC(bufferElements*6*sizeof(unsigned int)); // 6 int by quad (indices)
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
batch.vertexBuffer[i].indices = (unsigned short *)RL_MALLOC(bufferElements*6*sizeof(unsigned short)); // 6 int by quad (indices)
#endif
for (int j = 0; j < (3*4*bufferElements); j++) batch.vertexBuffer[i].vertices[j] = 0.0f;
for (int j = 0; j < (2*4*bufferElements); j++) batch.vertexBuffer[i].texcoords[j] = 0.0f;
for (int j = 0; j < (3*4*bufferElements); j++) batch.vertexBuffer[i].normals[j] = 0.0f;
for (int j = 0; j < (4*4*bufferElements); j++) batch.vertexBuffer[i].colors[j] = 0;
int k = 0;
// Indices can be initialized right now
for (int j = 0; j < (6*bufferElements); j += 6)
{
batch.vertexBuffer[i].indices[j] = 4*k;
batch.vertexBuffer[i].indices[j + 1] = 4*k + 1;
batch.vertexBuffer[i].indices[j + 2] = 4*k + 2;
batch.vertexBuffer[i].indices[j + 3] = 4*k;
batch.vertexBuffer[i].indices[j + 4] = 4*k + 2;
batch.vertexBuffer[i].indices[j + 5] = 4*k + 3;
k++;
}
RLGL.State.vertexCounter = 0;
}
TRACELOG(RL_LOG_INFO, "RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)");
//--------------------------------------------------------------------------------------------
// Upload to GPU (VRAM) vertex data and initialize VAOs/VBOs
//--------------------------------------------------------------------------------------------
for (int i = 0; i < numBuffers; i++)
{
if (RLGL.ExtSupported.vao)
{
// Initialize Quads VAO
glGenVertexArrays(1, &batch.vertexBuffer[i].vaoId);
glBindVertexArray(batch.vertexBuffer[i].vaoId);
}
// Quads - Vertex buffers binding and attributes enable
// Vertex position buffer (shader-location = 0)
glGenBuffers(1, &batch.vertexBuffer[i].vboId[0]);
glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[0]);
glBufferData(GL_ARRAY_BUFFER, bufferElements*3*4*sizeof(float), batch.vertexBuffer[i].vertices, GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_POSITION]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0);
// Vertex texcoord buffer (shader-location = 1)
glGenBuffers(1, &batch.vertexBuffer[i].vboId[1]);
glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[1]);
glBufferData(GL_ARRAY_BUFFER, bufferElements*2*4*sizeof(float), batch.vertexBuffer[i].texcoords, GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0);
// Vertex normal buffer (shader-location = 2)
glGenBuffers(1, &batch.vertexBuffer[i].vboId[2]);
glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[2]);
glBufferData(GL_ARRAY_BUFFER, bufferElements*3*4*sizeof(float), batch.vertexBuffer[i].normals, GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL], 3, GL_FLOAT, 0, 0, 0);
// Vertex color buffer (shader-location = 3)
glGenBuffers(1, &batch.vertexBuffer[i].vboId[3]);
glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[3]);
glBufferData(GL_ARRAY_BUFFER, bufferElements*4*4*sizeof(unsigned char), batch.vertexBuffer[i].colors, GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0);
// Fill index buffer
glGenBuffers(1, &batch.vertexBuffer[i].vboId[4]);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[4]);
#if defined(GRAPHICS_API_OPENGL_33)
glBufferData(GL_ELEMENT_ARRAY_BUFFER, bufferElements*6*sizeof(int), batch.vertexBuffer[i].indices, GL_STATIC_DRAW);
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
glBufferData(GL_ELEMENT_ARRAY_BUFFER, bufferElements*6*sizeof(short), batch.vertexBuffer[i].indices, GL_STATIC_DRAW);
#endif
}
TRACELOG(RL_LOG_INFO, "RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)");
// Unbind the current VAO
if (RLGL.ExtSupported.vao) glBindVertexArray(0);
//--------------------------------------------------------------------------------------------
// Init draw calls tracking system
//--------------------------------------------------------------------------------------------
batch.draws = (rlDrawCall *)RL_MALLOC(RL_DEFAULT_BATCH_DRAWCALLS*sizeof(rlDrawCall));
for (int i = 0; i < RL_DEFAULT_BATCH_DRAWCALLS; i++)
{
batch.draws[i].mode = RL_QUADS;
batch.draws[i].vertexCount = 0;
batch.draws[i].vertexAlignment = 0;
//batch.draws[i].vaoId = 0;
//batch.draws[i].shaderId = 0;
batch.draws[i].textureId = RLGL.State.defaultTextureId;
//batch.draws[i].RLGL.State.projection = rlMatrixIdentity();
//batch.draws[i].RLGL.State.modelview = rlMatrixIdentity();
}
batch.bufferCount = numBuffers; // Record buffer count
batch.drawCounter = 1; // Reset draws counter
batch.currentDepth = -1.0f; // Reset depth value
//--------------------------------------------------------------------------------------------
#endif
return batch;
}
// Unload default internal buffers vertex data from CPU and GPU
void rlUnloadRenderBatch(rlRenderBatch batch)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Unbind everything
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
// Unload all vertex buffers data
for (int i = 0; i < batch.bufferCount; i++)
{
// Unbind VAO attribs data
if (RLGL.ExtSupported.vao)
{
glBindVertexArray(batch.vertexBuffer[i].vaoId);
glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION);
glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD);
glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL);
glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR);
glBindVertexArray(0);
}
// Delete VBOs from GPU (VRAM)
glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[0]);
glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[1]);
glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[2]);
glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[3]);
glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[4]);
// Delete VAOs from GPU (VRAM)
if (RLGL.ExtSupported.vao) glDeleteVertexArrays(1, &batch.vertexBuffer[i].vaoId);
// Free vertex arrays memory from CPU (RAM)
RL_FREE(batch.vertexBuffer[i].vertices);
RL_FREE(batch.vertexBuffer[i].texcoords);
RL_FREE(batch.vertexBuffer[i].normals);
RL_FREE(batch.vertexBuffer[i].colors);
RL_FREE(batch.vertexBuffer[i].indices);
}
// Unload arrays
RL_FREE(batch.vertexBuffer);
RL_FREE(batch.draws);
#endif
}
// Draw render batch
// NOTE: We require a pointer to reset batch and increase current buffer (multi-buffer)
void rlDrawRenderBatch(rlRenderBatch *batch)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Update batch vertex buffers
//------------------------------------------------------------------------------------------------------------
// NOTE: If there is not vertex data, buffers doesn't need to be updated (vertexCount > 0)
// TODO: If no data changed on the CPU arrays --> No need to re-update GPU arrays (use a change detector flag?)
if (RLGL.State.vertexCounter > 0)
{
// Activate elements VAO
if (RLGL.ExtSupported.vao) glBindVertexArray(batch->vertexBuffer[batch->currentBuffer].vaoId);
// Vertex positions buffer
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[0]);
glBufferSubData(GL_ARRAY_BUFFER, 0, RLGL.State.vertexCounter*3*sizeof(float), batch->vertexBuffer[batch->currentBuffer].vertices);
//glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*batch->vertexBuffer[batch->currentBuffer].elementCount, batch->vertexBuffer[batch->currentBuffer].vertices, GL_DYNAMIC_DRAW); // Update all buffer
// Texture coordinates buffer
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[1]);
glBufferSubData(GL_ARRAY_BUFFER, 0, RLGL.State.vertexCounter*2*sizeof(float), batch->vertexBuffer[batch->currentBuffer].texcoords);
//glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*batch->vertexBuffer[batch->currentBuffer].elementCount, batch->vertexBuffer[batch->currentBuffer].texcoords, GL_DYNAMIC_DRAW); // Update all buffer
// Normals buffer
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]);
glBufferSubData(GL_ARRAY_BUFFER, 0, RLGL.State.vertexCounter*3*sizeof(float), batch->vertexBuffer[batch->currentBuffer].normals);
//glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*batch->vertexBuffer[batch->currentBuffer].elementCount, batch->vertexBuffer[batch->currentBuffer].normals, GL_DYNAMIC_DRAW); // Update all buffer
// Colors buffer
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[3]);
glBufferSubData(GL_ARRAY_BUFFER, 0, RLGL.State.vertexCounter*4*sizeof(unsigned char), batch->vertexBuffer[batch->currentBuffer].colors);
//glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*batch->vertexBuffer[batch->currentBuffer].elementCount, batch->vertexBuffer[batch->currentBuffer].colors, GL_DYNAMIC_DRAW); // Update all buffer
// NOTE: glMapBuffer() causes sync issue.
// If GPU is working with this buffer, glMapBuffer() will wait(stall) until GPU to finish its job.
// To avoid waiting (idle), you can call first glBufferData() with NULL pointer before glMapBuffer().
// If you do that, the previous data in PBO will be discarded and glMapBuffer() returns a new
// allocated pointer immediately even if GPU is still working with the previous data.
// Another option: map the buffer object into client's memory
// Probably this code could be moved somewhere else...
// batch->vertexBuffer[batch->currentBuffer].vertices = (float *)glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE);
// if (batch->vertexBuffer[batch->currentBuffer].vertices)
// {
// Update vertex data
// }
// glUnmapBuffer(GL_ARRAY_BUFFER);
// Unbind the current VAO
if (RLGL.ExtSupported.vao) glBindVertexArray(0);
}
//------------------------------------------------------------------------------------------------------------
// Draw batch vertex buffers (considering VR stereo if required)
//------------------------------------------------------------------------------------------------------------
Matrix matProjection = RLGL.State.projection;
Matrix matModelView = RLGL.State.modelview;
int eyeCount = 1;
if (RLGL.State.stereoRender) eyeCount = 2;
for (int eye = 0; eye < eyeCount; eye++)
{
if (eyeCount == 2)
{
// Setup current eye viewport (half screen width)
rlViewport(eye*RLGL.State.framebufferWidth/2, 0, RLGL.State.framebufferWidth/2, RLGL.State.framebufferHeight);
// Set current eye view offset to modelview matrix
rlSetMatrixModelview(rlMatrixMultiply(matModelView, RLGL.State.viewOffsetStereo[eye]));
// Set current eye projection matrix
rlSetMatrixProjection(RLGL.State.projectionStereo[eye]);
}
// Draw buffers
if (RLGL.State.vertexCounter > 0)
{
// Set current shader and upload current MVP matrix
glUseProgram(RLGL.State.currentShaderId);
// Create modelview-projection matrix and upload to shader
Matrix matMVP = rlMatrixMultiply(RLGL.State.modelview, RLGL.State.projection);
glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_MVP], 1, false, rlMatrixToFloat(matMVP));
if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_PROJECTION] != -1)
{
glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_PROJECTION], 1, false, rlMatrixToFloat(RLGL.State.projection));
}
// WARNING: For the following setup of the view, model, and normal matrices, it is expected that
// transformations and rendering occur between rlPushMatrix and rlPopMatrix.
if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_VIEW] != -1)
{
glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_VIEW], 1, false, rlMatrixToFloat(RLGL.State.modelview));
}
if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_MODEL] != -1)
{
glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_MODEL], 1, false, rlMatrixToFloat(RLGL.State.transform));
}
if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_NORMAL] != -1)
{
glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_NORMAL], 1, false, rlMatrixToFloat(rlMatrixTranspose(rlMatrixInvert(RLGL.State.transform))));
}
if (RLGL.ExtSupported.vao) glBindVertexArray(batch->vertexBuffer[batch->currentBuffer].vaoId);
else
{
// Bind vertex attrib: position (shader-location = 0)
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[0]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_POSITION]);
// Bind vertex attrib: texcoord (shader-location = 1)
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[1]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01]);
// Bind vertex attrib: normal (shader-location = 2)
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL], 3, GL_FLOAT, 0, 0, 0);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL]);
// Bind vertex attrib: color (shader-location = 3)
glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[3]);
glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0);
glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR]);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[4]);
}
// Setup some default shader values
glUniform4f(RLGL.State.currentShaderLocs[RL_SHADER_LOC_COLOR_DIFFUSE], 1.0f, 1.0f, 1.0f, 1.0f);
glUniform1i(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MAP_DIFFUSE], 0); // Active default sampler2D: texture0
// Activate additional sampler textures
// Those additional textures will be common for all draw calls of the batch
for (int i = 0; i < RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS; i++)
{
if (RLGL.State.activeTextureId[i] > 0)
{
glActiveTexture(GL_TEXTURE0 + 1 + i);
glBindTexture(GL_TEXTURE_2D, RLGL.State.activeTextureId[i]);
}
}
// Activate default sampler2D texture0 (one texture is always active for default batch shader)
// NOTE: Batch system accumulates calls by texture0 changes, additional textures are enabled for all the draw calls
glActiveTexture(GL_TEXTURE0);
for (int i = 0, vertexOffset = 0; i < batch->drawCounter; i++)
{
// Bind current draw call texture, activated as GL_TEXTURE0 and Bound to sampler2D texture0 by default
glBindTexture(GL_TEXTURE_2D, batch->draws[i].textureId);
if ((batch->draws[i].mode == RL_LINES) || (batch->draws[i].mode == RL_TRIANGLES)) glDrawArrays(batch->draws[i].mode, vertexOffset, batch->draws[i].vertexCount);
else
{
#if defined(GRAPHICS_API_OPENGL_33)
// We need to define the number of indices to be processed: elementCount*6
// NOTE: The final parameter tells the GPU the offset in bytes from the
// start of the index buffer to the location of the first index to process
glDrawElements(GL_TRIANGLES, batch->draws[i].vertexCount/4*6, GL_UNSIGNED_INT, (GLvoid *)(vertexOffset/4*6*sizeof(GLuint)));
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
glDrawElements(GL_TRIANGLES, batch->draws[i].vertexCount/4*6, GL_UNSIGNED_SHORT, (GLvoid *)(vertexOffset/4*6*sizeof(GLushort)));
#endif
}
vertexOffset += (batch->draws[i].vertexCount + batch->draws[i].vertexAlignment);
}
if (!RLGL.ExtSupported.vao)
{
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
}
glBindTexture(GL_TEXTURE_2D, 0); // Unbind textures
}
if (RLGL.ExtSupported.vao) glBindVertexArray(0); // Unbind VAO
glUseProgram(0); // Unbind shader program
}
// Restore viewport to default measures
if (eyeCount == 2) rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight);
//------------------------------------------------------------------------------------------------------------
// Reset batch buffers
//------------------------------------------------------------------------------------------------------------
// Reset vertex counter for next frame
RLGL.State.vertexCounter = 0;
// Reset depth for next draw
batch->currentDepth = -1.0f;
// Restore projection/modelview matrices
RLGL.State.projection = matProjection;
RLGL.State.modelview = matModelView;
// Reset RLGL.currentBatch->draws array
for (int i = 0; i < RL_DEFAULT_BATCH_DRAWCALLS; i++)
{
batch->draws[i].mode = RL_QUADS;
batch->draws[i].vertexCount = 0;
batch->draws[i].textureId = RLGL.State.defaultTextureId;
}
// Reset active texture units for next batch
for (int i = 0; i < RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS; i++) RLGL.State.activeTextureId[i] = 0;
// Reset draws counter to one draw for the batch
batch->drawCounter = 1;
//------------------------------------------------------------------------------------------------------------
// Change to next buffer in the list (in case of multi-buffering)
batch->currentBuffer++;
if (batch->currentBuffer >= batch->bufferCount) batch->currentBuffer = 0;
#endif
}
// Set the active render batch for rlgl
void rlSetRenderBatchActive(rlRenderBatch *batch)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
rlDrawRenderBatch(RLGL.currentBatch);
if (batch != NULL) RLGL.currentBatch = batch;
else RLGL.currentBatch = &RLGL.defaultBatch;
#endif
}
// Update and draw internal render batch
void rlDrawRenderBatchActive(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
rlDrawRenderBatch(RLGL.currentBatch); // NOTE: Stereo rendering is checked inside
#endif
}
// Check internal buffer overflow for a given number of vertex
// and force a rlRenderBatch draw call if required
bool rlCheckRenderBatchLimit(int vCount)
{
bool overflow = false;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if ((RLGL.State.vertexCounter + vCount) >=
(RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementCount*4))
{
overflow = true;
// Store current primitive drawing mode and texture id
int currentMode = RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode;
int currentTexture = RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId;
rlDrawRenderBatch(RLGL.currentBatch); // NOTE: Stereo rendering is checked inside
// Restore state of last batch so we can continue adding vertices
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode = currentMode;
RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId = currentTexture;
}
#endif
return overflow;
}
// Textures data management
//-----------------------------------------------------------------------------------------
// Convert image data to OpenGL texture (returns OpenGL valid Id)
unsigned int rlLoadTexture(const void *data, int width, int height, int format, int mipmapCount)
{
unsigned int id = 0;
glBindTexture(GL_TEXTURE_2D, 0); // Free any old binding
// Check texture format support by OpenGL 1.1 (compressed textures not supported)
#if defined(GRAPHICS_API_OPENGL_11)
if (format >= RL_PIXELFORMAT_COMPRESSED_DXT1_RGB)
{
TRACELOG(RL_LOG_WARNING, "GL: OpenGL 1.1 does not support GPU compressed texture formats");
return id;
}
#else
if ((!RLGL.ExtSupported.texCompDXT) && ((format == RL_PIXELFORMAT_COMPRESSED_DXT1_RGB) || (format == RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA) ||
(format == RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA) || (format == RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA)))
{
TRACELOG(RL_LOG_WARNING, "GL: DXT compressed texture format not supported");
return id;
}
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if ((!RLGL.ExtSupported.texCompETC1) && (format == RL_PIXELFORMAT_COMPRESSED_ETC1_RGB))
{
TRACELOG(RL_LOG_WARNING, "GL: ETC1 compressed texture format not supported");
return id;
}
if ((!RLGL.ExtSupported.texCompETC2) && ((format == RL_PIXELFORMAT_COMPRESSED_ETC2_RGB) || (format == RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA)))
{
TRACELOG(RL_LOG_WARNING, "GL: ETC2 compressed texture format not supported");
return id;
}
if ((!RLGL.ExtSupported.texCompPVRT) && ((format == RL_PIXELFORMAT_COMPRESSED_PVRT_RGB) || (format == RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA)))
{
TRACELOG(RL_LOG_WARNING, "GL: PVRT compressed texture format not supported");
return id;
}
if ((!RLGL.ExtSupported.texCompASTC) && ((format == RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA) || (format == RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA)))
{
TRACELOG(RL_LOG_WARNING, "GL: ASTC compressed texture format not supported");
return id;
}
#endif
#endif // GRAPHICS_API_OPENGL_11
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures(1, &id); // Generate texture id
glBindTexture(GL_TEXTURE_2D, id);
int mipWidth = width;
int mipHeight = height;
int mipOffset = 0; // Mipmap data offset, only used for tracelog
// NOTE: Added pointer math separately from function to avoid UBSAN complaining
unsigned char *dataPtr = NULL;
if (data != NULL) dataPtr = (unsigned char *)data;
// Load the different mipmap levels
for (int i = 0; i < mipmapCount; i++)
{
unsigned int mipSize = rlGetPixelDataSize(mipWidth, mipHeight, format);
unsigned int glInternalFormat, glFormat, glType;
rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType);
TRACELOGD("TEXTURE: Load mipmap level %i (%i x %i), size: %i, offset: %i", i, mipWidth, mipHeight, mipSize, mipOffset);
if (glInternalFormat != 0)
{
if (format < RL_PIXELFORMAT_COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_2D, i, glInternalFormat, mipWidth, mipHeight, 0, glFormat, glType, dataPtr);
#if !defined(GRAPHICS_API_OPENGL_11)
else glCompressedTexImage2D(GL_TEXTURE_2D, i, glInternalFormat, mipWidth, mipHeight, 0, mipSize, dataPtr);
#endif
#if defined(GRAPHICS_API_OPENGL_33)
if (format == RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE)
{
GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ONE };
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
}
else if (format == RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA)
{
#if defined(GRAPHICS_API_OPENGL_21)
GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ALPHA };
#elif defined(GRAPHICS_API_OPENGL_33)
GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_GREEN };
#endif
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
}
#endif
}
mipWidth /= 2;
mipHeight /= 2;
mipOffset += mipSize; // Increment offset position to next mipmap
if (data != NULL) dataPtr += mipSize; // Increment data pointer to next mipmap
// Security check for NPOT textures
if (mipWidth < 1) mipWidth = 1;
if (mipHeight < 1) mipHeight = 1;
}
// Texture parameters configuration
// NOTE: glTexParameteri does NOT affect texture uploading, just the way it's used
#if defined(GRAPHICS_API_OPENGL_ES2)
// NOTE: OpenGL ES 2.0 with no GL_OES_texture_npot support (i.e. WebGL) has limited NPOT support, so CLAMP_TO_EDGE must be used
if (RLGL.ExtSupported.texNPOT)
{
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // Set texture to repeat on x-axis
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // Set texture to repeat on y-axis
}
else
{
// NOTE: If using negative texture coordinates (LoadOBJ()), it does not work!
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); // Set texture to clamp on x-axis
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); // Set texture to clamp on y-axis
}
#else
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // Set texture to repeat on x-axis
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // Set texture to repeat on y-axis
#endif
// Magnification and minification filters
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); // Alternative: GL_LINEAR
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); // Alternative: GL_LINEAR
#if defined(GRAPHICS_API_OPENGL_33)
if (mipmapCount > 1)
{
// Activate Trilinear filtering if mipmaps are available
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
}
#endif
// At this point we have the texture loaded in GPU and texture parameters configured
// NOTE: If mipmaps were not in data, they are not generated automatically
// Unbind current texture
glBindTexture(GL_TEXTURE_2D, 0);
if (id > 0) TRACELOG(RL_LOG_INFO, "TEXTURE: [ID %i] Texture loaded successfully (%ix%i | %s | %i mipmaps)", id, width, height, rlGetPixelFormatName(format), mipmapCount);
else TRACELOG(RL_LOG_WARNING, "TEXTURE: Failed to load texture");
return id;
}
// Load depth texture/renderbuffer (to be attached to fbo)
// WARNING: OpenGL ES 2.0 requires GL_OES_depth_texture and WebGL requires WEBGL_depth_texture extensions
unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// In case depth textures not supported, we force renderbuffer usage
if (!RLGL.ExtSupported.texDepth) useRenderBuffer = true;
// NOTE: We let the implementation to choose the best bit-depth
// Possible formats: GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32 and GL_DEPTH_COMPONENT32F
unsigned int glInternalFormat = GL_DEPTH_COMPONENT;
#if (defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_ES3))
// WARNING: WebGL platform requires unsized internal format definition (GL_DEPTH_COMPONENT)
// while other platforms using OpenGL ES 2.0 require/support sized internal formats depending on the GPU capabilities
if (!RLGL.ExtSupported.texDepthWebGL || useRenderBuffer)
{
if (RLGL.ExtSupported.maxDepthBits == 32) glInternalFormat = GL_DEPTH_COMPONENT32_OES;
else if (RLGL.ExtSupported.maxDepthBits == 24) glInternalFormat = GL_DEPTH_COMPONENT24_OES;
else glInternalFormat = GL_DEPTH_COMPONENT16;
}
#endif
if (!useRenderBuffer && RLGL.ExtSupported.texDepth)
{
glGenTextures(1, &id);
glBindTexture(GL_TEXTURE_2D, id);
glTexImage2D(GL_TEXTURE_2D, 0, glInternalFormat, width, height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_2D, 0);
TRACELOG(RL_LOG_INFO, "TEXTURE: Depth texture loaded successfully");
}
else
{
// Create the renderbuffer that will serve as the depth attachment for the framebuffer
// NOTE: A renderbuffer is simpler than a texture and could offer better performance on embedded devices
glGenRenderbuffers(1, &id);
glBindRenderbuffer(GL_RENDERBUFFER, id);
glRenderbufferStorage(GL_RENDERBUFFER, glInternalFormat, width, height);
glBindRenderbuffer(GL_RENDERBUFFER, 0);
TRACELOG(RL_LOG_INFO, "TEXTURE: [ID %i] Depth renderbuffer loaded successfully (%i bits)", id, (RLGL.ExtSupported.maxDepthBits >= 24)? RLGL.ExtSupported.maxDepthBits : 16);
}
#endif
return id;
}
// Load texture cubemap
// NOTE: Cubemap data is expected to be 6 images in a single data array (one after the other),
// expected the following convention: +X, -X, +Y, -Y, +Z, -Z
unsigned int rlLoadTextureCubemap(const void *data, int size, int format)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
unsigned int dataSize = rlGetPixelDataSize(size, size, format);
glGenTextures(1, &id);
glBindTexture(GL_TEXTURE_CUBE_MAP, id);
unsigned int glInternalFormat, glFormat, glType;
rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType);
if (glInternalFormat != 0)
{
// Load cubemap faces
for (unsigned int i = 0; i < 6; i++)
{
if (data == NULL)
{
if (format < RL_PIXELFORMAT_COMPRESSED_DXT1_RGB)
{
if ((format == RL_PIXELFORMAT_UNCOMPRESSED_R32) || (format == RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32)
|| (format == RL_PIXELFORMAT_UNCOMPRESSED_R16) || (format == RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16))
TRACELOG(RL_LOG_WARNING, "TEXTURES: Cubemap requested format not supported");
else glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, NULL);
}
else TRACELOG(RL_LOG_WARNING, "TEXTURES: Empty cubemap creation does not support compressed format");
}
else
{
if (format < RL_PIXELFORMAT_COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, (unsigned char *)data + i*dataSize);
else glCompressedTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, dataSize, (unsigned char *)data + i*dataSize);
}
#if defined(GRAPHICS_API_OPENGL_33)
if (format == RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE)
{
GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ONE };
glTexParameteriv(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
}
else if (format == RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA)
{
#if defined(GRAPHICS_API_OPENGL_21)
GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ALPHA };
#elif defined(GRAPHICS_API_OPENGL_33)
GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_GREEN };
#endif
glTexParameteriv(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
}
#endif
}
}
// Set cubemap texture sampling parameters
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
#if defined(GRAPHICS_API_OPENGL_33)
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); // Flag not supported on OpenGL ES 2.0
#endif
glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
#endif
if (id > 0) TRACELOG(RL_LOG_INFO, "TEXTURE: [ID %i] Cubemap texture loaded successfully (%ix%i)", id, size, size);
else TRACELOG(RL_LOG_WARNING, "TEXTURE: Failed to load cubemap texture");
return id;
}
// Update already loaded texture in GPU with new data
// NOTE: We don't know safely if internal texture format is the expected one...
void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data)
{
glBindTexture(GL_TEXTURE_2D, id);
unsigned int glInternalFormat, glFormat, glType;
rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType);
if ((glInternalFormat != 0) && (format < RL_PIXELFORMAT_COMPRESSED_DXT1_RGB))
{
glTexSubImage2D(GL_TEXTURE_2D, 0, offsetX, offsetY, width, height, glFormat, glType, data);
}
else TRACELOG(RL_LOG_WARNING, "TEXTURE: [ID %i] Failed to update for current texture format (%i)", id, format);
}
// Get OpenGL internal formats and data type from raylib PixelFormat
void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType)
{
*glInternalFormat = 0;
*glFormat = 0;
*glType = 0;
switch (format)
{
#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_ES2)
// NOTE: on OpenGL ES 2.0 (WebGL), internalFormat must match format and options allowed are: GL_LUMINANCE, GL_RGB, GL_RGBA
case RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: *glInternalFormat = GL_LUMINANCE_ALPHA; *glFormat = GL_LUMINANCE_ALPHA; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5: *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_UNSIGNED_SHORT_5_6_5; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8: *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break;
#if !defined(GRAPHICS_API_OPENGL_11)
#if defined(GRAPHICS_API_OPENGL_ES3)
case RL_PIXELFORMAT_UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_R32F_EXT; *glFormat = GL_RED_EXT; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB32F_EXT; *glFormat = GL_RGB; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA32F_EXT; *glFormat = GL_RGBA; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_R16F_EXT; *glFormat = GL_RED_EXT; *glType = GL_HALF_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGB16F_EXT; *glFormat = GL_RGB; *glType = GL_HALF_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGBA16F_EXT; *glFormat = GL_RGBA; *glType = GL_HALF_FLOAT; break;
#else
case RL_PIXELFORMAT_UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float
#if defined(GRAPHICS_API_OPENGL_21)
case RL_PIXELFORMAT_UNCOMPRESSED_R16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_HALF_FLOAT_ARB; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_HALF_FLOAT_ARB; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_HALF_FLOAT_ARB; break;
#else // defined(GRAPHICS_API_OPENGL_ES2)
case RL_PIXELFORMAT_UNCOMPRESSED_R16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_HALF_FLOAT_OES; break; // NOTE: Requires extension OES_texture_half_float
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_HALF_FLOAT_OES; break; // NOTE: Requires extension OES_texture_half_float
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_HALF_FLOAT_OES; break; // NOTE: Requires extension OES_texture_half_float
#endif
#endif
#endif
#elif defined(GRAPHICS_API_OPENGL_33)
case RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_R8; *glFormat = GL_RED; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: *glInternalFormat = GL_RG8; *glFormat = GL_RG; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5: *glInternalFormat = GL_RGB565; *glFormat = GL_RGB; *glType = GL_UNSIGNED_SHORT_5_6_5; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8: *glInternalFormat = GL_RGB8; *glFormat = GL_RGB; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGB5_A1; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA4; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA8; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_R32F; *glFormat = GL_RED; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB32F; *glFormat = GL_RGB; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA32F; *glFormat = GL_RGBA; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_R16F; *glFormat = GL_RED; *glType = GL_HALF_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGB16F; *glFormat = GL_RGB; *glType = GL_HALF_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGBA16F; *glFormat = GL_RGBA; *glType = GL_HALF_FLOAT; break;
#endif
#if !defined(GRAPHICS_API_OPENGL_11)
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGB: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break;
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; break;
case RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; break;
case RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; break;
case RL_PIXELFORMAT_COMPRESSED_ETC1_RGB: if (RLGL.ExtSupported.texCompETC1) *glInternalFormat = GL_ETC1_RGB8_OES; break; // NOTE: Requires OpenGL ES 2.0 or OpenGL 4.3
case RL_PIXELFORMAT_COMPRESSED_ETC2_RGB: if (RLGL.ExtSupported.texCompETC2) *glInternalFormat = GL_COMPRESSED_RGB8_ETC2; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3
case RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: if (RLGL.ExtSupported.texCompETC2) *glInternalFormat = GL_COMPRESSED_RGBA8_ETC2_EAC; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3
case RL_PIXELFORMAT_COMPRESSED_PVRT_RGB: if (RLGL.ExtSupported.texCompPVRT) *glInternalFormat = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU
case RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA: if (RLGL.ExtSupported.texCompPVRT) *glInternalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU
case RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: if (RLGL.ExtSupported.texCompASTC) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_4x4_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3
case RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: if (RLGL.ExtSupported.texCompASTC) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_8x8_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3
#endif
default: TRACELOG(RL_LOG_WARNING, "TEXTURE: Current format not supported (%i)", format); break;
}
}
// Unload texture from GPU memory
void rlUnloadTexture(unsigned int id)
{
glDeleteTextures(1, &id);
}
// Generate mipmap data for selected texture
// NOTE: Only supports GPU mipmap generation
void rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int *mipmaps)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindTexture(GL_TEXTURE_2D, id);
// Check if texture is power-of-two (POT)
bool texIsPOT = false;
if (((width > 0) && ((width & (width - 1)) == 0)) &&
((height > 0) && ((height & (height - 1)) == 0))) texIsPOT = true;
if ((texIsPOT) || (RLGL.ExtSupported.texNPOT))
{
//glHint(GL_GENERATE_MIPMAP_HINT, GL_DONT_CARE); // Hint for mipmaps generation algorithm: GL_FASTEST, GL_NICEST, GL_DONT_CARE
glGenerateMipmap(GL_TEXTURE_2D); // Generate mipmaps automatically
#define MIN(a,b) (((a)<(b))? (a):(b))
#define MAX(a,b) (((a)>(b))? (a):(b))
*mipmaps = 1 + (int)floor(log(MAX(width, height))/log(2));
TRACELOG(RL_LOG_INFO, "TEXTURE: [ID %i] Mipmaps generated automatically, total: %i", id, *mipmaps);
}
else TRACELOG(RL_LOG_WARNING, "TEXTURE: [ID %i] Failed to generate mipmaps", id);
glBindTexture(GL_TEXTURE_2D, 0);
#else
TRACELOG(RL_LOG_WARNING, "TEXTURE: [ID %i] GPU mipmap generation not supported", id);
#endif
}
// Read texture pixel data
void *rlReadTexturePixels(unsigned int id, int width, int height, int format)
{
void *pixels = NULL;
#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33)
glBindTexture(GL_TEXTURE_2D, id);
// NOTE: Using texture id, we can retrieve some texture info (but not on OpenGL ES 2.0)
// Possible texture info: GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE
//int width, height, format;
//glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width);
//glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &height);
//glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &format);
// NOTE: Each row written to or read from by OpenGL pixel operations like glGetTexImage are aligned to a 4 byte boundary by default, which may add some padding.
// Use glPixelStorei to modify padding with the GL_[UN]PACK_ALIGNMENT setting.
// GL_PACK_ALIGNMENT affects operations that read from OpenGL memory (glReadPixels, glGetTexImage, etc.)
// GL_UNPACK_ALIGNMENT affects operations that write to OpenGL memory (glTexImage, etc.)
glPixelStorei(GL_PACK_ALIGNMENT, 1);
unsigned int glInternalFormat, glFormat, glType;
rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType);
unsigned int size = rlGetPixelDataSize(width, height, format);
if ((glInternalFormat != 0) && (format < RL_PIXELFORMAT_COMPRESSED_DXT1_RGB))
{
pixels = RL_MALLOC(size);
glGetTexImage(GL_TEXTURE_2D, 0, glFormat, glType, pixels);
}
else TRACELOG(RL_LOG_WARNING, "TEXTURE: [ID %i] Data retrieval not suported for pixel format (%i)", id, format);
glBindTexture(GL_TEXTURE_2D, 0);
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
// glGetTexImage() is not available on OpenGL ES 2.0
// Texture width and height are required on OpenGL ES 2.0. There is no way to get it from texture id.
// Two possible Options:
// 1 - Bind texture to color fbo attachment and glReadPixels()
// 2 - Create an fbo, activate it, render quad with texture, glReadPixels()
// We are using Option 1, just need to care for texture format on retrieval
// NOTE: This behaviour could be conditioned by graphic driver...
unsigned int fboId = rlLoadFramebuffer();
glBindFramebuffer(GL_FRAMEBUFFER, fboId);
glBindTexture(GL_TEXTURE_2D, 0);
// Attach our texture to FBO
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, id, 0);
// We read data as RGBA because FBO texture is configured as RGBA, despite binding another texture format
pixels = (unsigned char *)RL_MALLOC(rlGetPixelDataSize(width, height, RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8));
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
// Clean up temporal fbo
rlUnloadFramebuffer(fboId);
#endif
return pixels;
}
// Read screen pixel data (color buffer)
unsigned char *rlReadScreenPixels(int width, int height)
{
unsigned char *screenData = (unsigned char *)RL_CALLOC(width*height*4, sizeof(unsigned char));
// NOTE 1: glReadPixels returns image flipped vertically -> (0,0) is the bottom left corner of the framebuffer
// NOTE 2: We are getting alpha channel! Be careful, it can be transparent if not cleared properly!
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, screenData);
// Flip image vertically!
unsigned char *imgData = (unsigned char *)RL_MALLOC(width*height*4*sizeof(unsigned char));
for (int y = height - 1; y >= 0; y--)
{
for (int x = 0; x < (width*4); x++)
{
imgData[((height - 1) - y)*width*4 + x] = screenData[(y*width*4) + x]; // Flip line
// Set alpha component value to 255 (no trasparent image retrieval)
// NOTE: Alpha value has already been applied to RGB in framebuffer, we don't need it!
if (((x + 1)%4) == 0) imgData[((height - 1) - y)*width*4 + x] = 255;
}
}
RL_FREE(screenData);
return imgData; // NOTE: image data should be freed
}
// Framebuffer management (fbo)
//-----------------------------------------------------------------------------------------
// Load a framebuffer to be used for rendering
// NOTE: No textures attached
unsigned int rlLoadFramebuffer(void)
{
unsigned int fboId = 0;
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT)
glGenFramebuffers(1, &fboId); // Create the framebuffer object
glBindFramebuffer(GL_FRAMEBUFFER, 0); // Unbind any framebuffer
#endif
return fboId;
}
// Attach color buffer texture to an fbo (unloads previous attachment)
// NOTE: Attach type: 0-Color, 1-Depth renderbuffer, 2-Depth texture
void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType, int mipLevel)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT)
glBindFramebuffer(GL_FRAMEBUFFER, fboId);
switch (attachType)
{
case RL_ATTACHMENT_COLOR_CHANNEL0:
case RL_ATTACHMENT_COLOR_CHANNEL1:
case RL_ATTACHMENT_COLOR_CHANNEL2:
case RL_ATTACHMENT_COLOR_CHANNEL3:
case RL_ATTACHMENT_COLOR_CHANNEL4:
case RL_ATTACHMENT_COLOR_CHANNEL5:
case RL_ATTACHMENT_COLOR_CHANNEL6:
case RL_ATTACHMENT_COLOR_CHANNEL7:
{
if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_TEXTURE_2D, texId, mipLevel);
else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_RENDERBUFFER, texId);
else if (texType >= RL_ATTACHMENT_CUBEMAP_POSITIVE_X) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_TEXTURE_CUBE_MAP_POSITIVE_X + texType, texId, mipLevel);
} break;
case RL_ATTACHMENT_DEPTH:
{
if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, texId, mipLevel);
else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, texId);
} break;
case RL_ATTACHMENT_STENCIL:
{
if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_TEXTURE_2D, texId, mipLevel);
else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, texId);
} break;
default: break;
}
glBindFramebuffer(GL_FRAMEBUFFER, 0);
#endif
}
// Verify render texture is complete
bool rlFramebufferComplete(unsigned int id)
{
bool result = false;
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT)
glBindFramebuffer(GL_FRAMEBUFFER, id);
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
if (status != GL_FRAMEBUFFER_COMPLETE)
{
switch (status)
{
case GL_FRAMEBUFFER_UNSUPPORTED: TRACELOG(RL_LOG_WARNING, "FBO: [ID %i] Framebuffer is unsupported", id); break;
case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: TRACELOG(RL_LOG_WARNING, "FBO: [ID %i] Framebuffer has incomplete attachment", id); break;
#if defined(GRAPHICS_API_OPENGL_ES2)
case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: TRACELOG(RL_LOG_WARNING, "FBO: [ID %i] Framebuffer has incomplete dimensions", id); break;
#endif
case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: TRACELOG(RL_LOG_WARNING, "FBO: [ID %i] Framebuffer has a missing attachment", id); break;
default: break;
}
}
glBindFramebuffer(GL_FRAMEBUFFER, 0);
result = (status == GL_FRAMEBUFFER_COMPLETE);
#endif
return result;
}
// Unload framebuffer from GPU memory
// NOTE: All attached textures/cubemaps/renderbuffers are also deleted
void rlUnloadFramebuffer(unsigned int id)
{
#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT)
// Query depth attachment to automatically delete texture/renderbuffer
int depthType = 0, depthId = 0;
glBindFramebuffer(GL_FRAMEBUFFER, id); // Bind framebuffer to query depth texture type
glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &depthType);
// TODO: Review warning retrieving object name in WebGL
// WARNING: WebGL: INVALID_ENUM: getFramebufferAttachmentParameter: invalid parameter name
// https://registry.khronos.org/webgl/specs/latest/1.0/
glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &depthId);
unsigned int depthIdU = (unsigned int)depthId;
if (depthType == GL_RENDERBUFFER) glDeleteRenderbuffers(1, &depthIdU);
else if (depthType == GL_TEXTURE) glDeleteTextures(1, &depthIdU);
// NOTE: If a texture object is deleted while its image is attached to the *currently bound* framebuffer,
// the texture image is automatically detached from the currently bound framebuffer.
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glDeleteFramebuffers(1, &id);
TRACELOG(RL_LOG_INFO, "FBO: [ID %i] Unloaded framebuffer from VRAM (GPU)", id);
#endif
}
// Vertex data management
//-----------------------------------------------------------------------------------------
// Load a new attributes buffer
unsigned int rlLoadVertexBuffer(const void *buffer, int size, bool dynamic)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glGenBuffers(1, &id);
glBindBuffer(GL_ARRAY_BUFFER, id);
glBufferData(GL_ARRAY_BUFFER, size, buffer, dynamic? GL_DYNAMIC_DRAW : GL_STATIC_DRAW);
#endif
return id;
}
// Load a new attributes element buffer
unsigned int rlLoadVertexBufferElement(const void *buffer, int size, bool dynamic)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glGenBuffers(1, &id);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, id);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, size, buffer, dynamic? GL_DYNAMIC_DRAW : GL_STATIC_DRAW);
#endif
return id;
}
// Enable vertex buffer (VBO)
void rlEnableVertexBuffer(unsigned int id)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindBuffer(GL_ARRAY_BUFFER, id);
#endif
}
// Disable vertex buffer (VBO)
void rlDisableVertexBuffer(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindBuffer(GL_ARRAY_BUFFER, 0);
#endif
}
// Enable vertex buffer element (VBO element)
void rlEnableVertexBufferElement(unsigned int id)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, id);
#endif
}
// Disable vertex buffer element (VBO element)
void rlDisableVertexBufferElement(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
#endif
}
// Update vertex buffer with new data
// NOTE: dataSize and offset must be provided in bytes
void rlUpdateVertexBuffer(unsigned int id, const void *data, int dataSize, int offset)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindBuffer(GL_ARRAY_BUFFER, id);
glBufferSubData(GL_ARRAY_BUFFER, offset, dataSize, data);
#endif
}
// Update vertex buffer elements with new data
// NOTE: dataSize and offset must be provided in bytes
void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, id);
glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, offset, dataSize, data);
#endif
}
// Enable vertex array object (VAO)
bool rlEnableVertexArray(unsigned int vaoId)
{
bool result = false;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (RLGL.ExtSupported.vao)
{
glBindVertexArray(vaoId);
result = true;
}
#endif
return result;
}
// Disable vertex array object (VAO)
void rlDisableVertexArray(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (RLGL.ExtSupported.vao) glBindVertexArray(0);
#endif
}
// Enable vertex attribute index
void rlEnableVertexAttribute(unsigned int index)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glEnableVertexAttribArray(index);
#endif
}
// Disable vertex attribute index
void rlDisableVertexAttribute(unsigned int index)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glDisableVertexAttribArray(index);
#endif
}
// Draw vertex array
void rlDrawVertexArray(int offset, int count)
{
glDrawArrays(GL_TRIANGLES, offset, count);
}
// Draw vertex array elements
void rlDrawVertexArrayElements(int offset, int count, const void *buffer)
{
// NOTE: Added pointer math separately from function to avoid UBSAN complaining
unsigned short *bufferPtr = (unsigned short *)buffer;
if (offset > 0) bufferPtr += offset;
glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_SHORT, (const unsigned short *)bufferPtr);
}
// Draw vertex array instanced
void rlDrawVertexArrayInstanced(int offset, int count, int instances)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glDrawArraysInstanced(GL_TRIANGLES, 0, count, instances);
#endif
}
// Draw vertex array elements instanced
void rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// NOTE: Added pointer math separately from function to avoid UBSAN complaining
unsigned short *bufferPtr = (unsigned short *)buffer;
if (offset > 0) bufferPtr += offset;
glDrawElementsInstanced(GL_TRIANGLES, count, GL_UNSIGNED_SHORT, (const unsigned short *)bufferPtr, instances);
#endif
}
#if defined(GRAPHICS_API_OPENGL_11)
// Enable vertex state pointer
void rlEnableStatePointer(int vertexAttribType, void *buffer)
{
if (buffer != NULL) glEnableClientState(vertexAttribType);
switch (vertexAttribType)
{
case GL_VERTEX_ARRAY: glVertexPointer(3, GL_FLOAT, 0, buffer); break;
case GL_TEXTURE_COORD_ARRAY: glTexCoordPointer(2, GL_FLOAT, 0, buffer); break;
case GL_NORMAL_ARRAY: if (buffer != NULL) glNormalPointer(GL_FLOAT, 0, buffer); break;
case GL_COLOR_ARRAY: if (buffer != NULL) glColorPointer(4, GL_UNSIGNED_BYTE, 0, buffer); break;
//case GL_INDEX_ARRAY: if (buffer != NULL) glIndexPointer(GL_SHORT, 0, buffer); break; // Indexed colors
default: break;
}
}
// Disable vertex state pointer
void rlDisableStatePointer(int vertexAttribType)
{
glDisableClientState(vertexAttribType);
}
#endif
// Load vertex array object (VAO)
unsigned int rlLoadVertexArray(void)
{
unsigned int vaoId = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (RLGL.ExtSupported.vao)
{
glGenVertexArrays(1, &vaoId);
}
#endif
return vaoId;
}
// Set vertex attribute
void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, int offset)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// NOTE: Data type could be: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT
// Additional types (depends on OpenGL version or extensions):
// - GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED,
// - GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_10F_11F_11F_REV
glVertexAttribPointer(index, compSize, type, normalized, stride, (void *)offset);
#endif
}
// Set vertex attribute divisor
void rlSetVertexAttributeDivisor(unsigned int index, int divisor)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glVertexAttribDivisor(index, divisor);
#endif
}
// Unload vertex array object (VAO)
void rlUnloadVertexArray(unsigned int vaoId)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (RLGL.ExtSupported.vao)
{
glBindVertexArray(0);
glDeleteVertexArrays(1, &vaoId);
TRACELOG(RL_LOG_INFO, "VAO: [ID %i] Unloaded vertex array data from VRAM (GPU)", vaoId);
}
#endif
}
// Unload vertex buffer (VBO)
void rlUnloadVertexBuffer(unsigned int vboId)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glDeleteBuffers(1, &vboId);
//TRACELOG(RL_LOG_INFO, "VBO: Unloaded vertex data from VRAM (GPU)");
#endif
}
// Shaders management
//-----------------------------------------------------------------------------------------------
// Load shader from code strings
// NOTE: If shader string is NULL, using default vertex/fragment shaders
unsigned int rlLoadShaderCode(const char *vsCode, const char *fsCode)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
unsigned int vertexShaderId = 0;
unsigned int fragmentShaderId = 0;
// Compile vertex shader (if provided)
if (vsCode != NULL) vertexShaderId = rlCompileShader(vsCode, GL_VERTEX_SHADER);
// In case no vertex shader was provided or compilation failed, we use default vertex shader
if (vertexShaderId == 0) vertexShaderId = RLGL.State.defaultVShaderId;
// Compile fragment shader (if provided)
if (fsCode != NULL) fragmentShaderId = rlCompileShader(fsCode, GL_FRAGMENT_SHADER);
// In case no fragment shader was provided or compilation failed, we use default fragment shader
if (fragmentShaderId == 0) fragmentShaderId = RLGL.State.defaultFShaderId;
// In case vertex and fragment shader are the default ones, no need to recompile, we can just assign the default shader program id
if ((vertexShaderId == RLGL.State.defaultVShaderId) && (fragmentShaderId == RLGL.State.defaultFShaderId)) id = RLGL.State.defaultShaderId;
else
{
// One of or both shader are new, we need to compile a new shader program
id = rlLoadShaderProgram(vertexShaderId, fragmentShaderId);
// We can detach and delete vertex/fragment shaders (if not default ones)
// NOTE: We detach shader before deletion to make sure memory is freed
if (vertexShaderId != RLGL.State.defaultVShaderId)
{
// WARNING: Shader program linkage could fail and returned id is 0
if (id > 0) glDetachShader(id, vertexShaderId);
glDeleteShader(vertexShaderId);
}
if (fragmentShaderId != RLGL.State.defaultFShaderId)
{
// WARNING: Shader program linkage could fail and returned id is 0
if (id > 0) glDetachShader(id, fragmentShaderId);
glDeleteShader(fragmentShaderId);
}
// In case shader program loading failed, we assign default shader
if (id == 0)
{
// In case shader loading fails, we return the default shader
TRACELOG(RL_LOG_WARNING, "SHADER: Failed to load custom shader code, using default shader");
id = RLGL.State.defaultShaderId;
}
/*
else
{
// Get available shader uniforms
// NOTE: This information is useful for debug...
int uniformCount = -1;
glGetProgramiv(id, GL_ACTIVE_UNIFORMS, &uniformCount);
for (int i = 0; i < uniformCount; i++)
{
int namelen = -1;
int num = -1;
char name[256] = { 0 }; // Assume no variable names longer than 256
GLenum type = GL_ZERO;
// Get the name of the uniforms
glGetActiveUniform(id, i, sizeof(name) - 1, &namelen, &num, &type, name);
name[namelen] = 0;
TRACELOGD("SHADER: [ID %i] Active uniform (%s) set at location: %i", id, name, glGetUniformLocation(id, name));
}
}
*/
}
#endif
return id;
}
// Compile custom shader and return shader id
unsigned int rlCompileShader(const char *shaderCode, int type)
{
unsigned int shader = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
shader = glCreateShader(type);
glShaderSource(shader, 1, &shaderCode, NULL);
GLint success = 0;
glCompileShader(shader);
glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
if (success == GL_FALSE)
{
switch (type)
{
case GL_VERTEX_SHADER: TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to compile vertex shader code", shader); break;
case GL_FRAGMENT_SHADER: TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to compile fragment shader code", shader); break;
//case GL_GEOMETRY_SHADER:
#if defined(GRAPHICS_API_OPENGL_43)
case GL_COMPUTE_SHADER: TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to compile compute shader code", shader); break;
#endif
default: break;
}
int maxLength = 0;
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &maxLength);
if (maxLength > 0)
{
int length = 0;
char *log = (char *)RL_CALLOC(maxLength, sizeof(char));
glGetShaderInfoLog(shader, maxLength, &length, log);
TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Compile error: %s", shader, log);
RL_FREE(log);
}
}
else
{
switch (type)
{
case GL_VERTEX_SHADER: TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Vertex shader compiled successfully", shader); break;
case GL_FRAGMENT_SHADER: TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Fragment shader compiled successfully", shader); break;
//case GL_GEOMETRY_SHADER:
#if defined(GRAPHICS_API_OPENGL_43)
case GL_COMPUTE_SHADER: TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Compute shader compiled successfully", shader); break;
#endif
default: break;
}
}
#endif
return shader;
}
// Load custom shader strings and return program id
unsigned int rlLoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId)
{
unsigned int program = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
GLint success = 0;
program = glCreateProgram();
glAttachShader(program, vShaderId);
glAttachShader(program, fShaderId);
// NOTE: Default attribute shader locations must be Bound before linking
glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION, RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION);
glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD);
glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL, RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL);
glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR, RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR);
glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT, RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT);
glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2);
// NOTE: If some attrib name is no found on the shader, it locations becomes -1
glLinkProgram(program);
// NOTE: All uniform variables are intitialised to 0 when a program links
glGetProgramiv(program, GL_LINK_STATUS, &success);
if (success == GL_FALSE)
{
TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to link shader program", program);
int maxLength = 0;
glGetProgramiv(program, GL_INFO_LOG_LENGTH, &maxLength);
if (maxLength > 0)
{
int length = 0;
char *log = (char *)RL_CALLOC(maxLength, sizeof(char));
glGetProgramInfoLog(program, maxLength, &length, log);
TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Link error: %s", program, log);
RL_FREE(log);
}
glDeleteProgram(program);
program = 0;
}
else
{
// Get the size of compiled shader program (not available on OpenGL ES 2.0)
// NOTE: If GL_LINK_STATUS is GL_FALSE, program binary length is zero.
//GLint binarySize = 0;
//glGetProgramiv(id, GL_PROGRAM_BINARY_LENGTH, &binarySize);
TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Program shader loaded successfully", program);
}
#endif
return program;
}
// Unload shader program
void rlUnloadShaderProgram(unsigned int id)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
glDeleteProgram(id);
TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Unloaded shader program data from VRAM (GPU)", id);
#endif
}
// Get shader location uniform
int rlGetLocationUniform(unsigned int shaderId, const char *uniformName)
{
int location = -1;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
location = glGetUniformLocation(shaderId, uniformName);
//if (location == -1) TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to find shader uniform: %s", shaderId, uniformName);
//else TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Shader uniform (%s) set at location: %i", shaderId, uniformName, location);
#endif
return location;
}
// Get shader location attribute
int rlGetLocationAttrib(unsigned int shaderId, const char *attribName)
{
int location = -1;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
location = glGetAttribLocation(shaderId, attribName);
//if (location == -1) TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to find shader attribute: %s", shaderId, attribName);
//else TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Shader attribute (%s) set at location: %i", shaderId, attribName, location);
#endif
return location;
}
// Set shader value uniform
void rlSetUniform(int locIndex, const void *value, int uniformType, int count)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
switch (uniformType)
{
case RL_SHADER_UNIFORM_FLOAT: glUniform1fv(locIndex, count, (float *)value); break;
case RL_SHADER_UNIFORM_VEC2: glUniform2fv(locIndex, count, (float *)value); break;
case RL_SHADER_UNIFORM_VEC3: glUniform3fv(locIndex, count, (float *)value); break;
case RL_SHADER_UNIFORM_VEC4: glUniform4fv(locIndex, count, (float *)value); break;
case RL_SHADER_UNIFORM_INT: glUniform1iv(locIndex, count, (int *)value); break;
case RL_SHADER_UNIFORM_IVEC2: glUniform2iv(locIndex, count, (int *)value); break;
case RL_SHADER_UNIFORM_IVEC3: glUniform3iv(locIndex, count, (int *)value); break;
case RL_SHADER_UNIFORM_IVEC4: glUniform4iv(locIndex, count, (int *)value); break;
case RL_SHADER_UNIFORM_SAMPLER2D: glUniform1iv(locIndex, count, (int *)value); break;
default: TRACELOG(RL_LOG_WARNING, "SHADER: Failed to set uniform value, data type not recognized");
}
#endif
}
// Set shader value attribute
void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
switch (attribType)
{
case RL_SHADER_ATTRIB_FLOAT: if (count == 1) glVertexAttrib1fv(locIndex, (float *)value); break;
case RL_SHADER_ATTRIB_VEC2: if (count == 2) glVertexAttrib2fv(locIndex, (float *)value); break;
case RL_SHADER_ATTRIB_VEC3: if (count == 3) glVertexAttrib3fv(locIndex, (float *)value); break;
case RL_SHADER_ATTRIB_VEC4: if (count == 4) glVertexAttrib4fv(locIndex, (float *)value); break;
default: TRACELOG(RL_LOG_WARNING, "SHADER: Failed to set attrib default value, data type not recognized");
}
#endif
}
// Set shader value uniform matrix
void rlSetUniformMatrix(int locIndex, Matrix mat)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
float matfloat[16] = {
mat.m0, mat.m1, mat.m2, mat.m3,
mat.m4, mat.m5, mat.m6, mat.m7,
mat.m8, mat.m9, mat.m10, mat.m11,
mat.m12, mat.m13, mat.m14, mat.m15
};
glUniformMatrix4fv(locIndex, 1, false, matfloat);
#endif
}
// Set shader value uniform sampler
void rlSetUniformSampler(int locIndex, unsigned int textureId)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Check if texture is already active
for (int i = 0; i < RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS; i++)
{
if (RLGL.State.activeTextureId[i] == textureId)
{
glUniform1i(locIndex, 1 + i);
return;
}
}
// Register a new active texture for the internal batch system
// NOTE: Default texture is always activated as GL_TEXTURE0
for (int i = 0; i < RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS; i++)
{
if (RLGL.State.activeTextureId[i] == 0)
{
glUniform1i(locIndex, 1 + i); // Activate new texture unit
RLGL.State.activeTextureId[i] = textureId; // Save texture id for binding on drawing
break;
}
}
#endif
}
// Set shader currently active (id and locations)
void rlSetShader(unsigned int id, int *locs)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (RLGL.State.currentShaderId != id)
{
rlDrawRenderBatch(RLGL.currentBatch);
RLGL.State.currentShaderId = id;
RLGL.State.currentShaderLocs = locs;
}
#endif
}
// Load compute shader program
unsigned int rlLoadComputeShaderProgram(unsigned int shaderId)
{
unsigned int program = 0;
#if defined(GRAPHICS_API_OPENGL_43)
GLint success = 0;
program = glCreateProgram();
glAttachShader(program, shaderId);
glLinkProgram(program);
// NOTE: All uniform variables are intitialised to 0 when a program links
glGetProgramiv(program, GL_LINK_STATUS, &success);
if (success == GL_FALSE)
{
TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to link compute shader program", program);
int maxLength = 0;
glGetProgramiv(program, GL_INFO_LOG_LENGTH, &maxLength);
if (maxLength > 0)
{
int length = 0;
char *log = (char *)RL_CALLOC(maxLength, sizeof(char));
glGetProgramInfoLog(program, maxLength, &length, log);
TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Link error: %s", program, log);
RL_FREE(log);
}
glDeleteProgram(program);
program = 0;
}
else
{
// Get the size of compiled shader program (not available on OpenGL ES 2.0)
// NOTE: If GL_LINK_STATUS is GL_FALSE, program binary length is zero.
//GLint binarySize = 0;
//glGetProgramiv(id, GL_PROGRAM_BINARY_LENGTH, &binarySize);
TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Compute shader program loaded successfully", program);
}
#endif
return program;
}
// Dispatch compute shader (equivalent to *draw* for graphics pilepine)
void rlComputeShaderDispatch(unsigned int groupX, unsigned int groupY, unsigned int groupZ)
{
#if defined(GRAPHICS_API_OPENGL_43)
glDispatchCompute(groupX, groupY, groupZ);
#endif
}
// Load shader storage buffer object (SSBO)
unsigned int rlLoadShaderBuffer(unsigned int size, const void *data, int usageHint)
{
unsigned int ssbo = 0;
#if defined(GRAPHICS_API_OPENGL_43)
glGenBuffers(1, &ssbo);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, ssbo);
glBufferData(GL_SHADER_STORAGE_BUFFER, size, data, usageHint? usageHint : RL_STREAM_COPY);
if (data == NULL) glClearBufferData(GL_SHADER_STORAGE_BUFFER, GL_R8UI, GL_RED_INTEGER, GL_UNSIGNED_BYTE, NULL); // Clear buffer data to 0
glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0);
#endif
return ssbo;
}
// Unload shader storage buffer object (SSBO)
void rlUnloadShaderBuffer(unsigned int ssboId)
{
#if defined(GRAPHICS_API_OPENGL_43)
glDeleteBuffers(1, &ssboId);
#endif
}
// Update SSBO buffer data
void rlUpdateShaderBuffer(unsigned int id, const void *data, unsigned int dataSize, unsigned int offset)
{
#if defined(GRAPHICS_API_OPENGL_43)
glBindBuffer(GL_SHADER_STORAGE_BUFFER, id);
glBufferSubData(GL_SHADER_STORAGE_BUFFER, offset, dataSize, data);
#endif
}
// Get SSBO buffer size
unsigned int rlGetShaderBufferSize(unsigned int id)
{
long long size = 0;
#if defined(GRAPHICS_API_OPENGL_43)
glBindBuffer(GL_SHADER_STORAGE_BUFFER, id);
glGetInteger64v(GL_SHADER_STORAGE_BUFFER_SIZE, &size);
#endif
return (size > 0)? (unsigned int)size : 0;
}
// Read SSBO buffer data (GPU->CPU)
void rlReadShaderBuffer(unsigned int id, void *dest, unsigned int count, unsigned int offset)
{
#if defined(GRAPHICS_API_OPENGL_43)
glBindBuffer(GL_SHADER_STORAGE_BUFFER, id);
glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, offset, count, dest);
#endif
}
// Bind SSBO buffer
void rlBindShaderBuffer(unsigned int id, unsigned int index)
{
#if defined(GRAPHICS_API_OPENGL_43)
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, index, id);
#endif
}
// Copy SSBO buffer data
void rlCopyShaderBuffer(unsigned int destId, unsigned int srcId, unsigned int destOffset, unsigned int srcOffset, unsigned int count)
{
#if defined(GRAPHICS_API_OPENGL_43)
glBindBuffer(GL_COPY_READ_BUFFER, srcId);
glBindBuffer(GL_COPY_WRITE_BUFFER, destId);
glCopyBufferSubData(GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, srcOffset, destOffset, count);
#endif
}
// Bind image texture
void rlBindImageTexture(unsigned int id, unsigned int index, int format, bool readonly)
{
#if defined(GRAPHICS_API_OPENGL_43)
unsigned int glInternalFormat = 0, glFormat = 0, glType = 0;
rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType);
glBindImageTexture(index, id, 0, 0, 0, readonly? GL_READ_ONLY : GL_READ_WRITE, glInternalFormat);
#endif
}
// Matrix state management
//-----------------------------------------------------------------------------------------
// Get internal modelview matrix
Matrix rlGetMatrixModelview(void)
{
Matrix matrix = rlMatrixIdentity();
#if defined(GRAPHICS_API_OPENGL_11)
float mat[16];
glGetFloatv(GL_MODELVIEW_MATRIX, mat);
matrix.m0 = mat[0];
matrix.m1 = mat[1];
matrix.m2 = mat[2];
matrix.m3 = mat[3];
matrix.m4 = mat[4];
matrix.m5 = mat[5];
matrix.m6 = mat[6];
matrix.m7 = mat[7];
matrix.m8 = mat[8];
matrix.m9 = mat[9];
matrix.m10 = mat[10];
matrix.m11 = mat[11];
matrix.m12 = mat[12];
matrix.m13 = mat[13];
matrix.m14 = mat[14];
matrix.m15 = mat[15];
#else
matrix = RLGL.State.modelview;
#endif
return matrix;
}
// Get internal projection matrix
Matrix rlGetMatrixProjection(void)
{
#if defined(GRAPHICS_API_OPENGL_11)
float mat[16];
glGetFloatv(GL_PROJECTION_MATRIX,mat);
Matrix m;
m.m0 = mat[0];
m.m1 = mat[1];
m.m2 = mat[2];
m.m3 = mat[3];
m.m4 = mat[4];
m.m5 = mat[5];
m.m6 = mat[6];
m.m7 = mat[7];
m.m8 = mat[8];
m.m9 = mat[9];
m.m10 = mat[10];
m.m11 = mat[11];
m.m12 = mat[12];
m.m13 = mat[13];
m.m14 = mat[14];
m.m15 = mat[15];
return m;
#else
return RLGL.State.projection;
#endif
}
// Get internal accumulated transform matrix
Matrix rlGetMatrixTransform(void)
{
Matrix mat = rlMatrixIdentity();
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// TODO: Consider possible transform matrices in the RLGL.State.stack
// Is this the right order? or should we start with the first stored matrix instead of the last one?
//Matrix matStackTransform = rlMatrixIdentity();
//for (int i = RLGL.State.stackCounter; i > 0; i--) matStackTransform = rlMatrixMultiply(RLGL.State.stack[i], matStackTransform);
mat = RLGL.State.transform;
#endif
return mat;
}
// Get internal projection matrix for stereo render (selected eye)
RLAPI Matrix rlGetMatrixProjectionStereo(int eye)
{
Matrix mat = rlMatrixIdentity();
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
mat = RLGL.State.projectionStereo[eye];
#endif
return mat;
}
// Get internal view offset matrix for stereo render (selected eye)
RLAPI Matrix rlGetMatrixViewOffsetStereo(int eye)
{
Matrix mat = rlMatrixIdentity();
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
mat = RLGL.State.viewOffsetStereo[eye];
#endif
return mat;
}
// Set a custom modelview matrix (replaces internal modelview matrix)
void rlSetMatrixModelview(Matrix view)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
RLGL.State.modelview = view;
#endif
}
// Set a custom projection matrix (replaces internal projection matrix)
void rlSetMatrixProjection(Matrix projection)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
RLGL.State.projection = projection;
#endif
}
// Set eyes projection matrices for stereo rendering
void rlSetMatrixProjectionStereo(Matrix right, Matrix left)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
RLGL.State.projectionStereo[0] = right;
RLGL.State.projectionStereo[1] = left;
#endif
}
// Set eyes view offsets matrices for stereo rendering
void rlSetMatrixViewOffsetStereo(Matrix right, Matrix left)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
RLGL.State.viewOffsetStereo[0] = right;
RLGL.State.viewOffsetStereo[1] = left;
#endif
}
// Load and draw a quad in NDC
void rlLoadDrawQuad(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
unsigned int quadVAO = 0;
unsigned int quadVBO = 0;
float vertices[] = {
// Positions Texcoords
-1.0f, 1.0f, 0.0f, 0.0f, 1.0f,
-1.0f, -1.0f, 0.0f, 0.0f, 0.0f,
1.0f, 1.0f, 0.0f, 1.0f, 1.0f,
1.0f, -1.0f, 0.0f, 1.0f, 0.0f,
};
// Gen VAO to contain VBO
glGenVertexArrays(1, &quadVAO);
glBindVertexArray(quadVAO);
// Gen and fill vertex buffer (VBO)
glGenBuffers(1, &quadVBO);
glBindBuffer(GL_ARRAY_BUFFER, quadVBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), &vertices, GL_STATIC_DRAW);
// Bind vertex attributes (position, texcoords)
glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION);
glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); // Positions
glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD);
glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); // Texcoords
// Draw quad
glBindVertexArray(quadVAO);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glBindVertexArray(0);
// Delete buffers (VBO and VAO)
glDeleteBuffers(1, &quadVBO);
glDeleteVertexArrays(1, &quadVAO);
#endif
}
// Load and draw a cube in NDC
void rlLoadDrawCube(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
unsigned int cubeVAO = 0;
unsigned int cubeVBO = 0;
float vertices[] = {
// Positions Normals Texcoords
-1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f,
1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f,
1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f,
1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f,
-1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f,
-1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f,
-1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f,
1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f,
-1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f,
-1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
-1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
-1.0f, 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
-1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f,
-1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f,
-1.0f, -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
-1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f,
1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f,
1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
-1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f,
1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f,
1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f,
1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f,
-1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f,
-1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f,
-1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f,
1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f,
-1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
-1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f
};
// Gen VAO to contain VBO
glGenVertexArrays(1, &cubeVAO);
glBindVertexArray(cubeVAO);
// Gen and fill vertex buffer (VBO)
glGenBuffers(1, &cubeVBO);
glBindBuffer(GL_ARRAY_BUFFER, cubeVBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
// Bind vertex attributes (position, normals, texcoords)
glBindVertexArray(cubeVAO);
glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION);
glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); // Positions
glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL);
glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); // Normals
glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD);
glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); // Texcoords
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
// Draw cube
glBindVertexArray(cubeVAO);
glDrawArrays(GL_TRIANGLES, 0, 36);
glBindVertexArray(0);
// Delete VBO and VAO
glDeleteBuffers(1, &cubeVBO);
glDeleteVertexArrays(1, &cubeVAO);
#endif
}
// Get name string for pixel format
const char *rlGetPixelFormatName(unsigned int format)
{
switch (format)
{
case RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: return "GRAYSCALE"; break; // 8 bit per pixel (no alpha)
case RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: return "GRAY_ALPHA"; break; // 8*2 bpp (2 channels)
case RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5: return "R5G6B5"; break; // 16 bpp
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8: return "R8G8B8"; break; // 24 bpp
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: return "R5G5B5A1"; break; // 16 bpp (1 bit alpha)
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: return "R4G4B4A4"; break; // 16 bpp (4 bit alpha)
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: return "R8G8B8A8"; break; // 32 bpp
case RL_PIXELFORMAT_UNCOMPRESSED_R32: return "R32"; break; // 32 bpp (1 channel - float)
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: return "R32G32B32"; break; // 32*3 bpp (3 channels - float)
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: return "R32G32B32A32"; break; // 32*4 bpp (4 channels - float)
case RL_PIXELFORMAT_UNCOMPRESSED_R16: return "R16"; break; // 16 bpp (1 channel - half float)
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: return "R16G16B16"; break; // 16*3 bpp (3 channels - half float)
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: return "R16G16B16A16"; break; // 16*4 bpp (4 channels - half float)
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGB: return "DXT1_RGB"; break; // 4 bpp (no alpha)
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA: return "DXT1_RGBA"; break; // 4 bpp (1 bit alpha)
case RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA: return "DXT3_RGBA"; break; // 8 bpp
case RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA: return "DXT5_RGBA"; break; // 8 bpp
case RL_PIXELFORMAT_COMPRESSED_ETC1_RGB: return "ETC1_RGB"; break; // 4 bpp
case RL_PIXELFORMAT_COMPRESSED_ETC2_RGB: return "ETC2_RGB"; break; // 4 bpp
case RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: return "ETC2_RGBA"; break; // 8 bpp
case RL_PIXELFORMAT_COMPRESSED_PVRT_RGB: return "PVRT_RGB"; break; // 4 bpp
case RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA: return "PVRT_RGBA"; break; // 4 bpp
case RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: return "ASTC_4x4_RGBA"; break; // 8 bpp
case RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: return "ASTC_8x8_RGBA"; break; // 2 bpp
default: return "UNKNOWN"; break;
}
}
//----------------------------------------------------------------------------------
// Module specific Functions Definition
//----------------------------------------------------------------------------------
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// Load default shader (just vertex positioning and texture coloring)
// NOTE: This shader program is used for internal buffers
// NOTE: Loaded: RLGL.State.defaultShaderId, RLGL.State.defaultShaderLocs
static void rlLoadShaderDefault(void)
{
RLGL.State.defaultShaderLocs = (int *)RL_CALLOC(RL_MAX_SHADER_LOCATIONS, sizeof(int));
// NOTE: All locations must be reseted to -1 (no location)
for (int i = 0; i < RL_MAX_SHADER_LOCATIONS; i++) RLGL.State.defaultShaderLocs[i] = -1;
// Vertex shader directly defined, no external file required
const char *defaultVShaderCode =
#if defined(GRAPHICS_API_OPENGL_21)
"#version 120 \n"
"attribute vec3 vertexPosition; \n"
"attribute vec2 vertexTexCoord; \n"
"attribute vec4 vertexColor; \n"
"varying vec2 fragTexCoord; \n"
"varying vec4 fragColor; \n"
#elif defined(GRAPHICS_API_OPENGL_33)
"#version 330 \n"
"in vec3 vertexPosition; \n"
"in vec2 vertexTexCoord; \n"
"in vec4 vertexColor; \n"
"out vec2 fragTexCoord; \n"
"out vec4 fragColor; \n"
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
"#version 100 \n"
"precision mediump float; \n" // Precision required for OpenGL ES2 (WebGL) (on some browsers)
"attribute vec3 vertexPosition; \n"
"attribute vec2 vertexTexCoord; \n"
"attribute vec4 vertexColor; \n"
"varying vec2 fragTexCoord; \n"
"varying vec4 fragColor; \n"
#endif
"uniform mat4 mvp; \n"
"void main() \n"
"{ \n"
" fragTexCoord = vertexTexCoord; \n"
" fragColor = vertexColor; \n"
" gl_Position = mvp*vec4(vertexPosition, 1.0); \n"
"} \n";
// Fragment shader directly defined, no external file required
const char *defaultFShaderCode =
#if defined(GRAPHICS_API_OPENGL_21)
"#version 120 \n"
"varying vec2 fragTexCoord; \n"
"varying vec4 fragColor; \n"
"uniform sampler2D texture0; \n"
"uniform vec4 colDiffuse; \n"
"void main() \n"
"{ \n"
" vec4 texelColor = texture2D(texture0, fragTexCoord); \n"
" gl_FragColor = texelColor*colDiffuse*fragColor; \n"
"} \n";
#elif defined(GRAPHICS_API_OPENGL_33)
"#version 330 \n"
"in vec2 fragTexCoord; \n"
"in vec4 fragColor; \n"
"out vec4 finalColor; \n"
"uniform sampler2D texture0; \n"
"uniform vec4 colDiffuse; \n"
"void main() \n"
"{ \n"
" vec4 texelColor = texture(texture0, fragTexCoord); \n"
" finalColor = texelColor*colDiffuse*fragColor; \n"
"} \n";
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
"#version 100 \n"
"precision mediump float; \n" // Precision required for OpenGL ES2 (WebGL)
"varying vec2 fragTexCoord; \n"
"varying vec4 fragColor; \n"
"uniform sampler2D texture0; \n"
"uniform vec4 colDiffuse; \n"
"void main() \n"
"{ \n"
" vec4 texelColor = texture2D(texture0, fragTexCoord); \n"
" gl_FragColor = texelColor*colDiffuse*fragColor; \n"
"} \n";
#endif
// NOTE: Compiled vertex/fragment shaders are not deleted,
// they are kept for re-use as default shaders in case some shader loading fails
RLGL.State.defaultVShaderId = rlCompileShader(defaultVShaderCode, GL_VERTEX_SHADER); // Compile default vertex shader
RLGL.State.defaultFShaderId = rlCompileShader(defaultFShaderCode, GL_FRAGMENT_SHADER); // Compile default fragment shader
RLGL.State.defaultShaderId = rlLoadShaderProgram(RLGL.State.defaultVShaderId, RLGL.State.defaultFShaderId);
if (RLGL.State.defaultShaderId > 0)
{
TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Default shader loaded successfully", RLGL.State.defaultShaderId);
// Set default shader locations: attributes locations
RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_POSITION] = glGetAttribLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION);
RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD);
RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_COLOR] = glGetAttribLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR);
// Set default shader locations: uniform locations
RLGL.State.defaultShaderLocs[RL_SHADER_LOC_MATRIX_MVP] = glGetUniformLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_UNIFORM_NAME_MVP);
RLGL.State.defaultShaderLocs[RL_SHADER_LOC_COLOR_DIFFUSE] = glGetUniformLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR);
RLGL.State.defaultShaderLocs[RL_SHADER_LOC_MAP_DIFFUSE] = glGetUniformLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0);
}
else TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to load default shader", RLGL.State.defaultShaderId);
}
// Unload default shader
// NOTE: Unloads: RLGL.State.defaultShaderId, RLGL.State.defaultShaderLocs
static void rlUnloadShaderDefault(void)
{
glUseProgram(0);
glDetachShader(RLGL.State.defaultShaderId, RLGL.State.defaultVShaderId);
glDetachShader(RLGL.State.defaultShaderId, RLGL.State.defaultFShaderId);
glDeleteShader(RLGL.State.defaultVShaderId);
glDeleteShader(RLGL.State.defaultFShaderId);
glDeleteProgram(RLGL.State.defaultShaderId);
RL_FREE(RLGL.State.defaultShaderLocs);
TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Default shader unloaded successfully", RLGL.State.defaultShaderId);
}
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
// Get compressed format official GL identifier name
static const char *rlGetCompressedFormatName(int format)
{
switch (format)
{
// GL_EXT_texture_compression_s3tc
case 0x83F0: return "GL_COMPRESSED_RGB_S3TC_DXT1_EXT"; break;
case 0x83F1: return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"; break;
case 0x83F2: return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"; break;
case 0x83F3: return "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"; break;
// GL_3DFX_texture_compression_FXT1
case 0x86B0: return "GL_COMPRESSED_RGB_FXT1_3DFX"; break;
case 0x86B1: return "GL_COMPRESSED_RGBA_FXT1_3DFX"; break;
// GL_IMG_texture_compression_pvrtc
case 0x8C00: return "GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"; break;
case 0x8C01: return "GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"; break;
case 0x8C02: return "GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"; break;
case 0x8C03: return "GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"; break;
// GL_OES_compressed_ETC1_RGB8_texture
case 0x8D64: return "GL_ETC1_RGB8_OES"; break;
// GL_ARB_texture_compression_rgtc
case 0x8DBB: return "GL_COMPRESSED_RED_RGTC1"; break;
case 0x8DBC: return "GL_COMPRESSED_SIGNED_RED_RGTC1"; break;
case 0x8DBD: return "GL_COMPRESSED_RG_RGTC2"; break;
case 0x8DBE: return "GL_COMPRESSED_SIGNED_RG_RGTC2"; break;
// GL_ARB_texture_compression_bptc
case 0x8E8C: return "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"; break;
case 0x8E8D: return "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"; break;
case 0x8E8E: return "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"; break;
case 0x8E8F: return "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"; break;
// GL_ARB_ES3_compatibility
case 0x9274: return "GL_COMPRESSED_RGB8_ETC2"; break;
case 0x9275: return "GL_COMPRESSED_SRGB8_ETC2"; break;
case 0x9276: return "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"; break;
case 0x9277: return "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"; break;
case 0x9278: return "GL_COMPRESSED_RGBA8_ETC2_EAC"; break;
case 0x9279: return "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"; break;
case 0x9270: return "GL_COMPRESSED_R11_EAC"; break;
case 0x9271: return "GL_COMPRESSED_SIGNED_R11_EAC"; break;
case 0x9272: return "GL_COMPRESSED_RG11_EAC"; break;
case 0x9273: return "GL_COMPRESSED_SIGNED_RG11_EAC"; break;
// GL_KHR_texture_compression_astc_hdr
case 0x93B0: return "GL_COMPRESSED_RGBA_ASTC_4x4_KHR"; break;
case 0x93B1: return "GL_COMPRESSED_RGBA_ASTC_5x4_KHR"; break;
case 0x93B2: return "GL_COMPRESSED_RGBA_ASTC_5x5_KHR"; break;
case 0x93B3: return "GL_COMPRESSED_RGBA_ASTC_6x5_KHR"; break;
case 0x93B4: return "GL_COMPRESSED_RGBA_ASTC_6x6_KHR"; break;
case 0x93B5: return "GL_COMPRESSED_RGBA_ASTC_8x5_KHR"; break;
case 0x93B6: return "GL_COMPRESSED_RGBA_ASTC_8x6_KHR"; break;
case 0x93B7: return "GL_COMPRESSED_RGBA_ASTC_8x8_KHR"; break;
case 0x93B8: return "GL_COMPRESSED_RGBA_ASTC_10x5_KHR"; break;
case 0x93B9: return "GL_COMPRESSED_RGBA_ASTC_10x6_KHR"; break;
case 0x93BA: return "GL_COMPRESSED_RGBA_ASTC_10x8_KHR"; break;
case 0x93BB: return "GL_COMPRESSED_RGBA_ASTC_10x10_KHR"; break;
case 0x93BC: return "GL_COMPRESSED_RGBA_ASTC_12x10_KHR"; break;
case 0x93BD: return "GL_COMPRESSED_RGBA_ASTC_12x12_KHR"; break;
case 0x93D0: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"; break;
case 0x93D1: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"; break;
case 0x93D2: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"; break;
case 0x93D3: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"; break;
case 0x93D4: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"; break;
case 0x93D5: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"; break;
case 0x93D6: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"; break;
case 0x93D7: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"; break;
case 0x93D8: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"; break;
case 0x93D9: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"; break;
case 0x93DA: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"; break;
case 0x93DB: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"; break;
case 0x93DC: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"; break;
case 0x93DD: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"; break;
default: return "GL_COMPRESSED_UNKNOWN"; break;
}
}
#endif // RLGL_SHOW_GL_DETAILS_INFO
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
// Get pixel data size in bytes (image or texture)
// NOTE: Size depends on pixel format
static int rlGetPixelDataSize(int width, int height, int format)
{
int dataSize = 0; // Size in bytes
int bpp = 0; // Bits per pixel
switch (format)
{
case RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: bpp = 8; break;
case RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA:
case RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5:
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1:
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: bpp = 16; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: bpp = 32; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8: bpp = 24; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32: bpp = 32; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: bpp = 32*3; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: bpp = 32*4; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16: bpp = 16; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: bpp = 16*3; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: bpp = 16*4; break;
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGB:
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA:
case RL_PIXELFORMAT_COMPRESSED_ETC1_RGB:
case RL_PIXELFORMAT_COMPRESSED_ETC2_RGB:
case RL_PIXELFORMAT_COMPRESSED_PVRT_RGB:
case RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA: bpp = 4; break;
case RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA:
case RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA:
case RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA:
case RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: bpp = 8; break;
case RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: bpp = 2; break;
default: break;
}
dataSize = width*height*bpp/8; // Total data size in bytes
// Most compressed formats works on 4x4 blocks,
// if texture is smaller, minimum dataSize is 8 or 16
if ((width < 4) && (height < 4))
{
if ((format >= RL_PIXELFORMAT_COMPRESSED_DXT1_RGB) && (format < RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA)) dataSize = 8;
else if ((format >= RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA) && (format < RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA)) dataSize = 16;
}
return dataSize;
}
// Auxiliar math functions
// Get float array of matrix data
static rl_float16 rlMatrixToFloatV(Matrix mat)
{
rl_float16 result = { 0 };
result.v[0] = mat.m0;
result.v[1] = mat.m1;
result.v[2] = mat.m2;
result.v[3] = mat.m3;
result.v[4] = mat.m4;
result.v[5] = mat.m5;
result.v[6] = mat.m6;
result.v[7] = mat.m7;
result.v[8] = mat.m8;
result.v[9] = mat.m9;
result.v[10] = mat.m10;
result.v[11] = mat.m11;
result.v[12] = mat.m12;
result.v[13] = mat.m13;
result.v[14] = mat.m14;
result.v[15] = mat.m15;
return result;
}
// Get identity matrix
static Matrix rlMatrixIdentity(void)
{
Matrix result = {
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f
};
return result;
}
// Get two matrix multiplication
// NOTE: When multiplying matrices... the order matters!
static Matrix rlMatrixMultiply(Matrix left, Matrix right)
{
Matrix result = { 0 };
result.m0 = left.m0*right.m0 + left.m1*right.m4 + left.m2*right.m8 + left.m3*right.m12;
result.m1 = left.m0*right.m1 + left.m1*right.m5 + left.m2*right.m9 + left.m3*right.m13;
result.m2 = left.m0*right.m2 + left.m1*right.m6 + left.m2*right.m10 + left.m3*right.m14;
result.m3 = left.m0*right.m3 + left.m1*right.m7 + left.m2*right.m11 + left.m3*right.m15;
result.m4 = left.m4*right.m0 + left.m5*right.m4 + left.m6*right.m8 + left.m7*right.m12;
result.m5 = left.m4*right.m1 + left.m5*right.m5 + left.m6*right.m9 + left.m7*right.m13;
result.m6 = left.m4*right.m2 + left.m5*right.m6 + left.m6*right.m10 + left.m7*right.m14;
result.m7 = left.m4*right.m3 + left.m5*right.m7 + left.m6*right.m11 + left.m7*right.m15;
result.m8 = left.m8*right.m0 + left.m9*right.m4 + left.m10*right.m8 + left.m11*right.m12;
result.m9 = left.m8*right.m1 + left.m9*right.m5 + left.m10*right.m9 + left.m11*right.m13;
result.m10 = left.m8*right.m2 + left.m9*right.m6 + left.m10*right.m10 + left.m11*right.m14;
result.m11 = left.m8*right.m3 + left.m9*right.m7 + left.m10*right.m11 + left.m11*right.m15;
result.m12 = left.m12*right.m0 + left.m13*right.m4 + left.m14*right.m8 + left.m15*right.m12;
result.m13 = left.m12*right.m1 + left.m13*right.m5 + left.m14*right.m9 + left.m15*right.m13;
result.m14 = left.m12*right.m2 + left.m13*right.m6 + left.m14*right.m10 + left.m15*right.m14;
result.m15 = left.m12*right.m3 + left.m13*right.m7 + left.m14*right.m11 + left.m15*right.m15;
return result;
}
// Transposes provided matrix
static Matrix rlMatrixTranspose(Matrix mat)
{
Matrix result = { 0 };
result.m0 = mat.m0;
result.m1 = mat.m4;
result.m2 = mat.m8;
result.m3 = mat.m12;
result.m4 = mat.m1;
result.m5 = mat.m5;
result.m6 = mat.m9;
result.m7 = mat.m13;
result.m8 = mat.m2;
result.m9 = mat.m6;
result.m10 = mat.m10;
result.m11 = mat.m14;
result.m12 = mat.m3;
result.m13 = mat.m7;
result.m14 = mat.m11;
result.m15 = mat.m15;
return result;
}
// Invert provided matrix
static Matrix rlMatrixInvert(Matrix mat)
{
Matrix result = { 0 };
// Cache the matrix values (speed optimization)
float a00 = mat.m0, a01 = mat.m1, a02 = mat.m2, a03 = mat.m3;
float a10 = mat.m4, a11 = mat.m5, a12 = mat.m6, a13 = mat.m7;
float a20 = mat.m8, a21 = mat.m9, a22 = mat.m10, a23 = mat.m11;
float a30 = mat.m12, a31 = mat.m13, a32 = mat.m14, a33 = mat.m15;
float b00 = a00*a11 - a01*a10;
float b01 = a00*a12 - a02*a10;
float b02 = a00*a13 - a03*a10;
float b03 = a01*a12 - a02*a11;
float b04 = a01*a13 - a03*a11;
float b05 = a02*a13 - a03*a12;
float b06 = a20*a31 - a21*a30;
float b07 = a20*a32 - a22*a30;
float b08 = a20*a33 - a23*a30;
float b09 = a21*a32 - a22*a31;
float b10 = a21*a33 - a23*a31;
float b11 = a22*a33 - a23*a32;
// Calculate the invert determinant (inlined to avoid double-caching)
float invDet = 1.0f/(b00*b11 - b01*b10 + b02*b09 + b03*b08 - b04*b07 + b05*b06);
result.m0 = (a11*b11 - a12*b10 + a13*b09)*invDet;
result.m1 = (-a01*b11 + a02*b10 - a03*b09)*invDet;
result.m2 = (a31*b05 - a32*b04 + a33*b03)*invDet;
result.m3 = (-a21*b05 + a22*b04 - a23*b03)*invDet;
result.m4 = (-a10*b11 + a12*b08 - a13*b07)*invDet;
result.m5 = (a00*b11 - a02*b08 + a03*b07)*invDet;
result.m6 = (-a30*b05 + a32*b02 - a33*b01)*invDet;
result.m7 = (a20*b05 - a22*b02 + a23*b01)*invDet;
result.m8 = (a10*b10 - a11*b08 + a13*b06)*invDet;
result.m9 = (-a00*b10 + a01*b08 - a03*b06)*invDet;
result.m10 = (a30*b04 - a31*b02 + a33*b00)*invDet;
result.m11 = (-a20*b04 + a21*b02 - a23*b00)*invDet;
result.m12 = (-a10*b09 + a11*b07 - a12*b06)*invDet;
result.m13 = (a00*b09 - a01*b07 + a02*b06)*invDet;
result.m14 = (-a30*b03 + a31*b01 - a32*b00)*invDet;
result.m15 = (a20*b03 - a21*b01 + a22*b00)*invDet;
return result;
}
#endif // RLGL_IMPLEMENTATION
</syntaxhighlight>
[https://github.com/Sirvoid/Midless Midless 3D Voxel], [https://github.com/Ibetz1/crafty Simple M*necraft], [https://github.com/ang3ltorres/Raylib-Demo_Test/tree/main/3d_ship 3dship],
== Misc ==
[[#top|...to the top]]
slowdown when running multiple 3d apps: this happens because of the GL semaphore "ping pong" between the tasks
which can cause like >10000 task switches (and GL context switches) per second.
Semaphores are evil! It you have two or more tasks (3d apps) competing for sem then they get into ping pong state
when a task is preempted while he owns the sem which is very likely. From then on (until a task switch happens while the sem is *not* locked) what will happen is that only one (GL) call can be made by task #1, then task switch to task #2 happens, which also can only make one (GL) call, then task switch to task #1 happens, which can only make one (GL) call, then task switch to task #2 happens, etc.
One solution to prevent this would be to have some GrabGL/UngrabGL (or ObtainGL,ReleaseGL if that sounds better)
functions to be used in 3D apps and then enclose big parts of GL rendering function calls with it. GrabGL would lock the GL sem and make sure context is correct. ReleaseGL would unlock the GL sem. Even better would be if GrabGL switched all the GL functions (through function table) to versions which which don't use semlock/contextcheck/semunlock at all.
<pre>
you must pass SDL_OPENGL to SDL_SetVideoMode, you must specify several GL attributes (depth buffer size, framebuffer sizes) using SDL_GL_SetAttribute and finally, if you wish to use double buffering you must specify it as a GL attribute, not by passing the SDL_DOUBLEBUF flag to SDL_SetVideoMode
</pre>
<pre>
using a double-buffered display, then you must use SDL_GL_SwapBuffers() to swap the buffers and update the display. To request double-buffering with OpenGL, use SDL_GL_SetAttribute with SDL_GL_DOUBLEBUFFER, and use SDL_GL_GetAttribute to see if you actually got
</pre>
Loaders may be required to help with different versions needs [https://bitbucket.org/alfonse/glloadgen/wiki/Home Lua based loading libraries with extensions], [https://docs.google.com/spreadsheet/ccc?key=0At5QLa2ZAYZBdHFLbEtvOHF5S1NobWJFbmpDUHZSWWc&usp=sharing extensions],
[http://www.openscenegraph.org/projects/osg Open Scene Graph] claims OGL 3.x and 4.x support, but has some kind of weird LGPL based hybrid license. It's C++ based and they consider subclassing to be outside of the scope of the license. The hybrid LGPL-derived license has an exception which allows the shipment of statically linked binaries, so that eliminates one of the major objections to using the LGPL in commercial work.
[http://www.ogre3d.org/ Ogre] has a new 3.3 renderer that seems to be a work in progress. Forum entries seem to indicate that "modern" shader architecture stuff for both OpenGL and DX11 are WIP. MIT license.
[http://g3d.sourceforge.net/ G3D] has OpenGL 3.3 but only for Windows and OS X. They used to have Linux support but discontinued it due to too many distros to deal with. A recent mailing list post says they want to reinstate the support. BSD license.
[http://clanlib.org/wiki/Main_Page ClanLib] seems to support 3.3..4.3 but may not build. Zlib license.
[http://irrlicht.sourceforge.net/ Irrlicht] claims OpenGL 3.x on their features page. Zlib license.
Cube 2 looks like OpenGL 2.x. Someone's working on something called Tesseract which might have more "dynamic lighting" capabilities, but it's unclear that this means 3.x+. Zlib license.
3D Physics – [https://github.com/RandyGaul/qu3e Qu3e], [ Bullet],
3D Game Engine – [https://github.com/showcases/game-engines List of],
the bare minimum of a "modernized" engine are
Conditional rendering support (if the engine relies on occlusion queries, which many engines do, it should use conditional rendering as much as possible to avoid CPU-GPU sync points)
GPU based skeletal animation (many engines still use CPU side skinning, despite the technology for GPU based animation is there for a decade now)
Instancing support (especially for particles, vegetation and other similar stuff)
Uniform buffer support (remove all glUniform* calls, despite they are still in core, allows also for batching)
Texture array support (use them as much as possible, batch draw commands together)
The most important take away here is to batch. GL 3.x+ provides dozens of different tech to support this, unfortunately they go unused 99% of the time.
===procedural map generation principles===
Simple room placement, BSP room placement, BSP interiors, cellular automata, drunkard's walk, mazes, diffusion-limited aggregation, voronoi, wave function collapse wfc (e.g 2D sprite sheets, tiles placed in terrain maps to 3d objects into 3d spaces) with valid path placed beforehand to save backtracking, and prefabs
Symmetry, layering/combining generators, different corridor algorithms, and doors placement
Domain warping with perturb
<pre>
#pragma once
#include "util/types.hpp"
#include "util/std.hpp"
#include "util/ndarray.hpp"
#include "util/collections.hpp"
#include "util/rand.hpp"
#include "util/hash.hpp"
#include "util/assert.hpp"
#include "util/bitset.hpp"
#include "util/result.hpp"
#include "util/omp.hpp"
namespace wfc {
enum Flags {
// add rotations of default patterns to pattern set
FLAGS_ROTATE = 1 << 0,
// add reflections of default patterns to pattern set
FLAGS_REFLECT = 1 << 1
};
// which pattern selection function to use
enum class PatternFunction {
WEIGHTED
};
// which cell selection function to use
enum class NextCellFunction {
MIN_ENTROPY
};
// behavior of borders for pattern calculation
// EXCLUDE: any pattern which would include a border is not used
// ZERO: borders have the value T(0)
// CLAMP: borders are clamped to their nearest defined value
// WRAP: borders are wrapped around the input data
enum BorderBehavior {
EXCLUDE,
ZERO,
CLAMP,
WRAP
};
// permute n-dimensional rotations of an array
template <usize N>
struct Rotator {};
template <>
struct Rotator<2> {
using V = ivec2;
// permutes rotations of src
template <typename T, usize S>
static inline std::array<std::array<T, S * S>, 4> permute(
const std::array<T, S * S> &src) {
std::array<std::array<T, S * S>, 4> dst;
dst[0] = src;
dst[1] = rotate_ccw<T, S>(dst[0]);
dst[2] = rotate_ccw<T, S>(dst[1]);
dst[3] = rotate_ccw<T, S>(dst[2]);
return dst;
}
private:
template <typename T, usize S>
static inline std::array<T, S * S> rotate(
const std::array<T, S * S> &src) {
std::array<T, S * S> dst;
for (usize i = 0; i < S; i++) {
for (usize j = 0; j < S; j++) {
ndarray::at(V(S), &dst[0], { i, j }) =
ndarray::at(V(S), &src[0], { S - j - 1, i });
}
}
return dst;
}
};
// permutes n-dimensional reflections of an array
template <usize N>
struct Reflector {
using V = math::vec<N, int, math::defaultp>;
template <typename T, usize S, usize VOL = math::cexp::pow(S, N)>
static inline auto permute(
const std::array<T, S * S> &src) {
std::array<std::array<T, VOL>, math::cexp::pow(2, N)> dst;
// iterate over possible permutations of axes
usize i = 0;
ndarray::each(
V(2),
[&](const V &v) {
const auto which = math::vec<N, bool, math::defaultp>(v);
dst[i] = src;
for (usize j = 0; j < N; j++) {
if (which[j]) {
dst[i] = reflect_axis<T, S>(dst[i], j);
}
}
i++;
});
return dst;
}
private:
template <typename T, usize S, usize VOL = math::cexp::pow(S, N)>
static inline auto reflect_axis(
const std::array<T, VOL> &src, usize axis) {
std::array<T, VOL> dst;
ndarray::each(
V(S),
[&](const V &v) {
V u = v;
u[axis] = S - u[axis] - 1;
ndarray::at(V(S), &dst[0], v) =
ndarray::at(V(S), &src[0], u);
});
return dst;
}
};
// neighbors in N dimensions
template <usize N>
struct Neighbors {};
template <>
struct Neighbors<2> {
static constexpr std::array<ivec2, 4> neighbors =
{
ivec2(-1, 0),
ivec2(1, 0),
ivec2(0, -1),
ivec2(0, 1),
};
};
template <>
struct Neighbors<3> {
static constexpr std::array<ivec3, 9> neighbors =
{
ivec3(-1, 0, 0),
ivec3(1, 0, 0),
ivec3(0, -1, 0),
ivec3(0, 1, 0),
ivec3(0, 0, -1),
ivec3(0, 0, 1),
};
};
// implements n-dimensional wave function collapse with the "overlapping model"
// T: pattern data type
// N: number of dimension
// S: size of patterns (MUST BE ODD!)
// D: bitset size
// V (defaulted): ivecN
template <
typename T,
usize N,
usize S,
usize D,
typename V = math::vec<N, int, math::defaultp>>
requires ((S % 2) == 1)
struct WFC {
// forward declarations
struct Pattern;
struct Element;
struct Wave;
// function which takes current wave and returns next cell to collapse
using NextCellFn = std::function<Element&(Wave&)>;
// function which chooses the pattern to collapse a cell to
using PatternFn = std::function<usize(Wave&, Element&)>;
// function used for optional callbacks during collapse process
using CallbackFn = std::function<void(const Wave&)>;
// S ** N (volume of one pattern)
static constexpr auto VOL = math::cexp::pow(S, N);
// pattern derived from input data
struct Pattern {
// unique pattern ID
usize id;
// normalized frequency of this pattern in input data
f32 frequency;
// value at the center of this pattern
T value;
// pattern data
std::array<T, VOL> data;
// valid neighbors on each side of this pattern
std::array<Bitset<D>, 2 * N> valid;
explicit Pattern(const std::array<T, VOL> &data)
: data(data),
value(ndarray::at(V(S), &data[0], V(S) / 2)) {}
// NOTE: comparison is on data only
auto operator<=>(const Pattern &other) const {
return (*this) == other ?
std::strong_ordering::equal
: this->hash() <=> other.hash();
}
// NOTE: equality comparison is on data only
bool operator==(const Pattern &other) const {
return this->hash() == other.hash()
&& this->data == other.data;
}
inline u64 hash() const {
if (this->_hash) {
return this->_hash;
}
u64 v = 0x12345;
for (const auto &x : this->data) {
v ^= x + 0x9e3779b9 + (v << 6) + (v >> 2);
}
return this->_hash = v;
}
private:
// stored hash, only calculated once
mutable u64 _hash = 0;
};
// wave element
struct Element {
// position in output space
V pos;
// coefficient, marked bits are VALID choices
Bitset<D> c;
// number of valid bits remaining
usize popcnt;
// value post-collapse (std::nullopt if not collapsed)
std::optional<T> value = std::nullopt;
// memoized entropy values
f32 sum_weights = 0.0f;
f32 sum_weight_log_weights = 0.0f;
f32 entropy = 0.0f;
// intialize entropy values, coefficient
void init(const Wave &w, const Bitset<D> &mask) {
this->c = mask;
this->popcnt = this->c.popcnt();
for (
auto it = this->c.begin_on();
it != this->c.end_on();
it++) {
const auto weight = w.wfc.patterns[*it].frequency;
this->sum_weights += weight;
this->sum_weight_log_weights += weight * std::log(weight);
}
}
// applies a mask to this element's coefficient, updating memoized
// entropy values
// returns false on failure (0 popcnt/contradiction)
bool apply(const Wave &w, const Bitset<D> &mask) {
// get bits which are on in the current coefficient but off in the
// new mask. exit early if nothing changes.
const auto diff = this->c & mask;
if (diff.popcnt() == 0) {
return true;
}
this->c &= mask;
for (
auto it = diff.begin_on();
it != diff.end_on();
it++) {
const auto weight = w.wfc.patterns[*it].frequency;
this->sum_weights -= weight;
this->sum_weight_log_weights -= weight * std::log(weight);
}
this->entropy =
std::log(this->sum_weights)
- (this->sum_weight_log_weights / this->sum_weights);
this->popcnt = this->c.popcnt();
return this->popcnt != 0;
}
// collapse this element to pattern n
bool collapse(usize n, const T &value) {
if (!this->c[n]) {
return false;
}
this->value = value;
this->c.reset();
this->c.set(n);
this->popcnt = 1;
this->entropy = 0.0f;
this->sum_weights = 0.0f;
this->sum_weight_log_weights = 0.0f;
return true;
}
// returns true if this element is collapsed
bool collapsed() const {
return static_cast<bool>(this->value);
}
};
// wave to collapse
struct Wave {
const WFC &wfc;
// size of output wave
V size_wave;
// output wave elements
std::vector<Element> wave;
// optional preset values
const std::optional<T> *preset;
// total number of collapsed elements
usize num_collapsed = 0;
Wave(
const WFC &wfc,
const V &size_wave,
const std::optional<T> *preset = nullptr)
: wfc(wfc),
size_wave(size_wave),
preset(preset) {}
// collapses the specified wave element to the only remaining
// possibility, or n if specified
result::Result<void, V> collapse(
Element &e,
usize n = std::numeric_limits<usize>::max()) {
n = (n == std::numeric_limits<usize>::max()) ? e.c.nth_set(0) : n;
const auto &p = this->wfc.patterns[n];
if (!e.collapse(n, p.value)) {
return result::Err(e.pos);
}
this->num_collapsed++;
return result::Ok();
}
// observe specified wave element, collapsing it to one of its possible
// values
result::Result<void, V> observe(Element &e) {
const auto n = this->wfc.pattern_fn(*this, e);
return this->collapse(e, n);
}
// propagate the current value of the specified wave element
// returns Ok on success, erroneous position V on failure
// (contradiction)
result::Result<void, V> propagate(Element &to_propagate) {
// DFS elements to update
std::stack<Element*> es;
es.push(to_propagate);
// if not std::nullopt, there is an unresolvable contradiction in
// the wave
std::optional<V> contradiction = std::nullopt;
// propagate each stack entry to neighbors
while (!es.empty()) {
auto &e = *es.top();
es.pop();
// get only valid non-collapsed neighbors
std::array<Element*, N * 2> neighbors;
for (usize i = 0; i < N * 2; i++) {
neighbors[i] = nullptr;
const auto &n = Neighbors<N>::neighbors[i];
const auto pos_n = e.pos + n;
if (!ndarray::in_bounds(this->size_wave, pos_n)) {
continue;
}
auto &e_n =
ndarray::at(
this->size_wave,
&this->wave[0],
pos_n);
if (e_n.collapsed()) {
continue;
}
neighbors[i] = &e_n;
}
// compute superpatterns for valid neighbors
std::array<Bitset<D>, N * 2> neighbor_patterns;
for (
auto it = e.c.begin_on();
it != e.c.end_on();
it++) {
const auto &p = this->wfc.patterns[*it];
for (usize i = 0; i < N * 2; i++) {
if (neighbors[i]) {
neighbor_patterns[i] |= p.valid[i];
}
}
}
// apply superpatterns
for (usize i = 0; i < N * 2; i++) {
if (!neighbors[i]) {
continue;
}
auto &e_n = *neighbors[i];
const auto popcnt_old = e_n.popcnt;
e_n.apply(*this, neighbor_patterns[i]);
if (e_n.popcnt != popcnt_old) {
if (e_n.popcnt == 0) {
// zero popcount = failure/contradiction
this->collapse(e_n, 0);
contradiction = e_n.pos;
break;
} else if (e_n.popcnt == 1) {
// one popcount = one remaining possibility/collapse
auto res = this->collapse(e_n);
if (res.isErr()) {
return res;
}
}
// propagate changed value
es.push(&e_n);
}
}
}
if (contradiction) {
return result::Err(*contradiction);
}
if (this->wfc.on_propagate) {
(*this->wfc.on_propagate)(*this);
}
return result::Ok();
}
// collapse the wave
result::Result<void, V> collapse() {
// initialize the wave, all patterns are valid for each element
this->wave = std::vector<Element>(math::prod(this->size_wave));
// safe to parallelize, only one element modified at a time
#pragma omp parallel for
for (usize i = 0; i < this->wave.size(); i++) {
auto &e = this->wave[i];
e.pos = ndarray::unravel_index(this->size_wave, i);
e.init(*this, this->wfc.mask_used);
}
// load preset values if present
if (this->preset) {
ndarray::each(
this->size_wave,
[&](const V &pos) {
const auto &p =
ndarray::at(this->size_wave, &this->preset[0], pos);
if (p) {
auto &e =
ndarray::at(
this->size_wave,
&this->wave[0],
pos);
e.value = *p;
}
});
}
// collapse the wave
while (this->num_collapsed != this->wave.size()) {
auto &e = this->wfc.next_cell_fn(*this);
const auto res_observe = this->observe(e);
if (res_observe.isErr()) {
return res_observe;
}
const auto res_prop = this->propagate(e);
if (res_prop.isErr()) {
return res_prop;
}
}
// success!
return result::Ok();
}
};
// size of input data
V size_in;
// input data
const T *in;
// possible patterns
std::vector<Pattern> patterns;
// function to select pattern to collapse to
PatternFn pattern_fn;
// function to select next cell to collapse
NextCellFn next_cell_fn;
// behavior of patterns on borders
BorderBehavior border_behavior;
// mask of used bits of coefficient bitsets
// bits are also zeroed for disallowed patterns (patterns without valid
// neighbors)
Bitset<D> mask_used;
// random generator
Rand rand;
// options
usize flags;
// optional callback to be called after propagation of each collapsed wave
// element
std::optional<CallbackFn> on_propagate = std::nullopt;
explicit WFC(
const V &size_in,
const T *in,
PatternFunction pattern_function,
NextCellFunction next_cell_function,
BorderBehavior border_behavior,
Rand &&rand,
usize flags)
: size_in(size_in),
in(in),
border_behavior(border_behavior),
rand(std::move(rand)),
flags(flags) {
// get pattern data from input at specified location
// returns std::nullopt if pattern is made illegal by border behavior
const auto data_at =
[&](const V ¢er) -> std::optional<std::array<T, VOL>> {
const auto base = center - (V(S) / 2);
if (border_behavior == BorderBehavior::EXCLUDE) {
if (!ndarray::in_bounds(size_in, base)
|| !ndarray::in_bounds(size_in, base + V(S) - 1)) {
return std::nullopt;
}
}
std::array<T, VOL> dst;
ndarray::each(
V(S),
[&](const V &offset) {
std::optional<T> override = std::nullopt;
V pos = base + offset;
switch (border_behavior) {
case BorderBehavior::EXCLUDE:
break;
case BorderBehavior::ZERO:
if (!ndarray::in_bounds(size_in, pos)) {
override = T(0);
}
break;
case BorderBehavior::CLAMP:
pos = math::clamp(pos, V(0), size_in - V(1));
break;
case BorderBehavior::WRAP:
pos = ((pos % size_in) + size_in) % size_in;
break;
};
ndarray::at(V(S), &dst[0], offset) =
override ?
*override
: ndarray::at(size_in, in, pos);
});
return std::make_optional(dst);
};
// slide along input data creating patterns
ndarray::each(
size_in,
[&](const V &p) {
if (const auto data = data_at(p)) {
this->patterns.emplace_back(Pattern(data));
}
});
// calculate per-pattern frequencies (normalization occurs later once
// patterns have been deduplicated)
std::unordered_map<u64, usize> pattern_hash_to_freq;
for (const auto &p : this->patterns) {
pattern_hash_to_freq[p.hash()]++;
}
// assign base frequencies (again, not normalized)
for (auto &p : this->patterns) {
p.frequency = static_cast<f32>(pattern_hash_to_freq[p.hash()]);
}
// removes duplicate patterns from this->patterns
const auto deduplicate =
[&]() {
std::sort(this->patterns.begin(), this->patterns.end());
this->patterns.erase(
std::unique(this->patterns.begin(), this->patterns.end()),
this->patterns.end());
};
// remove duplicate patterns
deduplicate();
// add rotations, reflections
const auto base_patterns = this->patterns;
this->patterns.clear();
for (const auto &p : base_patterns) {
this->patterns.push_back(p);
if (flags & FLAGS_ROTATE) {
ASSERT(N == 2, "can only rotate patterns in 2 dimensions");
if constexpr (N == 2) {
const auto permutations =
Rotator<N>::template permute<T, S>(p.data);
for (usize i = 1; i < permutations.size(); i++) {
auto &q =
this->patterns.emplace_back(
pattern(permutations[i]));
q.frequency = p.frequency;
}
}
}
if (flags & FLAGS_REFLECT) {
const auto permutations =
Reflector<N>::template permute<T, S>(p.data);
for (usize i = 1; i < permutations.size(); i++) {
auto &q =
this->patterns.emplace_back(
pattern(permutations[i]));
q.frequency = p.frequency;
}
}
}
// deduplicate again to remove duplicates added by reflection/rotation
deduplicate();
// normalize pattern frequencies, pattern set will no longer change
f32 frequency_total = 0.0f;
for (const auto &p : this->patterns) {
frequency_total += p.frequency;
}
for (auto &p : this->patterns) {
p.frequency /= frequency_total;
}
// compute used mask, assign IDs
this->mask_used.reset();
for (usize i = 0; i < this->patterns.size(); i++) {
this->patterns[i].id = i;
this->mask_used.set(i);
}
// compuate valid patterns around each pattern (adjacency)
// check against all overlapping slots for each pattern pair (p, q) for
// every side
//
// safe to parallelize on p because only p is being written to and not
// read from :)
#pragma omp parallel for
for (auto &p : this->patterns) {
for (const auto &q : this->patterns) {
for (usize i = 0; i < 2 * N; i++) {
const auto &n = Neighbors<N>::neighbors[i];
bool valid = true;
ndarray::each(
V(S),
[&](const auto &offset_q) {
if (!valid) {
return;
}
// compute offset into p's data
const auto offset_p = n + offset_q;
if (!ndarray::in_bounds(V(S), offset_p)) {
return;
}
const auto
v_p =
ndarray::at(V(S), &p.data[0], offset_p),
v_q =
ndarray::at(V(S), &q.data[0], offset_q);
// data must be equal at each offset for patterns to
// match (be valid neighbors)
if (v_p != v_q) {
valid = false;
}
});
if (valid) {
p.valid[i].set(q.id);
}
}
}
}
switch (pattern_function) {
case PatternFunction::WEIGHTED:
this->pattern_fn = this->pattern_weighted();
break;
}
switch (next_cell_fn) {
case NextCellFunction::MIN_ENTROPY:
this->next_cell_fn = this->next_cell_min_entropy();
break;
}
}
// collapses a wave into the specified output
// returns true on success
bool collapse(
const V &size_out,
T *out,
const std::optional<T> *preset = nullptr) const {
auto w = Wave(*this, size_out, preset);
const auto res = w.collapse();
if (res.isErr()) {
return false;
}
// map elements to output
ndarray::each(
w.size_wave,
[&](const V &pos) {
ndarray::at(size_out, out, pos) =
*ndarray::at(size_out, &w.wave, pos).value;
});
return true;
}
// returns a function which selects a pattern based on the distribution of
// patterns in the input data
PatternFn pattern_weighted() {
return [&](Wave &w, Element &e) -> usize {
f32 sum_cs = 0.0f;
std::vector<f32> cs(this->patterns.size());
for (
auto it = e.c.begin_on();
it != e.c.end_on();
it++) {
cs[*it] = this->patterns[*it].frequency;
sum_cs += cs[*it];
}
const auto r = this->rand.template next<f32>(0.0f, sum_cs);
f32 acc = 0.0f;
for (usize i = 0; i < cs.size(); i++) {
acc += cs[i];
if (acc >= r) {
return i;
}
}
ASSERT(false, "failed to select pattern for {}", e.pos);
return e.c.nth_set(0);
};
}
// returns a function which selects the next cell based on finding the cell
// with the minimum entropy in those remaining
NextCellFn next_cell_min_entropy() {
return [&](Wave &w) -> Element& {
f32 min = 1e4;
Element *argmin = nullptr;
// min entropy with a bit of noise
for (auto &e : w.wave) {
if (!e.collapsed()
&& e.entropy < min
&& e.entropy + rand.next<f32>(0.0f, 1e-6) < min) {
argmin = &e;
}
}
ASSERT(argmin);
return *argmin;
};
}
};
}
</pre>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
===isometric grid view===
Grid is rotated 45 deg and height reduced 50%
<pre>
func cartesian_to_isometric(vector):
return Vector2(vector.x - vector.y, (vector.x + vector.y) / 2)
</pre>
When a character moves in one direction in the isometric system, always moves both on the X and Y axis in the game.
<pre>
// These are the four numbers that define the transform, i hat and j hat
const i_x = 1;
const i_y = 0.5;
const j_x = -1;
const j_y = 0.5;
// Sprite size
const w = 32;
const h = 32;
function to_screen_coordinate(tile: Vector2) {
// Without accounting for sprite size
return {
x: tile.x * i_x + tile.y * j_x,
y: tile.x * i_y + tile.y * j_y,
}
// Accounting for sprite size
return {
x: tile.x * i_x * 0.5 * w + tile.y * j_x * 0.5 * w,
y: tile.x * i_y * 0.5 * h + tile.y * j_y * 0.5 * h,
}
}
// Going from screen coordinate to grid coordinate
function invert_matrix(a, b, c, d) {
// Determinant
const det = (1 / (a * d - b * c));
return {
a: det * d,
b: det * -b,
c: det * -c,
d: det * a,
}
}
function to_grid_coordinate(screen: Vector2) {
const a = i_x * 0.5 * w;
const b = j_x * 0.5 * w;
const c = i_y * 0.5 * h;
const d = j_y * 0.5 * h;
const inv = invert_matrix(a, b, c, d);
return {
x: screen.x * inv.a + screen.y * inv.b,
y: screen.x * inv.c + screen.y * inv.d,
}
}
</pre>
You have to manage the game data as if you were creating a top-down title, and you must then convert all the positions and motion vectors to render the characters and the levels properly
<pre>
#include <raylib.h>
#include <raymath.h>
#define GRID_WIDTH 8
#define GRID_HEIGHT 8
#define TILE_SIZE 64
#define PLAYER_SPEED 1
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
// Define tile types (add more as needed)
enum TileType {
TILE_FLOOR = 0,
TILE_WALL,
TILE_TREE,
TILE_WATER,
TILE_ELEVATION, // New tile type for elevation
TILE_GRASS,
};
int playerX = 0;
int playerY = 0;
// 3D array representing the isometric grid with tile types and elevation
int grid[GRID_WIDTH][GRID_HEIGHT][2] = {0}; // Initialize with all floor tiles at elevation 0
// Function to convert grid coordinates to screen coordinates
Vector2 GridToScreen(int x, int y, int elevation) {
Vector2 screenPos;
screenPos.x = (x - y) * (TILE_SIZE / 2);
screenPos.y = (x + y) * (TILE_SIZE / 4) - elevation * (TILE_SIZE / 2);
return screenPos;
}
// Function to check if the player can move to the specified grid position
bool CanMoveTo(int x, int y) {
if (x < 0 || x >= GRID_WIDTH || y < 0 || y >= GRID_HEIGHT) {
// Out of bounds
return false;
}
// Check the tile type and elevation at the specified grid position
int tileType = grid[x][y][0];
int elevation = grid[x][y][1];
// Check if the target tile has an elevation of 1 or is flat ground (elevation 0)
if (elevation == 1 || elevation == 0) {
// If the tile is a wall or tree, return false
if (tileType == TILE_WALL || tileType == TILE_TREE) {
return false;
}
return true; // Otherwise, the player can move to this tile
}
// Check if the player is moving from elevation 1 to elevation 2 or vice versa
int currentElevation = grid[playerX][playerY][1];
if ((currentElevation == 1 && elevation == 2) || (currentElevation == 2 && elevation == 1)){
return true;
}
return false; // Elevation is 2 or higher, and it's not a valid move from elevation 0
}
int main() {
InitWindow(SCREEN_WIDTH, SCREEN_HEIGHT, "Isometric Grid with Raylib");
SetTargetFPS(60);
// Place wall tiles at specific locations with elevation 1 (you can change these as needed)
grid[2][5][0] = TILE_WALL;
grid[3][1][0] = TILE_WALL;
grid[4][3][0] = TILE_WALL;
grid[2][4][0] = TILE_WALL;
grid[3][3][0] = TILE_WALL;
// Add other tile types (e.g., tree, water, grass) at specific locations and elevations
grid[1][3][0] = TILE_TREE;
grid[6][4][0] = TILE_TREE;
grid[4][1][0] = TILE_WATER;
grid[0][7][0] = TILE_ELEVATION; // Elevation at (0, 7) represented by the rock tile
grid[7][0][0] = TILE_GRASS;
// Set the elevation value for the tile representing the rock elevation
grid[0][7][1] = 1; // Elevation level of 1 for the rock tile
grid[1][7][1] = 2; // Elevation level of 1 for the rock tile
// Load textures
Texture2D floorTexture = LoadTexture("images/floorTile.png");
Texture2D wallTexture = LoadTexture("images/wallTile.png");
Texture2D playerTexture = LoadTexture("images/playerTile.png");
Texture2D treeTexture = LoadTexture("images/treeTile.png");
Texture2D waterTexture = LoadTexture("images/waterTile.png");
Texture2D elevationTexture = LoadTexture("images/rockTile.png"); // Texture for elevation (rock tile)
Texture2D grassTexture = LoadTexture("images/grassTile.png");
while (!WindowShouldClose()) {
// Handle player movement
if (IsKeyPressed(KEY_W) && CanMoveTo(playerX, playerY - 1)) {
playerY -= PLAYER_SPEED;
}
if (IsKeyPressed(KEY_A) && CanMoveTo(playerX - 1, playerY)) {
playerX -= PLAYER_SPEED;
}
if (IsKeyPressed(KEY_S) && CanMoveTo(playerX, playerY + 1)) {
playerY += PLAYER_SPEED;
}
if (IsKeyPressed(KEY_D) && CanMoveTo(playerX + 1, playerY)) {
playerX += PLAYER_SPEED;
}
// Ensure the player stays within the grid boundaries
playerX = Clamp(playerX, 0, GRID_WIDTH - 1);
playerY = Clamp(playerY, 0, GRID_HEIGHT - 1);
BeginDrawing();
ClearBackground(BLACK);
// Render tiles from back to front (lower y-axis first)
for (int y = 0; y < GRID_HEIGHT; y++) {
for (int x = 0; x < GRID_WIDTH; x++) {
Vector2 screenPos = GridToScreen(x, y, grid[x][y][1]); // Use the elevation value
// Render the tile at grid[x][y] at (screenPos.x, screenPos.y)
switch (grid[x][y][0]) {
case TILE_WALL:
DrawTexture(wallTexture, screenPos.x + SCREEN_WIDTH / 2, screenPos.y, WHITE);
break;
case TILE_TREE:
DrawTexture(treeTexture, screenPos.x + SCREEN_WIDTH / 2, screenPos.y, WHITE);
break;
case TILE_WATER:
DrawTexture(waterTexture, screenPos.x + SCREEN_WIDTH / 2, screenPos.y, WHITE);
break;
case TILE_ELEVATION:
DrawTexture(elevationTexture, screenPos.x + SCREEN_WIDTH / 2, screenPos.y, WHITE);
break;
case TILE_GRASS:
DrawTexture(grassTexture, screenPos.x + SCREEN_WIDTH / 2, screenPos.y, WHITE);
break;
default:
DrawTexture(floorTexture, screenPos.x + SCREEN_WIDTH / 2, screenPos.y, WHITE);
break;
}
// Render the player
if (x == playerX && y == playerY) {
DrawTexture(playerTexture, screenPos.x + SCREEN_WIDTH / 2, screenPos.y, WHITE);
}
}
}
EndDrawing();
}
// Unload textures
UnloadTexture(floorTexture);
UnloadTexture(wallTexture);
UnloadTexture(playerTexture);
UnloadTexture(treeTexture);
UnloadTexture(waterTexture);
UnloadTexture(elevationTexture);
UnloadTexture(grassTexture);
CloseWindow();
return 0;
}
</pre>
<pre>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_ttf.h>
#include <iostream>
#define WIDTH 920
#define HEIGHT 620
#define FONT_SIZE 32
#define TILE_SIZE 64
struct object {
SDL_Rect dest, src;
SDL_Texture* img;
};
object grid[12][12];
object selected;
bool running;
SDL_Renderer* renderer;
SDL_Window* window;
TTF_Font *font;
SDL_Color fcolor;
SDL_Point mouse;
int frameCount, timerFPS, lastFrame, fps;
SDL_Texture* setImage(std::string filename) {
return IMG_LoadTexture(renderer, filename.c_str());
}
void draw(object o) {
SDL_RenderCopyEx(renderer, o.img, &o.src, &o.dest, 0, NULL, SDL_FLIP_NONE);
}
SDL_Surface *surface;
SDL_Texture *texture;
SDL_Rect wrect;
void write(std::string text, int x, int y) {
if (font == NULL) {
fprintf(stderr, "error: font not found\n");
exit(EXIT_FAILURE);
}
fcolor.r = 0;
fcolor.g = 0;
fcolor.b = 0;
const char* t = text.c_str();
surface = TTF_RenderText_Solid(font, t, fcolor);
texture = SDL_CreateTextureFromSurface(renderer, surface);
wrect.w = surface->w;
wrect.h = surface->h;
wrect.x = x-wrect.w;
wrect.y = y-wrect.h;
SDL_FreeSurface(surface);
SDL_RenderCopy(renderer, texture, NULL, &wrect);
SDL_DestroyTexture(texture);
}
void update() {
}
const Uint8 *keystates;
void input() {
SDL_Event e;
keystates = SDL_GetKeyboardState(NULL);
while(SDL_PollEvent(&e)) {
if(e.type == SDL_QUIT) running=false;
}
if(keystates[SDL_SCANCODE_ESCAPE]) running=false;
SDL_GetMouseState(&mouse.x, &mouse.y);
}
bool touching;
std::string m;
void render() {
SDL_SetRenderDrawColor(renderer, 240, 240, 240, 255);
SDL_RenderClear(renderer);
frameCount++;
int timerFPS = SDL_GetTicks()-lastFrame;
if(timerFPS<(1000/60)) {
SDL_Delay((1000/60)-timerFPS);
}
touching=0;
for(int i=0; i<12; i++) {
for(int j=0; j<12; j++) {
draw(grid[i][j]);
if(SDL_PointInRect(&mouse, &grid[i][j].dest)) {
m = std::to_string(i) + " " + std::to_string(j);
selected.dest = grid[i][j].dest;
touching=1;
//SDL_RenderDrawRect(renderer, &grid[i][j].dest);
}
}
}
if(touching) {
draw(selected);
write(m, mouse.x, mouse.y);
}
SDL_RenderPresent(renderer);
}
void init() {
object tile;
tile.img=setImage("res/block.png");
tile.src.w=32;tile.src.h=32;
tile.src.x=tile.src.y=0;
tile.dest.w=TILE_SIZE; tile.dest.h=TILE_SIZE;
for(int i=0; i<12; i++) {
for(int j=0; j<12; j++) {
tile.dest.x=(i*TILE_SIZE - j*TILE_SIZE)/2 + 426;
tile.dest.y=(j*TILE_SIZE + i*TILE_SIZE)/4 + 140;
grid[i][j]=tile;
}
}
selected=tile; selected.img=setImage("res/select.png");
}
int main() {
running=1;
static int lastTime=0;
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "0");
if(SDL_Init(SDL_INIT_EVERYTHING) < 0) std::cout << "Failed at SDL_Init()" << std::endl;
if(SDL_CreateWindowAndRenderer(WIDTH, HEIGHT, 0, &window, &renderer) < 0) std::cout << "Failed at SDL_CreateWindowAndRenderer()" << std::endl;
SDL_SetWindowTitle(window, "Isometric Grid");
TTF_Init();
font = TTF_OpenFont("res/BebasNeue.ttf", FONT_SIZE);
if(font == NULL) std::cout << "failed to load font" << std::endl;
init();
while(running) {
lastFrame=SDL_GetTicks();
if(lastFrame>=(lastTime+1000)) {
lastTime=lastFrame;
fps=frameCount;
frameCount=0;
}
update();
input();
render();
}
TTF_CloseFont(font);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
}
</pre>
invert matrix
<pre>
// These are the four numbers that define the transform, i hat and j hat
const i_x = 1;
const i_y = 0.5;
const j_x = -1;
const j_y = 0.5;
// Sprite size
const w = 32;
const h = 32;
function to_screen_coordinate(tile: Vector2) {
// Without accounting for sprite size
return {
x: tile.x * i_x + tile.y * j_x,
y: tile.x * i_y + tile.y * j_y,
}
// Accounting for sprite size
return {
x: tile.x * i_x * 0.5 * w + tile.y * j_x * 0.5 * w,
y: tile.x * i_y * 0.5 * h + tile.y * j_y * 0.5 * h,
}
}
// Going from screen coordinate to grid coordinate
function invert_matrix(a, b, c, d) {
// Determinant
const det = (1 / (a * d - b * c));
return {
a: det * d,
b: det * -b,
c: det * -c,
d: det * a,
}
}
function to_grid_coordinate(screen: Vector2) {
const a = i_x * 0.5 * w;
const b = j_x * 0.5 * w;
const c = i_y * 0.5 * h;
const d = j_y * 0.5 * h;
const inv = invert_matrix(a, b, c, d);
return {
x: screen.x * inv.a + screen.y * inv.b,
y: screen.x * inv.c + screen.y * inv.d,
}
}
</pre>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
===rhythm===
[https://github.com/Kienyew/MusicTiles Simple scrolling in C], [], [],
===breakout clones===
[https://github.com/Ilya3point999K/Crusher 3D in C++], [], [],
===pathfinding===
From [https://www.youtube.com/watch?v=icZj67PTFhc ],
<syntaxhighlight lang="c">
/*
OneLoneCoder.com - PathFinding A*
"No more getting lost..." - @Javidx9
License
~~~~~~~
Copyright (C) 2018 Javidx9
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; See license for details.
Original works located at:
https://www.github.com/onelonecoder
https://www.onelonecoder.com
https://www.youtube.com/javidx9
GNU GPLv3
https://github.com/OneLoneCoder/videos/blob/master/LICENSE
From Javidx9 :)
~~~~~~~~~~~~~~~
Hello! Ultimately I don't care what you use this for. It's intended to be
educational, and perhaps to the oddly minded - a little bit of fun.
Please hack this, change it and use it in any way you see fit. You acknowledge
that I am not responsible for anything bad that happens as a result of
your actions. However this code is protected by GNU GPLv3, see the license in the
github repo. This means you must attribute me if you use it. You can view this
license here: https://github.com/OneLoneCoder/videos/blob/master/LICENSE
Cheers!
Background
~~~~~~~~~~
The A* path finding algorithm is a widely used and powerful shortest path
finding node traversal algorithm. A heuristic is used to bias the algorithm
towards success. This code is probably more interesting than the video. :-/
Author
~~~~~~
Twitter: @javidx9
Blog: www.onelonecoder.com
Video:
~~~~~~
https://youtu.be/icZj67PTFhc
Last Updated: 08/10/2017
*/
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
#include "olcConsoleGameEngine.h"
class OneLoneCoder_PathFinding : public olcConsoleGameEngine
{
public:
OneLoneCoder_PathFinding()
{
m_sAppName = L"Path Finding";
}
private:
struct sNode
{
bool bObstacle = false; // Is the node an obstruction?
bool bVisited = false; // Have we searched this node before?
float fGlobalGoal; // Distance to goal so far
float fLocalGoal; // Distance to goal if we took the alternative route
int x; // Nodes position in 2D space
int y;
vector<sNode*> vecNeighbours; // Connections to neighbours
sNode* parent; // Node connecting to this node that offers shortest parent
};
sNode *nodes = nullptr;
int nMapWidth = 16;
int nMapHeight = 16;
sNode *nodeStart = nullptr;
sNode *nodeEnd = nullptr;
protected:
virtual bool OnUserCreate()
{
// Create a 2D array of nodes - this is for convenience of rendering and construction
// and is not required for the algorithm to work - the nodes could be placed anywhere
// in any space, in multiple dimensions...
nodes = new sNode[nMapWidth * nMapHeight];
for (int x = 0; x < nMapWidth; x++)
for (int y = 0; y < nMapHeight; y++)
{
nodes[y * nMapWidth + x].x = x; // ...because we give each node its own coordinates
nodes[y * nMapWidth + x].y = y;
nodes[y * nMapWidth + x].bObstacle = false;
nodes[y * nMapWidth + x].parent = nullptr;
nodes[y * nMapWidth + x].bVisited = false;
}
// Create connections - in this case nodes are on a regular grid
for (int x = 0; x < nMapWidth; x++)
for (int y = 0; y < nMapHeight; y++)
{
if(y>0)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y - 1) * nMapWidth + (x + 0)]);
if(y<nMapHeight-1)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y + 1) * nMapWidth + (x + 0)]);
if (x>0)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y + 0) * nMapWidth + (x - 1)]);
if(x<nMapWidth-1)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y + 0) * nMapWidth + (x + 1)]);
// We can also connect diagonally
/*if (y>0 && x>0)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y - 1) * nMapWidth + (x - 1)]);
if (y<nMapHeight-1 && x>0)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y + 1) * nMapWidth + (x - 1)]);
if (y>0 && x<nMapWidth-1)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y - 1) * nMapWidth + (x + 1)]);
if (y<nMapHeight - 1 && x<nMapWidth-1)
nodes[y*nMapWidth + x].vecNeighbours.push_back(&nodes[(y + 1) * nMapWidth + (x + 1)]);
*/
}
// Manually positio the start and end markers so they are not nullptr
nodeStart = &nodes[(nMapHeight / 2) * nMapWidth + 1];
nodeEnd = &nodes[(nMapHeight / 2) * nMapWidth + nMapWidth-2];
return true;
}
bool Solve_AStar()
{
// Reset Navigation Graph - default all node states
for (int x = 0; x < nMapWidth; x++)
for (int y = 0; y < nMapHeight; y++)
{
nodes[y*nMapWidth + x].bVisited = false;
nodes[y*nMapWidth + x].fGlobalGoal = INFINITY;
nodes[y*nMapWidth + x].fLocalGoal = INFINITY;
nodes[y*nMapWidth + x].parent = nullptr; // No parents
}
auto distance = [](sNode* a, sNode* b) // For convenience
{
return sqrtf((a->x - b->x)*(a->x - b->x) + (a->y - b->y)*(a->y - b->y));
};
auto heuristic = [distance](sNode* a, sNode* b) // So we can experiment with heuristic
{
return distance(a, b);
};
// Setup starting conditions
sNode *nodeCurrent = nodeStart;
nodeStart->fLocalGoal = 0.0f;
nodeStart->fGlobalGoal = heuristic(nodeStart, nodeEnd);
// Add start node to not tested list - this will ensure it gets tested.
// As the algorithm progresses, newly discovered nodes get added to this
// list, and will themselves be tested later
list<sNode*> listNotTestedNodes;
listNotTestedNodes.push_back(nodeStart);
// if the not tested list contains nodes, there may be better paths
// which have not yet been explored. However, we will also stop
// searching when we reach the target - there may well be better
// paths but this one will do - it wont be the longest.
while (!listNotTestedNodes.empty() && nodeCurrent != nodeEnd)// Find absolutely shortest path // && nodeCurrent != nodeEnd)
{
// Sort Untested nodes by global goal, so lowest is first
listNotTestedNodes.sort([](const sNode* lhs, const sNode* rhs){ return lhs->fGlobalGoal < rhs->fGlobalGoal; } );
// Front of listNotTestedNodes is potentially the lowest distance node. Our
// list may also contain nodes that have been visited, so ditch these...
while(!listNotTestedNodes.empty() && listNotTestedNodes.front()->bVisited)
listNotTestedNodes.pop_front();
// ...or abort because there are no valid nodes left to test
if (listNotTestedNodes.empty())
break;
nodeCurrent = listNotTestedNodes.front();
nodeCurrent->bVisited = true; // We only explore a node once
// Check each of this node's neighbours...
for (auto nodeNeighbour : nodeCurrent->vecNeighbours)
{
// ... and only if the neighbour is not visited and is
// not an obstacle, add it to NotTested List
if (!nodeNeighbour->bVisited && nodeNeighbour->bObstacle == 0)
listNotTestedNodes.push_back(nodeNeighbour);
// Calculate the neighbours potential lowest parent distance
float fPossiblyLowerGoal = nodeCurrent->fLocalGoal + distance(nodeCurrent, nodeNeighbour);
// If choosing to path through this node is a lower distance than what
// the neighbour currently has set, update the neighbour to use this node
// as the path source, and set its distance scores as necessary
if (fPossiblyLowerGoal < nodeNeighbour->fLocalGoal)
{
nodeNeighbour->parent = nodeCurrent;
nodeNeighbour->fLocalGoal = fPossiblyLowerGoal;
// The best path length to the neighbour being tested has changed, so
// update the neighbour's score. The heuristic is used to globally bias
// the path algorithm, so it knows if its getting better or worse. At some
// point the algo will realise this path is worse and abandon it, and then go
// and search along the next best path.
nodeNeighbour->fGlobalGoal = nodeNeighbour->fLocalGoal + heuristic(nodeNeighbour, nodeEnd);
}
}
}
return true;
}
virtual bool OnUserUpdate(float fElapsedTime)
{
int nNodeSize = 9;
int nNodeBorder = 2;
// Use integer division to nicely get cursor position in node space
int nSelectedNodeX = m_mousePosX / nNodeSize;
int nSelectedNodeY = m_mousePosY / nNodeSize;
if (m_mouse[0].bReleased) // Use mouse to draw maze, shift and ctrl to place start and end
{
if(nSelectedNodeX >=0 && nSelectedNodeX < nMapWidth)
if (nSelectedNodeY >= 0 && nSelectedNodeY < nMapHeight)
{
if (m_keys[VK_SHIFT].bHeld)
nodeStart = &nodes[nSelectedNodeY * nMapWidth + nSelectedNodeX];
else if (m_keys[VK_CONTROL].bHeld)
nodeEnd = &nodes[nSelectedNodeY * nMapWidth + nSelectedNodeX];
else
nodes[nSelectedNodeY * nMapWidth + nSelectedNodeX].bObstacle = !nodes[nSelectedNodeY * nMapWidth + nSelectedNodeX].bObstacle;
Solve_AStar(); // Solve in "real-time" gives a nice effect
}
}
// Draw Connections First - lines from this nodes position to its
// connected neighbour node positions
Fill(0, 0, ScreenWidth(), ScreenHeight(), L' ');
for (int x = 0; x < nMapWidth; x++)
for (int y = 0; y < nMapHeight; y++)
{
for (auto n : nodes[y*nMapWidth + x].vecNeighbours)
{
DrawLine(x*nNodeSize + nNodeSize / 2, y*nNodeSize + nNodeSize / 2,
n->x*nNodeSize + nNodeSize / 2, n->y*nNodeSize + nNodeSize / 2, PIXEL_SOLID, FG_DARK_BLUE);
}
}
// Draw Nodes on top
for (int x = 0; x < nMapWidth; x++)
for (int y = 0; y < nMapHeight; y++)
{
Fill(x*nNodeSize + nNodeBorder, y*nNodeSize + nNodeBorder,
(x + 1)*nNodeSize - nNodeBorder, (y + 1)*nNodeSize - nNodeBorder,
PIXEL_HALF, nodes[y * nMapWidth + x].bObstacle ? FG_WHITE : FG_BLUE);
if (nodes[y * nMapWidth + x].bVisited)
Fill(x*nNodeSize + nNodeBorder, y*nNodeSize + nNodeBorder, (x + 1)*nNodeSize - nNodeBorder, (y + 1)*nNodeSize - nNodeBorder, PIXEL_SOLID, FG_BLUE);
if(&nodes[y * nMapWidth + x] == nodeStart)
Fill(x*nNodeSize + nNodeBorder, y*nNodeSize + nNodeBorder, (x + 1)*nNodeSize - nNodeBorder, (y + 1)*nNodeSize - nNodeBorder, PIXEL_SOLID, FG_GREEN);
if(&nodes[y * nMapWidth + x] == nodeEnd)
Fill(x*nNodeSize + nNodeBorder, y*nNodeSize + nNodeBorder, (x + 1)*nNodeSize - nNodeBorder, (y + 1)*nNodeSize - nNodeBorder, PIXEL_SOLID, FG_RED);
}
// Draw Path by starting ath the end, and following the parent node trail
// back to the start - the start node will not have a parent path to follow
if (nodeEnd != nullptr)
{
sNode *p = nodeEnd;
while (p->parent != nullptr)
{
DrawLine(p->x*nNodeSize + nNodeSize / 2, p->y*nNodeSize + nNodeSize / 2,
p->parent->x*nNodeSize + nNodeSize / 2, p->parent->y*nNodeSize + nNodeSize / 2, PIXEL_SOLID, FG_YELLOW);
// Set next node to this node's parent
p = p->parent;
}
}
return true;
}
};
int main()
{
OneLoneCoder_PathFinding game;
game.ConstructConsole(160, 160, 6, 6);
game.Start();
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
<syntaxhighlight lang="c">
</syntaxhighlight>
===metroidvania===
Topology - Abilities and Upgrades - Secrets and Misc - Locks and Keys
Macro Top down design - Overworld - Area - Room
*Overworld, critical points and necessary destinations
*Area,
*Main routes, Landmarks, POI,
*Storyboard and events
*Landscapes and Lore
=== Game design document GDD ===
[[#top|...to the top]]
Top 100 games have over 90% market share
95% of indie games make very little money
Concept (marketing hook in order of difficulty) - '''gamestyle with gamestyle but ... '''
arcade, catch, platformer, endless runner, mazes, boss rush, tower defense, puzzle, side scrolling, city builder, rhythm, text, visual novel, adventure, party, shoot 'em up shmups, metrovania, bullet hell, shooting gallery, beat 'em up, walking sim on rails, card deck builder, cozy life cooking, racing, fighter, tactical turn based, real time strategy rts long term, cosy relationships, survival horror, collectothon, fps, sandbox, management simulator, trading, sports, betting, rogue, roguelite, roguelike, dungeon crawler, rpg, horror, souls, soulslite, soulslike, battle royale, arena, co-op,
Similar games - same ... look / feel / genre / scope / target avatar audience
Measurement (Scale) - how the character / enemies interact, like reach, swing, grab, etc
Prototype - ugly grey box version, mock ups, concepts, screenshots, color schemes, logo, fonts, etc
10min demo - vertical slice for funding, getting initial impressions about good bits, poor ideas, missing parts, etc i.e playtesting
Fun like overcoming obstacles challenges, progression (quests logs to do lists) and rewards, sense of wonder
Design Patterns - finite state machines (behaviors through states entities transitions), event bus singleton (manage signals from objects), entity component patterns (building blocks), Behavior Trees, Goal Action Planners, Hierarchical Tasks, Crowd Pathfinding, Collision Awareness, NPC Attacks
Game Play Loop - , extraction, looter shooter,
Mechanics
* Walls, Spikes, , etc
*
Story - Narrative, storyline,
Shipping
* game jam to limit scope and allow completion within 1 week with clean code
* then expand to 3,4 and 6 month cycles later as you gain experience and knowledge, later 9 or 12 months max to gain experience and stay focused
<pre>
design process
- Empathize: Research user needs
- Define: State user needs and problems
- Refine: Challenge assumptions and create ideas
- Prototype: Start to create solutions
- Test: Try out solutions
</pre>
*Design
*Programming
*Art
*Audio
===Examples in C C++===
[https://www.youtube.com/watch?v=7SKVQyA4TjU Languages in 3 Hours], [], [],
[https://www.youtube.com/watch?v=LvpS3ILwQNA Raylib Pong Video with], [https://github.com/JonesRepo/Pong-Tutorial Pong Tutorial C++], [],
[https://github.com/raysan5/raylib-game-template C game template], [https://github.com/raylib-extras/game-premake game premake], [https://github.com/AndrewHamel111/raylib-Asteroids Asteroids in C raylib], [https://github.com/AndrewHamel111/raylib-AppleCatcher Catch items in C], [],
[https://github.com/alielsaleh/cosmic-hell?ref=https://githubhelp.com bullet hell], [], [],
[https://github.com/vedangjavdekar/Raylib_Futoshiki Puzzle],
[https://github.com/yousuf-4594/Dino-Alert ], [https://github.com/daniel-meilak/Isometric-Grid Co-ordinates], [https://www.youtube.com/watch?v=04oQ2jOUjkU ], [],
[https://github.com/raylib-extras/RPGExample C++ RPG simple], [https://github.com/un4ckn0wl3z/ClassyClash.RayLib C++ RPG simple], [https://github.com/bredlej/dungeon_crawler c++ dungeon crawler], [],
[https://github.com/Pakz001/Raylib-Examples 2D and 3D examples], [https://github.com/bredlej/tleilax_cpp Stars c++], [], [],
[https://github.com/WEREMSOFT/c99-raylib-car-physics Car physics rally], [https://www.cs.cmu.edu/afs/cs/academic/class/15462-s13/www/lec_slides/Jakobsen.pdf pdf], [],
[https://github.com/mahakal001/maze-runner/tree/master Simple AI Maze runner], [], [],
[https://github.com/LogicEu/wfc wfc in c], [],
<pre>
GL_VERSION: 1.4 Mesa 7.11
GL_EXTENSIONS: GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_polygon_offset GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_multitexture GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture GL_ARB_shadow GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_APPLE_packed_pixels GL_APPLE_vertex_array_object GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_vertex_program GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_NV_primitive_restart GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel GL_ARB_point_sprite GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_OES_read_format GL_ARB_color_buffer_float GL_ARB_pixel_buffer_object GL_ARB_texture_rectangle GL_EXT_pixel_buffer_object GL_EXT_texture_rectangle GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_packed_depth_stencil GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_EXT_gpu_program_parameters GL_EXT_texture_env_combine GL_OES_EGL_image GL_ARB_copy_buffer GL_ARB_map_buffer_range GL_ARB_vertex_array_bgra GL_EXT_vertex_array_bgra GL_ARB_draw_elements_base_vertex GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex GL_ARB_sampler_objects GL_EXT_provoking_vertex GL_ARB_robustness
GL_RENDERER: Gallium 0.4 on i915 (chipset: 915GM)
GL_VENDOR: VMware, Inc.
GLU_VERSION: 1.3
GLU_EXTENSIONS: GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess
GLUT_API_VERSION: 5
GLUT_XLIB_IMPLEMENTATION: 15
</pre>
{{BOOKCAT}}
tsntonpmf2fnbbcwqdf466l1qhrhi1o
Template:Incomplete/doc
10
270420
4634688
3446455
2026-05-07T21:58:35Z
~2026-27672-80
3582007
4634688
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
=== Usage ===
$fn = 64;
base_w = 50;
base_h = 22;
base_t = 3;
text_h = 1.2;
module rounded_plate(w,h,r,t){
linear_extrude(height=t)
hull(){
translate([-(w/2-r),-(h/2-r)]) circle(r);
translate([(w/2-r),-(h/2-r)]) circle(r);
translate([-(w/2-r),(h/2-r)]) circle(r);
translate([(w/2-r),(h/2-r)]) circle(r);
}
}
union(){
rounded_plate(base_w, base_h, 3, base_t);
translate([0,0,base_t])
linear_extrude(height=text_h)
text("WORKHORSE", size=7, halign="center", valign="center", font="Liberation Sans:style=Bold");
// corner rivets
for(x=[-20,20])
for(y=[-7,7])
translate([x,y,base_t]) cylinder(h=1,d=2.5);
}
2q5qo6irqjje1prpgxzr3p3i53wdguy
Wikijunior:Programming for Kids/Writing Your Algorithms
110
289361
4634742
4624158
2026-05-08T08:42:52Z
ShakespeareFan00
46022
4634742
wikitext
text/x-wiki
{{navigate|Prev=Top-Down or Bottom-Up?|Next=Variables and Data Types}}
You probably have an idea of what an algorithm is. It's something used by a computer to do something. What exactly is that something?
== What is an algorithm? ==
An algorithm is a series of step-by-step procedures for performing calculations or processing data. Algorithms are independent of programming languages. That means an algorithm can be converted into any programming language. When we write algorithms, we need not consider elements unique to the language of our choice. Here's an example of an algorithm describing how to play a game of scissors-paper-rock whereby you need to win two rounds out of three:
*'''Step 1:''' Both people pick one from: scissors, paper, rock
*'''Step 2:''' If the two choices are the same, redo step 1
*'''Step 3:''' If the two choices are different:
**'''Step 3.1:''' If the first person picked scissors and the second picked paper, then the first person gets a point
**'''Step 3.2:''' If the first person picked scissors and the second picked rock, then the second person gets a point
**'''Step 3.3:''' If the first person picked paper and the second picked scissors, then the second person gets a point
**'''Step 3.4:''' If the first person picked paper and the second picked rock, then the first person gets a point
**'''Step 3.5:''' If the first person picked stone and the second picked scissors, then the first person gets a point
**'''Step 3.6:''' If the first person picked stone and the second picked paper, then the second person gets a point
**'''Step 3.7:''' Repeat steps 1 to 3 until one person has two points
The above algorithm is not represented in a standard way, however. There are two main ways to represent an algorithm: '''flowcharts''' and '''pseudocode'''.
== Flowcharts ==
Flowcharts represent algorithms in a graphical manner. There is a standard set of rules we must follow when we draw flowcharts. Don't feel intimidated by the descriptions: we'll cover them one by one in the next few chapters.
{|style="border-color:#000000;border-style:solid;border-width:3px;border-collapse:collapse;width:100%;"
! Symbol
! Name
! Description
|-
| style="background-color:#FFFF00;border-style:solid;border-width:3px;" | [[File:Flowchart start symbol.svg|300px]]
| style="background-color:#FFFF00;border-style:solid;border-width:3px;" | Beginning of the algorithm
| style="background-color:#FFFF00;border-style:solid;border-width:3px;" | The 'start' symbol looks like the stadium we met a few chapters back. It denotes the start of the algorithm. Everything in the algorithm comes ultimately from this symbol.
|-
| style="background-color:#CC0033;border-style:solid;border-width:3px;" | [[File:Flowchart input output symbol.svg|300px]]
| style="background-color:#CC0033;border-style:solid;border-width:3px;" | Input statement/<br/>Output statement
| style="background-color:#CC0033;border-style:solid;border-width:3px;" | Input statements either read from another file or receive input from the user. Output statements output information onto the screen. Input statements are not always located at the beginning of an algorithm, and output statements at not always at the end.
|-
| style="background-color:#CC33FF;border-style:solid;border-width:3px;" | [[File:Flowchart assignment symbol.svg|300px]]
| style="background-color:#CC33ff;border-style:solid;border-width:3px;" | Assignment statement
| style="background-color:#CC33FF;border-style:solid;border-width:3px;" | Assignment statements assign a value to a variable.
|-
| style="background-color:#99CCFF;border-style:solid;border-width:3px;" | [[File:Flowchart functioncall symbol.svg|300px]]
| style="background-color:#99CCFF;border-style:solid;border-width:3px;" | Procedure call
| style="background-color:#99CCFF;border-style:solid;border-width:3px;" | This symbol 'calls' a pre-defined procedure or function.
|-
| style="background-color:#33CC33;border-style:solid;border-width:3px;" | [[File:Flowchart condition symbol.svg|300px]]
| style="background-color:#33CC33;border-style:solid;border-width:3px;" | Condition/<br/>Decision
| style="background-color:#33CC33;border-style:solid;border-width:3px;" | A condition represents a 'fork' in the algorithm, usually 'yes' and 'no'. After reaching a condition component, the incoming path splits into two separate paths.
|-
| style="background-color:#FFFF00;border-style:solid;border-width:3px;" | [[File:Flowchart stop symbol.svg|300px]]
| style="background-color:#FFFF00;border-style:solid;border-width:3px;" | End of the algorithm
| style="background-color:#FFFF00;border-style:solid;border-width:3px;" | The 'end' symbol is used like the 'start' symbol. All 'branches' of the code must ultimately lead to the end.
|}
Of course, we can't make a ''flow''chart with only a bunch of boxes. We also need to represent the ''flow'' between them. We use arrows and connectors for this purpose.
{|style="border-color:#000000;border-style:solid;border-width:3px;border-collapse:collapse;width:100%;"
! Symbol
! Name
! Description
|-
| style="border-style:solid;border-width:3px;" | [[File:Flowchart arrow.svg|300px]]
| style="border-style:solid;border-width:3px;" | Arrow
| style="border-style:solid;border-width:3px;" | Arrows are drawn from one box to another to represent the flow between boxes. They are 'broken up' by the condition boxes.
|-
| style="border-style:solid;border-width:3px;" | [[File:Flowchart connector.svg|300px]]
| style="border-style:solid;border-width:3px;" | Connector
| style="border-style:solid;border-width:3px;" | If arrows have split paths, they must first converge before performing any common actions. A connector is used to achieve this. The connector is often omitted, leaving only a point of intersection.
|}
Here are some examples:
{|style="border-color:#000000;border-style:solid;border-width:3px;border-collapse:collapse;width:100%;margin:auto;"
| style="background-color:#99EE99;border-style:solid;border-width:3px;width:33%;text-align:center;" |[[File:Flowchart connector example no text.svg | 320px]]
| style="background-color:#99EE99;border-style:solid;border-width:3px;width:33%;text-align:center;" |[[File:Flowchart connector omission example.svg | 320px]]
| style="background-color:#EE9999;border-style:solid;border-width:3px;width:33%;text-align:center;" |[[File:Flowchart incorrect convergence omission example.svg | 320px]]
|-
| style="background-color:#99EE99;border-style:solid;border-width:3px;width:33%;" |Connectors help converge forked arrows together.
| style="background-color:#99EE99;border-style:solid;border-width:3px;width:33%;" |They are sometimes omitted, but the convergence stays.
| style="background-color:#EE9999;border-style:solid;border-width:3px;width:33%;" |We cannot point both paths to the same box without converging them first! This is incorrect!
|}
== Pseudocode ==
Pseudocode is an informal way to represent an algorithm in a narrative manner. There is no standard for pseudocode, but there are established conventions we can follow. This includes '''keywords''', which are usually capitalised, and formatting features like indentation. Here is an example of pseudocode:
<!--As there is no syntax colouring for pseudocode (obviously), we will use PASCAL, which comes closest.-->
<syntaxhighlight lang="pascal">
10 READ i, j
20 IF i < j THEN
30 PRINT 'i is the smaller one.'
40 ELSE
50 PRINT 'j is the smaller one.'
60 ENDIF
</syntaxhighlight>
Like flowcharts and algorithms in general, pseudocode is independent of programming languages. Nobody will actually put it through a compiler. Therefore, we can use English statements if we want to:
<syntaxhighlight lang="pascal">
PROGRAM find_square_area
10 READ width
20 IF width is a positive integer THEN
30 PRINT width * width
40 ELSE
50 PRINT 'Invalid input!'
60 ENDIF
</syntaxhighlight>
The above code is equivalent to this:
<syntaxhighlight lang="pascal">
PROGRAM find_square_area
10 READ width
20 IF (width > 0) AND (width MOD 2 = 0) THEN
30 PRINT width * width
40 ELSE
50 PRINT 'Invalid input!'
60 ENDIF
</syntaxhighlight>
Don't be afraid if you don't understand these algorithms; again, we will learn them later.
'''Line numbers''' are often included in pseudocode for easy reference. They increase by 10 each time.
== Programming paradigms and programming languages ==
A '''programming paradigm''' is a pattern that a programming language follows. There are many different programming paradigms out there. One is called '''declarative programming'''. In declarative programming, commands are written and executed one by one without any 'forks' in the flowchart. The commands are presented in a '''sequential''' manner. '''Query languages''' and '''spreadsheets''' are good examples. Here is an example of '''SQL''', a well-known query language:
<syntaxhighlight lang="sql">
CREATE DATABASE Books;
CREATE TABLE FavouriteBooks(
BookID CHAR(6) NOT NULL UNIQUE,
BookTitle VARCHAR(100) NOT NULL,
BookAuthorFirst VARCHAR(30),
BookAuthorLast VARCHAR(30),
BookPublisher VARCHAR(30),
PRIMARY KEY(BookID)
)
INSERT INTO FavouriteBooks(BookID, BookTitle, BookAuthorFirst, BookAuthorLast) VALUES('000006', 'Pride and Prejudice', 'Jane', 'Austen');
INSERT INTO FavouriteBooks(BookID, BookTitle, BookAuthorFirst, BookAuthorLast) VALUES('000006', 'A Christmas Carol', 'Charles', 'Dickens');
INSERT INTO FavouriteBooks(BookID, BookTitle, BookAuthorFirst, BookAuthorLast) VALUES('000006', 'Animal Farm', 'George', 'Orwell');
SELECT * FROM FavouriteBooks WHERE BookAuthorFirst = 'Jane';
</syntaxhighlight>
Declarative programming is contrasted with '''imperative programming''', whereby we tell the computer to do a series of actions using '''control flow'''. Instead of having one arrow that flows from Start to End, we can 'fork' arrows as well as having them return to a previous box. '''Goto''' used to be a common way to describe control flow, whereby we 'jump' from one position in the code to another. However, goto has been on the decline and has been replaced by '''structured programming'''. Structured programming uses '''sequence''', '''iteration''' and '''selection''' to describe the flow of the program. We will learn these three structures in detail in later chapters.
'''Procedural programming''' extends structural programming and allows us to divide our program into many modules called '''procedures''', '''subprograms''' or '''functions'''. Procedural programming favours modularisation and the top-down approach.
{|style="border-color:#000000;border-style:solid;border-width:3px;border-collapse:collapse;width:100%;"
| style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:33%;;text-align:center;" | [[File:Flowchart declarative programming.svg|70px]]
| style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:33%;text-align:center;" | [[File:Flowchart structured programming.svg|300px]]
| style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:33%;text-align:center;" | [[File:Flowchart procedural programming.svg|300px]]
|-
| style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:33%;" | Declarative programming
| style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:33%;" | Structured programming
| style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:33%;" | Procedural programming
|}
Procedural programming is further extended in '''object-oriented programming''', whereby the program consists of 'objects' that have different '''properties''' and perform different '''methods'''. There are two main types. In '''prototype-based programming''', each object has a prototype (say, a blank book). The prototype defines all the properties and methods of the object. Then we clone the object and get different full-fledged objects (say, a large book with lots of text and diagrams, complete with a nice hard cover). '''Class-based programming''' takes a different approach. In class-based programming, types of objects are defined in '''classes'''. If we want to add more properties and methods to the class, we can extend the class. In both cases, to make a new object, we need to call its '''constructor'''. Here's a prototype in JavaScript:
{|style="border-color:#000000;border-style:solid;border-width:3px;border-collapse:collapse;width:100%;"
|style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:50%;text-align:center;" | [[file:oop prototype diagram.svg|350px]]
|style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:50%;text-align:center;" |[[file:oop class diagram.svg|350px]]
|-
|style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:50%;text-align:center;" |<syntaxhighlight lang="javascript">
var Book = function(title, pages, coverType) {
this.title = title;
this.pages = new Array(pages);
this.cover = new Cover(coverType);
};
Book.prototype = {
cover: new Cover();
pages: new Array(1);
title: "";
currentPage: 0;
flip: function(){
try{
if(currentPage >= pages.length - 1){
throw "No more flipping!";
}
currentPage++;
} catch (e){
alert(e);
}
}
}
</syntaxhighlight>
|style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:50%;" |
<syntaxhighlight lang="actionscript3">
package {
public class Book{
public var cover:Cover;
public var pages:Array;
public var title:String;
private var currentPage:uint;
public function Book(title:String,
pages:uint, coverType:uint){
this.title = title;
this.pages = new Array(pages);
this.cover = new Cover(coverType);
}
public function flip(){
try{
if(currentPage >= pages.length - 1){
throw "No more flipping!";
}
currentPage++;
} catch (e:Error){
trace(e);
}
}
}
}
</syntaxhighlight>
|-
|style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:50%;" |Prototype in JavaScript
|style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:50%;" |Class definition in ActionScript
|}
Some programming languages only support one paradigm. For example, Java is a pure class-based object-oriented language. JavaScript is a prototype-based language. Others support more than one. For example, ActionScript can be procedural, class-based or a mix of the two.
A '''dialect''' is an extension of another programming language that is reasonably similar to the original. JavaScript (originally developed for Netscape), '''JScript''' (Internet Explorer) and ActionScript are all dialects of '''ECMAScript''', a standard originally created for JavaScript and JScript. '''BASIC''', an easy programming language designed for beginners, was later extended into various dialects, including '''Visual Basic'''. Most notably, '''C++''' and '''C#''' are common dialects of C which, unlike C, support many different programming paradigms.
Here are three code snippets in JavaScript, ActionScript and PHP respectively. Note the similarities between JavaScript and ActionScript.
{|style="border-color:#000000;border-style:solid;border-width:3px;border-collapse:collapse;width:100%;margin"
| style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:33%;" |<syntaxhighlight lang="javascript">
var numberOfItems = 10;
var fibonnaci = new Array();
fibonnaci[0] = 1;
document.writeln(fibonnaci[0]);
fibonnaci[1] = 1;
document.writeln(fibonnaci[1]);
for(var i = 2; i < numberOfItems; i++){
fibonnaci[i] = fibonnaci[i-1]
+ fibonnaci[i-2];
document.writeln(fibonnaci[i]);
}
</syntaxhighlight>
| style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:33%;" |<syntaxhighlight lang="actionscript3">
var numberOfItems:uint = 10;
var fibonnaci:Array = new Array();
fibonnaci[0] = 1;
trace(fibonnaci[0]);
fibonnaci[1] = 1;
trace(fibonnaci[1]);
for(var i:uint = 2; i < numberOfItems; i++){
fibonnaci[i] = fibonnaci[i-1]
+ fibonnaci[i-2];
trace(fibonnaci[i]);
}</syntaxhighlight>
| style="background-color:#F0F0F0;border-style:solid;border-width:3px;width:33%;" |<syntaxhighlight lang="php">
$numberOfItems = 10;
$fibonnaci = array();
$fibonnaci[0] = 1;
echo (string) $fibonnaci[0]."<br/>";
$fibonnaci[1] = 1;
echo (string) $fibonnaci[1]."<br/>";
for($i = 2; $i < $numberOfItems; $i++){
$fibonnaci[$i] = $fibonnaci[$i-1]
+ $fibonnaci[$i-2];
echo (string) $fibonnaci[$i]."<br/>";
}
</syntaxhighlight>
|-
| style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:33%;" |JavaScript
| style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:33%;" |ActionScript
| style="background-color:#E0E0E0;border-style:solid;border-width:3px;width:33%;" |PHP
|}
== Statements and expressions ==
A '''statement''' tells the computer to do an action. They are similar to imperatives in English, e.g. Eat a cake! Go to sleep! Brush your teeth! Clean the blackboard! These are all examples of statements in pseudocode:
<syntaxhighlight lang="pascal">
Input x
Output y
Put x into y
Call brushTeeth
</syntaxhighlight>
An '''expression''' is not quite the same thing. An expression has a ''value''. They cannot do anything on their own.
<syntaxhighlight lang="pascal">
x
3
6+8
1/2
4.5 + y * 3
</syntaxhighlight>
An expression can be a variable or a constant. It can contain operators, but it may not. Now to the next chapter... Variables and data types!
{{bookCat}}
gv2568bt7i35r85iffqdxxxgy2glr8s
Template:EdNote
10
310409
4634744
4624412
2026-05-08T08:47:15Z
ShakespeareFan00
46022
4634744
wikitext
text/x-wiki
<noinclude><div style={{TRS-style}}></noinclude><div class="PrettyTextBox" style="clear:{{{clr|{{{clear|all}}}}}}; max-width:{{{MW|1440px}}};width:{{{W|90%}}}; <!--
--> font-family:{{#if:{{{family|{{{FFAM|}}}}}}|{{{family|{{{FFAM|}}}}}}; |Garamond, Georgia, Times New Roman, Serif}};<!--
-->font-face: {{#if:{{{face|{{{FF|}}}}}}|{{{face|{{{FF|}}}}}}; |Garamond}};<!--
--> {{#if:{{{font-size|{{{FS|}}}}}}|font-size:{{{font-size|{{{FS|}}}}}}; |}}<!--
--> {{#if:{{{line-height|{{{LH|}}}}}}|line-height:{{{LH|{{{line-height|}}}}}}; |}}<!--
--> background:{{{BG|#fafafa}}}; color:{{{CO|#000000}}}<!--
-->margin:{{{M|{{{MT|5px}}} {{{MR|auto}}} {{{MB|5px}}} {{{ML|2px}}}}}}; <!--
-->padding:{{{P|{{{PT|2px}}} {{{PR|0}}} {{{PB|2px}}} {{{PL|0px}}}}}}; "><!--
-->{{#if:{{{image|}}}|
<div style="float:left; padding-right:1em; vertical-align:{{{IVA|top}}};">[[File:{{PAGENAME:{{{image}}}}}|{{{size|25x25px}}}]]</div>}}
<div style="vertical-align:{{{VA|middle}}}; {{#if:{{{small|IL|}}}}}}|margin:{{{M|0px 25px 0 25px}}}; padding:{{{P|5px 20px;}}}<!--
-->|margin:{{{M|0px 25px 0 25px}}}; padding:{{{P|5px 20px;}}}<!--
-->}} {{#if:{{{BG|}}}|background:{{{BG}}} color:{{{CO|#000000}}} }}">{{{text|{{{PRE|<b>Editor's note:</b>}}} {{{1|}}}{{{2|<noinclude>{{lorem}}</noinclude>}}}}}}{{{3|}}}</div></div><noinclude>
;This template is adapted from {{Tl|LeftBox}}, and mostly has identical parameters
:This template differs in two details:
# it manifests the "'''Editor's note:''' "-boilerplate text unless the parameter <syntaxhighlight lang="wikitext" inline=yes> | PRE =</tt>''something''</syntaxhighlight> is defined which overrides it
# or the parameter '''|text=string''' is defined, and in that case both the parameters <nowiki>{{{PRE}}}} and {{{1}}}} are subordinate to {{{text}}}</nowiki><br/> ... and won't be seen at all ''if the text parameter is defined''.
;See also these Trainz templates:
* {{tl|TTip}}
* {{tl|TRS-EdNt}}
* {{tl|TrainzTip}}
<br>
<big>:{{BL|Leftbox's usage is below for additional details:}}</big>
{{LeftBox/doc|EdNote1}}
</noinclude>
tggcjfz8mpcbqdmq4jsts5i9qm89e6t
4chan Chronicle/Forerunners
0
364646
4634738
4326320
2026-05-08T07:41:51Z
Nervelita
3413946
tokyo subway sarin attacks - correct name
4634738
wikitext
text/x-wiki
''(1995 –2003)''
4chan was born of two cultures: the userbase of the English-language internet discussion forums and the culture of Japanese image-board BBS (Bulletin Board System) systems. The netizens on both sides had their own particular characteristics but a common origin: a mass switch from USENET to BBSs. Japanese internet groups were composed of tight-knit communities of geeks who already had their own meta jokes (memes) by 1996, while the Western Hemisphere had hacking groups dating back to the 1980s, most notably Cult of the Dead Cow (cDc), which formed its own community based on active projects including the 1995 campaign against the Church of Scientology.
{{Quote box
|title = ホームパーティー (Home Party Websites)
|quote = Websites that were created by ISPs that provided the Internet as an addition to the phone line, which was called Pasokon Tsushin. The biggest Home Party provider was Nifty-Serve, which served one million users at the time. The Anonymous BBS became the only viable option because of the lax data protection laws in Japan, which means nobody will help you if you get hacked. Thus, Western-style forums failed to take off because the Japanese were too scared of making one.
|source = Related: [https://books.google.com/books?id=oUGDBAAAQBAJ&pg=PA232&lpg=PA232&dq=%22home+parties%22+japan+internet#v=onepage&q=%22home%20parties%22%20japan%20internet&f=false Only known online English-language reference to Japanese "Home Parties".]
|width = 30%
|align = right
|salign = right
}}
{{Quote box
|title = ハッキング (Hacking)
|quote = The Japanese had different meanings for the words we have; "hacking" during those days was closer to our definition of cracking games, although they did participate in classic hacking. Trolling was not associated with the action but rather with all things involving raiding a website, and BBS continued to be the popular term for forums. The Japanese knew visual art as ASCII art (AA), but also knew it as Shift_JIS art (SJIS).
|width = 30%
|align = right
|salign = right
}}
In Japan, internet culture began to form among people who used Home Parties circa 1995. The "underground" Internet, the first sites to leave USENET, was composed of technology and hacking enthusiasts. What would become textboard culture and ultimately engulf the entirety of Japanese internet culture began with one man: Masayuki Shiba.
{{Quote box
|title = ロリコン (Lolicon)
|quote = It is important to understand that distribution, commercialization, and production of '''child pornography was legal in Japan until 1999.''' Before then, a considerable part of the Japanese Internet was dedicated to it, though the practice was quickly becoming shunned and controversial. Ayashii World eventually banned the topic altogether before it became illegal.
|width = 30%
|align = right
|salign = right
}}
{{Quote box
|title = 名無し (Nanashi)
|quote = **Nanashii** means nameless and was the default name for all posters, a trait that was passed onto 2ch and 2chan. On 4chan, the term was translated as "Anonymous".
|width = 30%
|align = right
|salign = right
}}
Shiba started a Home Party Website (ホームパーティー) in 1995 called Ayashii World (あやしいワールド), via provider Nifty-Serve. The site was dedicated to the controversial underground game called Kasumigaseki, based on the Tokyo subway sarin attacks. While it was an unrelated, short-lived site, the name stayed with him. In 1996, Shiba comes into contact with a site called Japan Lolita Complex Graphics (日本ロリコングラフィックス), dedicated to highly sexual cartoon depictions of teenage girls and ran by Duke Pedo (ペド侯爵 - Pedo Koushaku). JLCG used a variety of free Internet hosting services and an anonymous BBS. This greatly influences Shiba, and he recreates Ayashii World as one of the first BBSs on the Japanese Internet, operating with anonymous posting and free web services (In this particular case, Mails by Postone, Hosting by Tripod, registration free; anonymous BBS code by Digital Eden. Yes, anonymous culture was literally born out of some Jap's desire to post CP). The original topics of Ayashii World were mainly Lolicon, CP, and Geek culture discussions like cracking and SJIS (ascii images created using Japanese fonts) art. The main appeal of the sites would be anonymous discourse. The possibility of not being identified led to a raw, no-holds-barred discussion between the "Nanashii" (Japanese for nameless) people who would come to the boards to distance themselves from the norms of deferential Japanese culture.
Ayashii World would proceed to become an important center of the Internet. Further into 1996, one of the first Underground sites, dedicated exclusively to technology and hacking, A Portal to an Underground (地下道入口, Chikadou Iriguchi), closed. The majority of its userbase would flock to Ayashii. Its users introduced warez and MP3 files to the general net and greatly contributed to making Ayashii a household name in the Japanese underground, with many "sister" sites adopting the Ayashii World system. The web of similar sites having "AyashiiWorld#" as a prefix would collectively be called the Nameless World (Nanashii Warudo). Common traits among Nanashii World sites would be that the admins would begin their names with "Kanrinin-san" (Mr. Admin). The users would come to be fond of absurd humour and visual memes such as the Giko-Hanyann or Giko-Neko (Giko-Cat), a small SJIS cat with a speech bubble that says "Itte Yoshi", which depending on the typing system may mean "Please Leave" or "Please Die". The speech bubble itself also enabled them to express short sentences. Ayashii would change the BBS host from Digital Eden to Kenjinkai, which only let them write one line, and after Kenjinkai dropped them, their own code. Important things would happen in Ayashii, such as hackers posting about their important hacks and later getting arrested or the leaking of the name of the Sakakibara killer, which would throw the Ayashii World sites into disarray and get many BBSs to crash or temporarily go offline.
In Ayashii, conflict between the old and new userbases began to arise, and Shiba decided to divide the BBS into two: one called 97, for general topics, and another called 2000, for technology. 2000 would soon become the gesu (Scum) board because of their habit of planning and participating in forum invasions, raids, and hacking, including popular sites from RL (real life) companies. Their attitude would go on through the years, in a reminiscent way of the raid culture to which 4channers pertained during the days of 2006 and 2007. The split did not quell the conflict, however, and in late 1996, the users of 2000 would eventually create their own site, called Guess BBS. 2000 would be the birth of Japan's legendary cracking group, GUESS.
In 1997, the first imageboard, Licentious Notice Board, was created by Mr. Fujinami. Its userbase excels at image collages and comedy, and the site becomes a fad on the Japanese Internet. However, LNB is short-lived, and no new imageboards are created due to a split in its userbase. LNB's personality and methods of posting made it, in many ways, a forgotten precursor of 2chan.
The end of Ayashii comes at the hands of Mr. Alice, Guess BBS's administrator. In March 1998, he codes an auto-posting script and uses it to spam Ayashii. Enraged, the userbase of Ayashii retaliates and hacks Guess. Despite Shiba's attempts at stopping them, later in April they leak Alice's dox (real name and location) and manipulate images of him. Scared due to the possibility of a lawsuit, something that is very costly in Japan, Shiba shuts Ayashii World down. The Ayashii World is left without its core for some weeks until it is rebuilt by Shiba as Ayashii World Main BBS (あやしいわーるどメイン掲示板). Some months later, he abruptly closes the BBS, tired of the site's hostility and incapability to deal with new users. This time, the whole collective of sites is thrown into complete disarray. Many users flock towards the Ayashii World sister site @an unofficial shelter purpose (@退避用非公認), declared the new main BBS. However, some weeks after Shiba left, Amezo BBS, a small part of the Nanashii World founded by Mr. Amezou in 1997, implemented the floating thread system, dependent on aging (posting to bump a thread to the top of the list) and saging (posting but not bumping the thread). In contrast to the tree pile-up style, where users would see most of the recent replies to threads on the front page and reply to those replies, which made threads hard to follow, the floating thread system was easy to manage and understand. Amezo BBS quickly rises through the ranks, eventually becoming one of the biggest in the Ayashii World.
Ayashii World was not dead yet. Shiba creates Magmania, one of the first Japanese personal review sites. However, Mr. Alice is still furious at Shiba and pressures him into apologizing via BBS and phone. Eventually, he succumbs to pressure and requests that the Ayashii World sites stop using the prefix. Shiba, humiliated, quits the Internet for good. Most sites reluctantly comply, and those who do not are raided into submission. By 1999, very few Ayashii sites remained, the biggest among them being Honten, which was hacked by Alice himself. However, Honten users broke off and found AyashiiWorld#REBIRTH. REBIRTH endures several DDoS attacks and invasions but eventually manages to surpass Honten in terms of userbase thanks to an ad campaign and an anime logo. Said logos attract a considerable population of Otakus (the Japanese term for obsessive fans of anime and manga), which were previously looked down upon by Shiba and the Ayashii Worlders. REBIRTH's admin turned out to be a tyrant, and many Ayashii Worlders moved to AyashiiWorld@familie. By this time, ASCII/SJIS art was greatly influenced by @unemployed (@無職), whose "Ayashii taste" ASCII edits, which took a much simpler approach, deforming images in comic forms, became the main way to create ASCII in the Ayashii World (The other way, which eventually ended up in 2chan, was more serious and tried to translate images to ASCII instead of deforming them). This would be all the contributions the collective would give to 2ch's culture.
The same year, Hiroyuki Nishimura, copying Amezo, creates 2 channel (2ちゃんねる – Ni Channeru - The Second Channel, in honour of Amezo being the first), abbreviated as 2ch. 2ch's population would retain many cultural trends of Ayashii World, but it would gradually see an increase in Otakus in their userbase. Otakus were still mainly shunned in Japan, and Shiba and his users were no exception. An animosity between both userbases begins to rise. Amezo eventually dies due to vandalism, and it is later revealed that Hiroyuki was heavily involved in spamming Amezo. Mr. Amezo tried to compete with 2ch by founding 1ch.tv, but strict posting standards and the later introduction of a fee for posting made the site unpopular. 2ch would create a peculiar board, /news4vip/ - News for VIP. An equivalent to /b/, VIPPERs would form a very distinct culture, fond of absurdity and SJIS art. Hiroyuki would have a second that usually patrolled /vip/, Nakao Yoshihiro (handle name 'Night Shift ★' and 'FOX ★'). His personality itself would eventually grow to become a meme within 2ch.
2ch would come to antagonize Ayashii World in many ways. Trolling, spamming, claiming Ayashii memes as their own, and using Ayashii services without permission. Animosity would explode into hate when a thread popped up in Ayashii REMIX detailing all the attacks. Ayashii Worlders would script spam 2ch until it crashed. Hiroyuki personally apologizes to them in the thread and later at the main site, Ayashii World II. However, trolling between both sites would go on for years; a common insult from Ayashii Worlders to Nichanners would be "Tantsubo' (痰壷).
Within a few years, 2ch would go on to become a massive cultural phenomenon in Japan, achieving mainstream appeal. The possibility of unfiltered discourse fitted perfectly with the Japanese cultural tendency of the in and out personalities: a Japanese person must never show their opinions and beliefs in public, which should only be expressed in the house or with one's most trusted friends. 2channel would also become quite influential: Things like the movie Densha Otoko was based on the real story of a 2ch NEET (Not in Education, Employment, or Training) who found himself on the good side of a girl but did not know what to do, so he asked for help on 2ch, and the users of the site helped him win her.
By 2001, 2ch began to fall apart as data transformation bugs threatened to render the entire website unusable. Users began to warn of the coming apocalypse while volunteers from across Japan worked to find a solution. On August, its users made a backup BBS: 2chan (Futaba Channel - ふたば (双葉) ☆ちゃんねる - Futaba Channeru). 2chan, however, was not just a clone site. It implemented a handcrafted imageboard code called Futaba. For a while, 2chan would serve as the alternative hub for nichanners whenever 2ch crashed, but eventually it formed its own distinct culture and drifted apart. 2chan was not the first imageboard; however, imageboards were a pretty rare thing, and many similarities can be drawn between older imageboards and 2chan. 2chan and 2ch would come to greatly surpass the Ayashii Collective in terms of sheer population; 2ch would become a national phenomenon, with over 10 million users per month and several hundred boards, even influencing the RL with tales like that of the Densha Otoko, which eventually got made into a movie. While 2ch diversified, 2chan remained Otaku-centered.
The western side of the story is shorter. While we can trace back Internet culture to MUD BBSs (Houston-based boards) back in the 80s, those directly responsible for what would become 4chan came to be in 1999, with Richard "Lowtax" Kyanka founding Something Awful. Under the slogan "The Internet makes you stupid." Something Awful, as the name suggests, was a site dedicated to parodying and writing about all the bad and ugly things the post-bubble internet had to offer. Lowtax and friends would make comedic posts around particular themes on the front page and have a personal forum for discussion of various topics. Sometimes they would organize contests, mainly Photoshop-centered. Lowtax later charged an entry fee of 10 dollars, or 10 bux, as it is colloquially known. Despite the blatantly elitist move, sites like SA were few and far between, and their ranks filled quickly. SA formed a culture around elitism, e-peen (ego, pride, or attitude in the virtual world) size, and a reputation for trolling and drama, gathering a skilled userbase of Photoshop wizards, coders, musicians, and excessively ban happy mods, becoming a major source of Internet culture and popularizing lasting influences such as the image macro, the demotivational poster, Numa Numa (a meme based on the dance single by the Moldovan pop trio O-Zone released in 2003), and the catchphrase All Your Base are Belong to Us (a broken English sentence from the opening cutscene of the 1991 video game Zero Wing).
Peers and contemporaries with legendary trolls such as Gamefaqs' LUE forums and the GNAA, whenever someone badmouthed the site, one could expect an horde of goons to descend upon it, usually spamming it and tricking the site's users into clicking the Last Measure, a weaponized website that locked the user's browser and spammed the phrase "HEY EVERYONE, I'M LOOKING AT GAY PORNO!". This aggressive way of trolling is very reminiscent of the way Ayashii Worlders dealt with each other; however, the similarities end only with both sides' penchant for trolling.
Sometime between 18 April 2001 and 15 May 2001, Lowtax created a subforum called ADTRW, Anime Death Tentacle Rape Whorehouse, dedicated, as the name suggests, to anime and the Otaku fandom. ADTRW would develop its own jokes and culture, mainly a distinct hate for the sillier aspects of the fandom (The KAWAII DESU NEE, neko ears-wearing, awkward Otakus), acting like such was ground enough to be banned from the forums. In 2002, ADTRW would create a DC++ FTP called Raspberry Heaven, separating itself from SA's general FTP SADCHUB (Something Awful Direct Connect Hub). The name is derived from Azumanga Daioh's ending song. The FTP would have its own linked IRC hosted on MircX and later Pyoko IRC. By this time, moot was already a member of both and could be seen on ADTRW and the IRC.
By 2003, the Otakus of SA would discover 2chan, becoming completely perplexed by the content-filled, fast-moving anonymous site. On ADTRW, a 2chan appreciation thread would be created, and #raspberryheaven would come to be filled with 2chan links. Users interacted in a limited way with the site, as much as their knowledge of Japanese allowed. However, 2chan got into conflict with Korean communities, and they organized a massive raid. In order to protect itself, 2chan blocks all non-Japanese IPs, preventing ADTRW from posting. To this day, the Japanese-only restriction still stands, and given Japanese nationalism, it will not be lifted anytime soon. Raspberry Heaven would be closed some years later as BitTorrent took over as the main method of warez and file sharing and Pyoko IRC closed its doors.
In March 2003, a Japanese teenager called RIR6 (Taichirou Kosugi) founded world2ch, a textboard hosted on US servers, with the aim of making a multi-language site for users of English and Japanese speakers. While the project became well-known on 2ch itself, the anonymous textboard format never really appealed to Westerners. Internet users in the West were used to accounts and the one-click smileys of conventional forums. Few saw the point of making time-consuming Shift-JIS art that was unable to be viewed with the common ASCII encoding. Still, the board was a groundbreaking first in the export of the 2channel-style anonymous BBS. It was discovered by goons and other English speakers, and for a while, posting between the two languages flourished. Many later influential names started out on or at least passed by this site.
RIR6 had a rather basic understanding of English, and communication between the English speakers and the Japanese was very poor, but they managed. World2ch would have its own little culture between both worlds, importing 2ch memes like Giko-Neko and other SJIS. One particular meme stands above all: An English-speaking Japanese user called Golgomois would come to the site, demanding that the Americans remove their bases from Okinawa. The Americans on the site would eventually outnumber the Japanese. They managed to convince RIR6 to open an imageboard and make various fixes. He makes two; these would be effectively the first Western imageboards, or rather the first Western-populated ones.
RIR6 eventually lost interest and botched several fixes, making the site unnavigable, and eventually closed it in 2006. The userbase, with most of its members already browsing both world2ch and 4chan, would flock to the latter.
These are all the sites and communities that preceded and influenced the creation of 4chan. By the end of September, moot jokingly registers 4chan.net in order to have a personal email.
{{BookCat}}
37ra6ujd1ayg4nky2kpvg3o2i87iq5o
RadOnc Resident Wiki/Endometrium/Staging
0
380958
4634694
4634062
2026-05-08T01:00:14Z
JackBot
396820
Formatting, [[Special:UncategorizedPages]]
4634694
wikitext
text/x-wiki
{{:RadOnc_Resident_Wiki/Uterus:TOC}}
==Current staging==
<big>'''Endometrial Carcinomas'''</big>
'''AJCC 7th Edition (2009)''' <br>
:Corresponds to updated FIGO staging (2009)
:'''FIGO 2009''' {{PMID|19345353}} -- "Revised FIGO staging for carcinoma of the endometrium."
:This staging now applies only to endometrial carcinomas and there is now a separate staging for [[RadOnc_Resident_Wiki/Uterine Sarcoma/Staging|uterine sarcomas]].
::Carcinosarcomas (MMMT) should be staged as high grade carcinoma.
<br>
''Primary Tumor:'' (FIGO Stage in parentheses)
:Note: FIGO uses pathologic staging
*Tis - in situ
*:Note: FIGO no longer includes Stage 0
*T1 (I) - confined to corpus
**T1a (IA) - limited to endometrium or invades less than 1/2 of myometrium
**T1b (IB) - invades ≥ 1/2 of myometrium
*T2 (II) - invades stromal tissue of the cervix but does not extend beyond uterus
*:Note: endocervical glandular involvement only should be considered as Stage I not Stage II
*T3
**T3a (IIIA) - involves serosa and/or adnexa (direct extension or metastasis)
**T3b (IIIB) - vaginal involvement (direct extension or metastasis) or parametrial involvement
*T4 (IVA) - invades bladder mucosa and/or bowel mucosa
''Regional Lymph Nodes:''
*N0 - none
*N1 (IIIC1) - metastasis to pelvic lymph nodes
*N2 (IIIC2) - metastasis to para-aortic lymph nodes
*:Note: Regional nodes include obturator, internal iliac, external iliac, common iliac, para-aortic, presacral, and parametrial
*:Note: For pathologic staging, FIGO classifies cases with <6 resected LNs as pNX
''Distant Metastases:''
*M0 - none
*M1 (IVB) - distant metastasis - includes inguinal LN, intraperitoneal disease (including omentum), lung, liver, or bone.
''Stage Grouping:''
*Corresponds to FIGO stage given above (in parentheses)
''Changes from 6th Edition:''
*No longer includes uterine sarcoma (now staged with a new staging system)
*Positive peritoneal cytology is no longer considered (previously was T3a/IIIA)
*Involvement of the endocervical glands is no longer considered (previously was Stage IIA)
*Stages IA+IB combined (now: IA). IC moved to IB.
*Stage IIIC subdivided into IIIC1 and IIIC2.
===Older staging systems===
FIGO moved to surgical staging in 1988 (AJCC 6th edition same). There is also a clinical staging system developed by FIGO in 1971.
Note: until the update of the FIGO / AJCC in 2009, '''uterine sarcomas''' and carcinomas were staged using the same system
'''AJCC 6th Edition (2002)''' <br>
*IA - Limited to endometrium
*IB - < 1/2 of myometrium
*IC - 1/2 or more of myometrium
*II - invades cervix
**IIA - glandular epithelium of endocervix
**IIB - stroma of cervix
*III - extra-uterine
**IIIA - involves serosa and/or adnexa (direct extension or mets) and/or ascites or positive peritoneal washings
**IIIB - vaginal involvement (direct extension or mets)
**IIIC - LN+ (pelvic and/or paraaortic)
*IV - other organs
**IVA - bladder or bowel
**IVB - distant mets
===Clinical staging===
Staging is now surgical (see above), but clinical staging may be utilized for non-operative pts.
'''FIGO 1971'''
*I - Confined to corpus
**IA - Length of uterine cavity 8 cm or less
**IB - Length of uterine cavity > 8 cm
*II - Involves corpus and cervix, but no extension beyond the uterus
*III - Extends outside uterus but not outside true pelvis
*IV - Outside the true pelvis or involves bladder or rectum
**IVA - Involves bladder, rectum, sigmoid, or small bowel
**IVB - Distant mets
==Stage distribution==
{| border="1"
|+ '''Stage Distribution'''
! Stage !! US SEER ({{PMID|16977653}}) !! FIGO ({{PMID|17161155}})
|-
! Stage I
| align="center" | 73% || align="center" | 67%
|-
! Stage II
| align="center" | 10% || align="center" | 11%
|-
! Stage III
| align="center" | 10% || align="center" | 13%
|-
! Stage IV
| align="center" | 7% || align="center" | 3%
|}
{{BookCat}}
qcbp845uxanchqjtg3hxmlrp6fyxr6b
Maxima/Installation
0
438287
4634666
4631611
2026-05-07T17:01:26Z
Idavidmiller
3577687
Revised entire page and added additional links to instructions for installation of Maxima and wxMaxima.
4634666
wikitext
text/x-wiki
== Installation ==
If there can be a frustration for both new users of Maxima and current users it is installation. For typical users, this does not need to be the case. This section is devoted to providing the simplest installation path possible for computers with three operating systems (MS Windows, Mac OS, and Linux) without getting bogged down by technical details or atypical requirements.
There are in general two installation options that will be of interest to most users of Maxima:
* Installation of Maxima alone
* Installation of the wxMaxima GUI including Maxima
=== Installation of Maxima Alone for Linux, MS Windows, and Mac OS ===
For Linux users, there are several options for installing Maxima:
* Maxima may be installed using the software package management system for your Linux distribution. Most distributions provide binaries for Maxima in their repositories. These usually are the version which was current, when the distribution was released. So they likely are not the latest version of Maxima. Also, these binaries may not have been compiled with support for Unicode which is something that users may find useful. However, having a more current version of Maxima may not be necessary, and the same applies to Unicode support. So if following the Maxima installation instructions of the links below for Linux are too technical, then the simplest path is to install Maxima may be by using the software package management system for a specific Linux distribution.
* Maxima can be installed by following the instructions for Linux at the following: [https://maxima.sourceforge.io/download.html#linux Maxima Linux Installation Instructions]. Keep in mind that installation using this method, while providing a recent release of Maxima, does not provide for a built-in means of updating when a newer release becomes available. Instructions for updating to a newer release can be found by referring to the information at the end of this section.
For MS Windows and Mac OS, follow the instructions of the following:
* Windows: [https://maxima.sourceforge.io/download.html#windows MS Windows Maxima Installation Instructions]
* Mac OS: [https://maxima.sourceforge.io/download.html#mac Mac OS Maxima Installation Instructions]<br />
=== Installation of wxMaxima GUI including Maxima for MS Windows and Mac OS ===
For '''''MS Windows''''' and '''''Mac OS''''', follow the instructions for the relevant operating system provided using the following link to the '''''wxMaxima''''' website installation instruction page: [https://wxmaxima-developers.github.io/wxmaxima/download.html wxMaxima Installation Instructions].
Installing ''wxMaxima'' by following these instructions will include the installation of ''Maxima''.
=== Installation of wxMaxima GUI including Maxima for Linux (recommended) ===
For '''''Linux''''' there are several options:
*As noted for ''Linux'', above there is the option of installing ''wxMaxima'' including ''Maxima'' using the software package management system for your ''Linux'' distribution. Most distributions provide binaries for ''wxMaxima'' and ''Maxima'' in their repositories. These usually are the version which was current, when the distribution was released. So they likely are not the latest version of ''wxMaxima'' and ''Maxima''. Also, these ''Maxima'' binaries may not have been compiled with support for '''''Unicode''''' which is something that users may find useful. However, having a more current version of ''wxMaxima'' and ''Maxima'' may not be necessary, and the same applies to ''Unicode'' support. So the simplest path may be to install ''wxMaxima'' and ''Maxima'' using the software package management system for your ''Linux'' distribution.
*The other option which may be the best for most ''Linux'' users is to install ''wxMaxima'' from '''''FlatHub''''' using '''''flatpak'''''. ''FlatHub'' packages generally speaking will be more recent releases of ''wxMaxima''. Some ''Linux'' distributions include support for ''FlatHub'' ''flatpak'' packages. Refer to the following link for specific ''Linux'' distributions: [https://flathub.org/en/setup FlatHub Linux Distribution Support and Setup]. The ''wxMaxima FlatHub'' source is available using the following link: [https://flathub.org/en/apps/io.github.wxmaxima_developers.wxMaxima wxMaxima FlatHub Installation]. Under Add-ons (Adds Maxima) select the Install button to include Maxima with the wxMaxima installation.
*The second option is to install ''Maxima'' using the ''Installation of Maxima Alone'' for ''Linux'' instructions of the link above, and then install ''wxMaxima'' using the software package management system for your ''Linux'' distribution. ''wxMaxima'' will either autodetect the installed version of ''Maxima'', or the user can provide the path to the desired ''Maxima'' executable file using the '''Configure''' settings of ''wxMaxima''. This option provides a relatively recent version of ''Maxima'' with ''Unicode'' support.
Instructions for compiling and installing ''Maxima'' and ''wxMaxima'' from source code can be found by referring to the links above for ''Maxima'' and ''wxMaxima'' respectively. This option is technically complex requiring specialized know-how.{{TOCright}}
{{Bookcat}}
{{Status|50%}}
l34f3skxojvjygylqrk151apm6utrcq
4634684
4634666
2026-05-07T18:47:50Z
Idavidmiller
3577687
Work in progress. Saving Changes.
4634684
wikitext
text/x-wiki
== Installation ==
If there can be a frustration for both new users of Maxima and current users it is installation. For typical users, this does not need to be the case. This section is devoted to providing the simplest installation path possible for computers with three operating systems (MS Windows, Mac OS, and Linux) without getting bogged down by technical details or atypical requirements.
There are in general two installation options that will be of interest to most users of Maxima:
* Installation of Maxima alone
* Installation of the wxMaxima GUI including Maxima
=== Installation of Maxima Alone for Linux, MS Windows, and Mac OS ===
For Linux users, there are several options for installing Maxima:
* Maxima may be installed using the software package management system for your Linux distribution. Most distributions provide binaries for Maxima in their repositories. These usually are the version which was current, when the distribution was released. So they likely are not the latest version of Maxima. Also, these binaries may not have been compiled with support for Unicode which is something that users may find useful. However, having a more current version of Maxima may not be necessary, and the same applies to ''Unicode'' support. So if following the Maxima installation instructions of the links below for Linux are too technical, then the simplest path is to install Maxima may be by using the software package management system for a specific Linux distribution.
* Maxima can be installed by following the instructions for Linux at the following: [https://maxima.sourceforge.io/download.html#linux Maxima Linux Manual Installation Instructions]. Keep in mind that installation using this method, while providing a recent release of Maxima, does not provide for a built-in means of updating when a newer release becomes available. Instructions for updating to a newer release can be found by referring to the information at the end of this section.
For ''MS Windows'' and ''Mac OS'', follow the instructions of the following:
* MS Windows: [https://maxima.sourceforge.io/download.html#windows MS Windows Maxima Installation Instructions]
* Mac OS: [https://maxima.sourceforge.io/download.html#mac Mac OS Maxima Installation Instructions]<br />
=== Installation of wxMaxima GUI including Maxima for MS Windows and Mac OS ===
For '''''MS Windows''''' and '''''Mac OS''''', follow the instructions for the relevant operating system provided using the following link to the '''''wxMaxima''''' website installation instruction page: [https://wxmaxima-developers.github.io/wxmaxima/download.html wxMaxima Installation Instructions].
Installing ''wxMaxima'' by following these instructions will include the installation of ''Maxima''.
=== Installation of wxMaxima GUI including Maxima for Linux (recommended) ===
For '''''Linux''''' there are several options:
*As noted for ''Linux'', above there is the option of installing ''wxMaxima'' including ''Maxima'' using the software package management system for your ''Linux'' distribution. Most distributions provide binaries for ''wxMaxima'' and ''Maxima'' in their repositories. These usually are the version which was current, when the distribution was released. So they likely are not the latest version of ''wxMaxima'' and ''Maxima''. Also, these ''Maxima'' binaries may not have been compiled with support for '''''Unicode''''' which is something that users may find useful. However, having a more current version of ''wxMaxima'' and ''Maxima'' may not be necessary, and the same applies to ''Unicode'' support. So the simplest path may be to install ''wxMaxima'' and ''Maxima'' using the software package management system for your ''Linux'' distribution.
*The other option which may be the best for most ''Linux'' users is to install ''wxMaxima'' from '''''FlatHub''''' using '''''flatpak'''''. ''FlatHub'' packages generally speaking will be more recent releases of ''wxMaxima''. Some ''Linux'' distributions include support for ''FlatHub'' ''flatpak'' packages. Refer to the following link for specific ''Linux'' distributions: [https://flathub.org/en/setup FlatHub Linux Distribution Support and Setup]. The ''wxMaxima FlatHub'' source is available using the following link: [https://flathub.org/en/apps/io.github.wxmaxima_developers.wxMaxima wxMaxima FlatHub Installation]. Under Add-ons (Adds Maxima) select the Install button to include Maxima with the wxMaxima installation.
*The second option is to install ''Maxima'' using the ''Installation of Maxima Alone'' for ''Linux'' instructions of the link above, and then install ''wxMaxima'' using the software package management system for your ''Linux'' distribution. ''wxMaxima'' will either autodetect the installed version of ''Maxima'', or the user can provide the path to the desired ''Maxima'' executable file using the '''Configure''' settings of ''wxMaxima''. This option provides a relatively recent version of ''Maxima'' with ''Unicode'' support.
Instructions for compiling and installing ''Maxima'' and ''wxMaxima'' from source code can be found by referring to the links above for ''Maxima'' and ''wxMaxima'' respectively. This option is technically complex requiring specialized know-how.
== Steps to Upgrade or Remove a Manually Installed Version of Maxima ==
If Maxima was manually installed on a Linux system by following the instructions for Linux at the following link:
[https://maxima.sourceforge.io/download.html#linux Maxima Linux Manual Installation Instructions]
then to upgrade a manually installed Maxima version from a binary "tarball" (like <code>maxima-5.49.0-sbcl-glibc2.31.tar.gz</code> for example), to a newer version it is necessary to repeat the same installation instructions of this link using the downloaded tarball for the newer version, as there is no built-in upgrade mechanism for this sort of binary tarball manual installations.
'''Note:''' Since the installation is manual, the d package manager does not track it. Always ensure compatibility with your system’s <code>glibc</code> version (check with <code>ldd --version</code>).{{TOCright}}
{{Bookcat}}
{{Status|50%}}
ah8qw30x1u08w85l0ufwzmfa92zdobi
4634691
4634684
2026-05-07T23:30:15Z
Idavidmiller
3577687
Page additions and revisions. Work in progress. Saving changes.
4634691
wikitext
text/x-wiki
== Installation ==
If there can be a frustration for both new users of ''Maxima'' and current users it is installation. For typical users, this does not need to be the case. This section is devoted to providing the simplest installation path possible for computers with three operating systems (''MS Windows'', ''Mac OS'', and ''Linux'') without getting bogged down by technical details or atypical requirements.
There are in general two installation options that will be of interest to most users of ''Maxima'':
* Installation of ''Maxima'' alone
* Installation of the ''wxMaxima'' GUI including ''Maxima''
=== Installation of Maxima Alone for Linux, MS Windows, and Mac OS ===
For ''Linux'' users, there are several options for installing ''Maxima'':
* ''Maxima'' may be installed using the software package management system for a ''Linux'' distribution. Most distributions provide packages for ''Maxima'' in their repositories. These usually are the version which was current, when the distribution was released. So they likely are not the latest version of ''Maxima''. Also, these binaries may not have been compiled with support for ''Unicode'' which is something that users may find useful. However, having a more current version of ''Maxima'' may not be necessary, and the same applies to ''Unicode'' support. So if following the ''Maxima'' installation instructions of the links below for ''Linux'' are too technical, then the simplest path is to install ''Maxima'' may be by using the software package management system for a specific ''Linux'' distribution.
* ''Maxima'' can be installed by following the instructions for ''Linux'' at the following: [https://maxima.sourceforge.io/download.html#linux Maxima Linux Manual Installation Instructions]. Keep in mind that installation using this method, while providing a recent release of ''Maxima'', does not provide for a built-in means of updating when a newer release becomes available. Instructions for updating to a newer release can be found by referring to the information at the end of this section.
For ''MS Windows'' and ''Mac OS'', follow the instructions of the following:
* ''MS Windows'': [https://maxima.sourceforge.io/download.html#windows MS Windows Maxima Installation Instructions]
* ''Mac OS'': [https://maxima.sourceforge.io/download.html#mac Mac OS Maxima Installation Instructions]<br />
=== Installation of wxMaxima GUI including Maxima for MS Windows and Mac OS ===
For '''''MS Windows''''' and '''''Mac OS''''', follow the instructions for the relevant operating system provided using the following link to the '''''wxMaxima''''' website installation instruction page: [https://wxmaxima-developers.github.io/wxmaxima/download.html wxMaxima Installation Instructions].
Installing ''wxMaxima'' by following these instructions will include the installation of ''Maxima''.
=== Installation of wxMaxima GUI including Maxima for Linux (recommended) ===
For '''''Linux''''' there are several options:
*As noted for ''Linux'', above there is the option of installing ''wxMaxima'' including ''Maxima'' using the software package management system for your ''Linux'' distribution. Most distributions provide binaries for ''wxMaxima'' and ''Maxima'' in their repositories. These usually are the version which was current, when the distribution was released. So they likely are not the latest version of ''wxMaxima'' and ''Maxima''. Also, these ''Maxima'' binaries may not have been compiled with support for '''''Unicode''''' which is something that users may find useful. However, having a more current version of ''wxMaxima'' and ''Maxima'' may not be necessary, and the same applies to ''Unicode'' support. So the simplest path may be to install ''wxMaxima'' and ''Maxima'' using the software package management system for your ''Linux'' distribution.
*The other option which may be the best for most ''Linux'' users is to install ''wxMaxima'' from '''''FlatHub''''' using '''''flatpak'''''. ''FlatHub'' packages generally speaking will be more recent releases of ''wxMaxima''. Some ''Linux'' distributions include support for ''FlatHub'' ''flatpak'' packages. Refer to the following link for specific ''Linux'' distributions: [https://flathub.org/en/setup FlatHub Linux Distribution Support and Setup]. The ''wxMaxima FlatHub'' source is available using the following link: [https://flathub.org/en/apps/io.github.wxmaxima_developers.wxMaxima wxMaxima FlatHub Installation]. Under Add-ons (Adds Maxima) select the Install button to include Maxima with the wxMaxima installation.
*The second option is to install ''Maxima'' using the ''Installation of Maxima Alone'' for ''Linux'' instructions of the link above, and then install ''wxMaxima'' using the software package management system for your ''Linux'' distribution. ''wxMaxima'' will either autodetect the installed version of ''Maxima'', or the user can provide the path to the desired ''Maxima'' executable file using the '''Configure''' settings of ''wxMaxima''. This option provides a relatively recent version of ''Maxima'' with ''Unicode'' support.
Instructions for compiling and installing ''Maxima'' and ''wxMaxima'' from source code can be found by referring to the links above for ''Maxima'' and ''wxMaxima'' respectively. This option is technically complex requiring specialized know-how.
== Steps to Upgrade or Remove a Manually Installed Version of Maxima ==
=== <u>To Upgrade a Manually Installed Version of Maxima</u> ===
'''Important!''' Read the following in its entirety before attempting a Maxima version upgrade.
If Maxima was manually installed on a Linux system by following the instructions for Linux at the following link:
[https://maxima.sourceforge.io/download.html#linux Maxima Linux Manual Installation Instructions]
then to upgrade a manually installed Maxima version from a binary "tarball" (like <code>maxima-5.49.0-sbcl-glibc2.31.tar.gz</code> for example), to a newer version it is necessary to repeat the same installation instructions of this link using the downloaded tarball for the newer version, as there is no built-in upgrade mechanism for this sort of binary tarball manual installation.
'''Note:''' Since the installation is manual, always ensure compatibility with the system <code>glibc</code> version (by checking with <code>ldd --version</code>) according to the installation instructions.
By repeating the the installation steps as published using the tarball of the newer Maxima version, files that are common to both versions will be replaced by the same or newer files. Additionally, a new directory will be created for the new Maxima version in the directory <code>/usr/local/share/maxima</code>. A similarly named directory will be created in the directory <code>/usr/local/lib/maxima</code>.
For example, if the tarball is named <code>maxima-5.49.0-sbcl-glibc2.31.tar.gz</code>, then the directories for that version will be <code>/usr/local/share/maxima/5.49.0</code> and <code>/usr/local/lib/maxima/5.49.0</code>. These two directories contain all the files unique to the 5.49.0 version of Maxima. The <code>/usr/local/share/maxima</code> and <code>/usr/local/lib/maxima</code> directories may contain other directories from previously installed versions.
For example, a previous installation may have created a directory named <code>/usr/local/share/maxima/5.48.1</code> for the 5.48.1 version of Maxima. Any previous such directories may be removed or retained according to user preferences. It may be best to remove any directories of previous versions before the installation of a newer version.
'''WARNING! Use caution to prevent deleting unrelated files.'''
The directories for previous version named 5.48.1 for example can be removed as follows:
<code>sudo rm -rf /usr/local/share/maxima/5.48.1</code>
<code>sudo rm -rf /usr/local/lib/maxima/5.48.1</code>
The version of the new installation can be checked using:
<code>maxima --version</code>
from a terminal shell session.
=== <u>To Remove Manually All Installed Versions of Maxima</u> ===
To remove all manually installed versions of Maxima<u>,</u> delete all files related to Maxima installed in the following directories:
* <code>/usr/local/bin/</code>
* <code>/usr/local/share/maxima/</code>
* <code>/usr/local/lib/maxima/</code>
'''WARNING! Use caution to prevent deleting unrelated files.'''
<code>sudo rm /usr/local/bin/maxima</code>
<code>sudo rm /usr/local/bin/rmaxima</code>
<code>sudo rm /usr/local/bin/xmaxima</code>
<code>sudo rm -rf /usr/local/share/maxima</code>
<code>sudo rm -rf /usr/local/lib/maxima</code>
{{TOCright}}
{{Bookcat}}
{{Status|50%}}
hzzax0t9bqsyaxxdk2f0k71zad1b0jh
Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. Nc3/3...dxe4/4. Nxe4/4...Bf5/5. Bd3/5...Qxd4/7.Nf6
0
438631
4634641
4007474
2026-05-07T12:27:57Z
MathXplore
3097823
Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b)
4634641
wikitext
text/x-wiki
<noinclude>{{delete|Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude>
#REDIRECT [[Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. Nc3/3...dxe4/4. Nxe4/4...Bf5/5. Bd3/5...Qxd4/6. Nf3/6...Qd8/7. Qe2/7...Nf6]]
8pliqfqit6xyt6esafvpqgbaqy3htqp
Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. Nc3/3...dxe4/4. Nxe4/4...Bf5/5. Bd3/5...Qxd4/7. Nf6
0
438969
4634640
4003431
2026-05-07T12:27:30Z
MathXplore
3097823
Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b)
4634640
wikitext
text/x-wiki
<noinclude>{{delete|Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude>
#REDIRECT [[Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. Nc3/3...dxe4/4. Nxe4/4...Bf5/5. Bd3/5...Qxd4/6. Nf3/6...Qd8/7. Qe2/7...Nf6]]
8pliqfqit6xyt6esafvpqgbaqy3htqp
User talk:Kittycataclysm
3
442343
4634649
4634386
2026-05-07T14:00:52Z
PeterEasthope
660399
/* Linking */ Reply
4634649
wikitext
text/x-wiki
{| class="wikitable"
|+
! colspan="3" |Talk Page Archives
|-
|[[User talk:Kittycataclysm/Archive 2022|2022]]
|[[User talk:Kittycataclysm/Archive 2023|2023]]
|[[User talk:Kittycataclysm/Archive 2024|2024]]
|}
== That IP range calculator ==
Following [[phab:T381138|T381138]], I have now become the maintainer of the IP range calculator you like. You can find it [[toolforge:ftools/general/ip-range-calc.html|here]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:10, 9 January 2025 (UTC)
:Thank you for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 10 January 2025 (UTC)
== A merge and unmerge from two years ago ==
I was browsing through the history merge log when I saw that you merged [[Cookbook:Chicken Bog]] into [[Cookbook:Chicken Bog I]], and then promptly reverted it. What happened here exactly? Could I correct it? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 15:55, 10 January 2025 (UTC)
:Good question! I can't remember what I was trying to do, but it looks like I didn't succeed at what I wanted based on the log comment. You're just trying to history merge to get [[Cookbook:Chicken Bog I]] to have continuity of history? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:35, 10 January 2025 (UTC)
::I think I figured out your mistake: it outright moved the revisions from the first page to the second, rather than copying them. This would have caused the other two [[Cookbook:Chicken Bog]] pages to have incomplete histories. I think the only solution would be to XML import the pre-April 2023 revisions from the first page to the other three, and I'm not sure if that's the best idea, and I am technically unable to do so. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:49, 10 January 2025 (UTC)
== Undeletion request ==
I wouldn't be surprised if you expected this, but I'd like to ask you to undelete the subpages of [[Rotorcraft Fundamentals]] you just deleted with the summary "Use of copyrighted work without permission. Please read Terms of Use: page needs to be imported for attribution", so that I can do that. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:54, 14 January 2025 (UTC)
:Done! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:57, 14 January 2025 (UTC)
::Upon further investigation, this might actually be a rare case where an [[WB:UT|unmerged transwiki]] is ''preferred'' (this is part of why I stopped calling them "bad transwikis"), since only a small portion of the Wikipedia article (with over 2,000 revisions) was copied over. Importation is generally only needed if the ''majority'' of the page is copied across wikis. I'll just leave a null edit providing attribution and add {{tlx|Copied}}. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:19, 14 January 2025 (UTC)
== Reusing [[Cookbook:8 Desserts in 1 Pan]] on wikiHow ==
Hi, I am a user on wikiHow, see [[wikihow:User:Xeverything11]]. I would like to create a new recipe on wikiHow. I wanted to let us know if I can give permission to reuse your contributions to this recipe from Wikibooks to wikiHow. I (as a copyright holder) created this recipe on Wikibooks, but you contributed to this recipe.
If not, I'll use the revision before you contributed since I was the only author.
Wikibooks uses CC-BY-SA 4.0 while wikiHow uses CC-BY-NC-SA 3.0, which both licenses are incompatible due to ShareAlike conditions.
Thanks [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 08:27, 15 January 2025 (UTC)
:@[[User:Xeverything11|Xeverything11]] I'm personally fine with this as long as proper attribution is given back to the original recipe page here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:52, 20 January 2025 (UTC)
::I adapted this [[wikihow:Make-8-Desserts-in-1-Pan|recipe]] on wikiHow with attribution, and got a Rising Star (an achievement used for best new articles on wikiHow). Thank you! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:49, 24 January 2025 (UTC)
== Wikibooks community ==
Hi, @[[User:Kittycataclysm|Kittycataclysm]]!
I am trying to contribute more to English Wikibooks. My main contributions will focus on the Cookbook, especially on Indonesian recipes. Do you have a community group where we can discuss and share ideas together?
I am looking forward to join. Thank you!
[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 08:47, 16 January 2025 (UTC)
:@[[User:Raflinoer32|Raflinoer32]] Sorry I missed this, and welcome! Are you asking about a Cookbook-specific area for discussion? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:39, 20 January 2025 (UTC)
::Yes. Do you know place for this?
::Thank you
::[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 09:41, 21 January 2025 (UTC)
:::Honestly, there's not a centralized Cookbook-specific discussion space, especially since there aren't currently a ton of active contributors. Some people ask questions at [[Cookbook talk:Table of Contents]]. I'm currently the most consistently active and involved Cookbook editor, so feel free to ask me questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 22 January 2025 (UTC)
== Congratulations! ==
[[File:Admin T-shirt.svg|thumb|You get this now.]]
You are now a permanent administrator. Welcome to the team (I am entitled to say this because I technically got the extension a few hours before you did)!{{FBDB}} [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 10:33, 29 January 2025 (UTC)
:Thanks :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 29 January 2025 (UTC)
== Is there a way to contact a Steward on WikiBooks? ==
Hi {{PAGENAME}},
Is there a way to contact a Steward on WB? I tried to find who the active Stewards are here at [[Special:ActiveUsers?username=&groups%5B%5D=steward&wpFormIdentifier=specialactiveusers]] but nothing shows up.
The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the [[Wikimania-wiki]], but I just visited the [[wikimania 2014 wiki]] and could not find this backward link. I tried to ask about this on the [[Wikimania 2014 main-page talk]] but disovered that the Stewards have protected it.
Is there a way wikibookians can communicate with Stewards at WB? Thanks in advance for answering this non-urgent question, and apologies for all the red-links which I can bluify if needed. Cheers [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 16:37, 7 February 2025 (UTC)
:@[[User:Ottawahitech|Ottawahitech]] You can ask this on somewhere like [[metawiki:Steward requests/Miscellaneous]]. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:01, 7 February 2025 (UTC)
<s>:@[[User:Ottawahitech|Ottawahitech]] seconding what Leaderboard said—we no longer have any active stewards at enWB.</s> Had a brain fade there and mixed up stewards with bureaucrats. Yes, meta is the place for this. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 7 February 2025 (UTC)
::@Kittycataclysm,@[[User:Leaderboard|Leaderboard]], or anyone else:
::Some wikibookians prefer for various reasons to post only at wb. I myself am indef-blocked at META so could not participate at [[metawiki:Steward requests/Miscellaneous]] even if I waned to.
::Since [[Wikimania]] is a topic of interest to all members of the [[wikimedia movement]] why can't wikibookians talk to thier elected representatives here? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:56, 7 February 2025 (UTC)
:::@[[User:Ottawahitech|Ottawahitech]] I can check with the blocking admin to see if they'd be willing to unblock you, if you'd like. The reason things like these are done at Meta is that Meta is a cross-project coordination platform - stewards ''cannot'' be expected to watch every project after all. Now you could message any steward here on Wikibooks if you really wanted to, but that is not normally a good idea. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 02:26, 8 February 2025 (UTC)
::::Wikimania is the annual conference celebrating all the free knowledge projects hosted by the Wikimedia Foundation (WMF). It is a wikimedia initiative which is meant to help all of our projects (including wikibooks), gain more readership, educate more wiki-editors, foster better communications, and much more. The wmf has been hosting a Wikimania-wiki dedicated to each Wikimania annual event since 2004. These wikis contain a wealth of information, but can benefit from wiki-improvements, starting from spelling and grammar errors that detract from their to appeal to the general membership. It would be nice if Stewards paid more attention to it.
::::@[[User:Leaderboard|Leaderboard]], I truly appreciate your offer, but I posted this here not in order to get someone to advocate for one unblocking at META. As I said earlier:
::::* "Some wikibookians prefer for various reasons to post only at wb"
::::* "The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the Wikimania-wiki, but I just visited the wikimania 2014 wiki and could not find this backward link. I tried to ask about this on the Wikimania 2014 main-page talk but disovered that the Stewards have protected it"
::::I would much rather see more wikimedia members question blocking in general at META. One cannot run such large movement of people from different backgrounds and nationalities simply by silencing minorities IMIO. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:12, 8 February 2025 (UTC)
== [[Crystal ball]] ==
That page appears to be a mixture of isolated paragraphs from [[w:Crystal ball|Crystal ball]], hence my tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:04, 9 February 2025 (UTC)
:Yep, that seems correct! I also queried it simply because it does not seem suitable for inclusion at all. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:09, 9 February 2025 (UTC)
== Question about an edit suggestion ==
Hi Kittycataclysm,
Thanks for the great work you do as an admin! I wanted to clarify a suggestion you made on a recently published page I’m working on. You recommended splitting it into smaller sections—would you suggest creating separate pages for these sections, or would a higher-level header for some topics be sufficient?
Any specific recommendations you have would be greatly appreciated!
Here’s the link to the page I’m referring to: [[Funding and Finance of Transportation Projects in the United States of America]]
Thank you! [[User:Svrmustafa|Svrmustafa]] ([[User talk:Svrmustafa|discuss]] • [[Special:Contributions/Svrmustafa|contribs]]) 18:19, 18 February 2025 (UTC)
:Hi @[[User:Svrmustafa|Svrmustafa]], and thanks for asking! Splitting refers to creating new pages, each with a smaller amount of content. The main page should then contain a table of contents, and each page can contain a navigation template for easier navigation. I'll create the table of contents based on the current work and move some content to one of those pages as an example for you; then, you can do the rest. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:26, 19 February 2025 (UTC)
::Following up on this—I noticed that you use the term "paper". However, technically Wikibooks hosts books not papers, so you should probably change this wording. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:38, 19 February 2025 (UTC)
== Talkback ==
{{Talkback|Cookbook talk:Chilli Crab|Recipe Questions}} [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 09:54, 19 February 2025 (UTC)
:@[[User:Kittycataclysm|Kittycataclysm]] I also made [[Cookbook:Prata|this]] [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:15, 19 February 2025 (UTC)
== Hello ==
Can you look at my latest recipe? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 00:10, 28 February 2025 (UTC)
:I saw it! It needs a few corrections, which I'll note. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:23, 28 February 2025 (UTC)
::@[[User:Kittycataclysm|Kittycataclysm]] How do you write recipe summary, correct headers [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 06:04, 28 February 2025 (UTC)
:::Please see [[Cookbook:Policy/Recipe template]]. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:08, 28 February 2025 (UTC)
::::ok [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 02:33, 1 March 2025 (UTC)
== Cookbook ==
Hi there, Kittycataclysm. I wandered over here from Wikipedia, and I'm quite enamoured with this cookbook. I noticed you seem to be the one maintaining it, and I thought I'd reach out. Can I really just start cranking out recipes from public domain cookbooks and my family recipes? It's that simple? I was also wondering about the featured recipes section. There's not very many in there, and I imagine there's not very many folks around to do reviews compared to GAR on Wikipedia. How do you handle content review? Thanks. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:51, 1 March 2025 (UTC)
:Hi @[[User:MediaKyle|MediaKyle]] and welcome! For some context, the Cookbook has been around since the very beginning of Wikibooks, but it had gotten into a bit of disarray over the course of about two decades by the time I found it. I started the long process of overhauling, standardizing, and expanding it just over four years ago—I finished standardizing the recipe formatting and quality a while back and am currently working my way through the ingredient pages before moving on to equipment, techniques, and cuisines. You can absolutely add any public domain recipes as well as your own recipes—they just need to conform to the [[Cookbook:Policy/Recipe template|recipe template]] and [[Cookbook:Policy|Cookbook policy overall]]. It's even better if you've made the recipe and can contribute a nice picture and specific guidance/instructions/notes! Please feel free to ask me any questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 1 March 2025 (UTC)
::Oh, and regarding the featured recipes section, I actually haven't gotten around to looking into that yet—there's been a lot to do! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:28, 1 March 2025 (UTC)
::That's great, thanks a lot for your response. This is just delightful. Maybe content review is something that we could collaborate on. There's a lot of recipes in here and it would be nice to know which ones are the best. Question for you, [[:Category:Brown sauces]] is really bothering me. How can I move that to Brown sauce recipes? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:29, 1 March 2025 (UTC)
:::Good catch on that category! It seems like it was created two decades ago and never got corrected—feel free to recategorize those recipes. Thank you also for introducing the hideprefix parameter to the category trees—I didn't realize that was an option, and it reduces the visual clutter! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 1 March 2025 (UTC)
::::My pleasure! As I continue to look at the categories, this is actually worse than I thought. We have both [[:Category:Sauce recipes]] and [[:Category:Recipes for condiments]] and I suspect that's just the beginning. I want to go through and categorize everything properly, but the bones aren't even there... How long do I have to be here before it'll let me create and move around categories? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:40, 1 March 2025 (UTC)
:::::Regarding the categories, the category overhauling is in progress, since I address the category when I overhaul the associated page. The variation in titling is actually somewhat deliberate—I started changing it from "____ recipes" in certain cases to solve a particular categorization problem. Sometimes, there is an item that is used in recipes as an ingredient but for which there are also recipes. For example, [[:Category:Recipes for bread]] versus [[:Category:Recipes using bread]]. The different naming scheme is necessary to properly delineate the categories, and I'm working on implementing it a bit more consistently as I go. While you're still getting started, it would be great if you could check with me when something looks odd or out of place—that way I can take a look and weigh in on whether that's normal or not and maybe provide some context. Just off the top of my head, I think you will have to wait for autoreview status to make move changes. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 1 March 2025 (UTC)
::::::I see what you're saying, I've been trying to wrap my head around that. Maybe it would be beneficial to try to put together some sort of a Cookbook MOS regarding category structure? It's kind of all over the place right now. Using your bread example, would it perhaps make more sense to have [[:Category:Bread recipes]] and [[:Category:Recipes using bread]]? There would be no ambiguity with just those two categories, but when you add the extra [[:Category:Recipes for bread]], that's when things start getting a little whacky. What do you think? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:05, 1 March 2025 (UTC)
:::::::Either that or get rid of [[:Category:Bread recipes]] and keep the other two. But one of these categories gotta go, I reckon. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:07, 1 March 2025 (UTC)
::::::::I see you already had the same thought as me. I think all categories should include "for" or "using". Take for example, [[:Category:Recipes for pancakes]] as opposed to [[:Category:Pancake recipes]]. Well obviously there's no recipes using pancakes. But for something like [[:Category:Recipes for gravy]], there may also be a need for [[:Category:Recipes using gravy]]. The lack of consistency in this regard means the only way to achieve consistency across the categories is by changing them over to that format. Sorry for clogging up your talk page! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:18, 1 March 2025 (UTC)
:::::::::Same heads-up as below—migrating this over to [[Cookbook talk:Table of Contents]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:10, 4 March 2025 (UTC)
:Also, on [[Cookbook:Table of Contents]], could you please add a wikilink for [[Cookbook:Breakfast]], and maybe add cooknav to the top for seamless navigation between all the top level articles? Can't edit that article yet. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:47, 1 March 2025 (UTC)
== More Table of Content Edits ==
Hello again. I've been going through everything and this is my list of suggestions for edits to the table of contents. Unfortunately there's not much else I can do for now, because without autoconfirmed my ability to change anything is very limited. I was going to ask for someone to check off the confirmed box for me at RfP but I can't post there either, so I guess I'll be back in four days.
* Fix Bread wikilink
* Remove "Creaming" from techniques, redirected to Mixing
* [[Cookbook:History of Food and Cooking]] points to redirect, needs capitalized
* [[Cookbook:Low-Carb]] points to redirect, needs capitalized
* [[Cookbook:Cuisine of the Mediterranean]] to [[Cookbook:Mediterranean Cuisine]] for parity
* Remove the S from the cuisine wikilinks on ToC, currently redirecting
* Create [[:Category:Lunch recipes]], wikilink to ToC
* Wikilink [[Cookbook:Dessert]] under Meals
* Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category
* Create [[Cookbook:East Asian Cuisine]] so I can add the recipes from [[:Category:East Asian recipes]] to it; currently is a redlink on the ToC
* Change "Introductory Matter" header to just "Introduction"
* Appendix and Equipment sections switch places
Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:46, 1 March 2025 (UTC)
:I took the liberty of doing it myself in my userspace. You can just copy it over from [[User:MediaKyle/sandbox]]. Figured I'd save you the trouble of trying to figure out what I'm talking about. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 14:15, 1 March 2025 (UTC)
:Circling back to this! It seems like your suggestions are getting at a couple different things. I'll try to go through them point-by-point below:
:* {{xt|Fix Bread wikilink}} {{done}}
:* {{xt|Remove "Creaming" from techniques, redirected to Mixing}} see below comments on TOC.
:* {{xt|Cookbook:History of Food and Cooking points to redirect, needs capitalized}} {{not done}} for now because I don't fully understand the urgency and I want to triage/prioritize things for you, but please feel free to make this change yourself once you can!
:* {{xt|Cookbook:Low-Carb points to redirect, needs capitalized}} {{not done}} for same reason as above.
:* {{xt|Cookbook:Cuisine of the Mediterranean to Cookbook:Mediterranean Cuisine for parity}} {{not done}} for now just because we do have a lot of cuisine pages that follow the form "Cuisine of ____". It could be good to standardize, and I had been planning to do that once I got around to the cuisines.
:* {{xt|Remove the S from the cuisine wikilinks on ToC, currently redirecting}} {{not done}} for same reason as other redirects
:* {{xt|Create Category:Lunch recipes, wikilink to ToC}} Not quite sure what you mean here, and I didn't see what it corresponded to in your linked sandbox page
:* {{xt|Wikilink Cookbook:Dessert under Meals}} {{done}}
:* {{xt|Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category}} I'm not sure about this—brunch is in many places considered a separate entity, and I don't necessarily think it would cause confusion. But, overall it's hard to determine whether it should have its own page and TOC link because I haven't actually gotten around to evaluating the meal pages and what role they should play. See also the TOC notes below.
:* {{xt|Create Cookbook:East Asian Cuisine so I can add the recipes from Category:East Asian recipes to it; currently is a redlink on the ToC}} {{done}} for now; however, I'm not sure yet whether it will ultimately make sense to keep that as a content page. I think content pages should be reasonably focused, and it may not be the best to have a cuisine page that is so broad. This is something I planned to consider once I made my way around the overhauling the cuisines.
:* {{xt|Change "Introductory Matter" header to just "Introduction"}} The reason I made it "Introductory Matter" instead of "Introduction" is because there's already a chapter itself titled "Introduction"—it felt odd to have the entire section titled that as well. Happy to discuss other header options (e.g. "Front Matter", which is a generally accepted book term)
:* {{xt|Appendix and Equipment sections switch places}} see below comments on TOC.
:* '''Comments on the TOC:''' So, I think a fundamental issue with the current TOC is that it somewhat arbitrarily picks and chooses individual pages to link. It also sometimes direct-links to categories and sometimes to content pages, which I don't think we should do. Because the cookbook is so expansive, it's been established that manual indices intending to capture detail in large areas don't really make sense and quickly get bulky and out-of-date. This is why categorytree is such a useful tool! After thinking on it for a while and making some small tweaks, I think I'd ultimately like to overhaul the TOC and come to a solution that keeps a few broad headers/links to the small handful of the primary content pages while perhaps stashing away more detailed and self-updating lists in a collapsible way to reduce clutter but allow for customizable user navigation. Much to think about, and I'll probably workshop some things on the side to see how they feel.
:Let me know if I've misunderstood anything! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:24, 3 March 2025 (UTC)
::Thanks for the notes! Here's my thoughts:
::* On the Cuisine titling, it actually seems like [[Cookbook:Cuisine of the Mediterranean]] and [[Cookbook:East Asian cuisines]] are the only ones that don't follow the naming scheme, i.e. "[[Cookbook:African Cuisine]]", and I think that shorter titles are preferable where it makes sense.
::* On your note about East Asian Cuisine, I actually had the same thought after going through the cuisine pages. Having three separate pages for different kinds of Asian cuisine does seem a little silly, doesn't it? Do you think it might be better to combine all of them under one "Asian Cuisine", but put the different locales under separate headers?
::* On Brunch - I honestly think there's way too much ambiguity around what exactly constitutes as "brunch" to keep that in. I feel as though the term brunch more applies to the time you're eating, rather than the kind of food. I think it would be easier to keep meals that include commonly accepted breakfast foods in the Breakfast category, and things that don't fit neatly into that, into the Lunch category. This would prevent any dilemmas in the future where we can't decide whether something is breakfast or brunch.
::* You're right that it looks a little awkward to have the header as Introduction when there's a page called introduction. I still think that to say "Introductory Matter", or "Front Matter" as you mentioned, is a little long-winded and reflects a more academic tone than needed for a cookbook. Upon further reflection, I think maybe rather than worrying about the header at this point, we should perhaps think about trying to compile all of those short introductory type pages into one comprehensive introductory page. Then we likely won't even need a header for it on the ToC.
::* The ToC is definitely a bit cluttered, and it bothers me too that there's a real lack of consistency across whether the wikilinks lead to a page or a category. I'm not sure how I would feel about cutting away too much of the navigation from it, though, because just about every page on there does have a reason to be there, it's just that they're not presented very nicely. Some of it can certainly get nested or combined though. I'll play around with it over the next few days in my sandbox as well and let you know if I come up with anything.
::* As an aside, the first thing on my to-do list once my autoconfirmed comes through is to start subcategorizing all of the recipes so that they're all nicely sorted in the category trees. When you have a chance, I'd love to hear your thoughts on what we should use as the standard naming for categories. Once we determine this, I think we can also take the liberty of updating the cookbook MoS to reflect it.
::Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:33, 3 March 2025 (UTC)
:::Note: After writing this, I realized what you were getting at about slashing away some of the subpages. Maybe we can come up with a system where all of those subpages are under their main subpage rather than on the ToC. For example, all the Cuisines are under [[Cookbook:Cuisines]], all techniques under [[Cookbook:Cooking Techniques]], to keep the subpages off the main ToC. Also, I wonder if maybe we should try to make a centralized discussion for this somewhere, in case anyone else wants to join in at some point? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:45, 3 March 2025 (UTC)
::::Heads-up: to make it easier to keep track of these and since I think they deserve their own discussions, I'm going to gradually migrate them over individually to [[Cookbook talk:Table of Contents]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:52, 4 March 2025 (UTC)
:::::Good idea. Can you remove the semi-protection from that talk page? I see no reason why it should be protected. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:23, 4 March 2025 (UTC)
== Cookbook ToC ==
Hi [[User:Kittycataclysm|Kittycataclysm]]. I was just wondering why you didn't respond to my above message, and started a separate sandbox for the ToC instead? It seems as though you don't really want to collaborate. It would be nice if we could work on this together. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 22:43, 2 March 2025 (UTC)
:@[[User:MediaKyle|MediaKyle]] thanks for the ping! I'm sorry you feel like I don't want to collaborate—the opposite is true, and please understand that this is good-faith editing. The reason I haven't responded to the above points is mostly since you've been modifying a bunch of content and adding suggestions lately, and I've been working my way through these while continuing with my routine contributions and real life as well—things happen a little more slowly here than on other projects, and I'm the one person dedicated to the cookbook right now. The reason I created that sandbox was because I saw [[Wikibooks:Reading room/General#Modernize the shelves|your comment]] at the reading room and wanted to play around and think about your suggestion without touching the actual TOC. You're right that it's not the best, and it's been something I've been thinking about for a bit now. Please understand also that it can be overwhelming when a new editor unfamiliar with the Cookbook begins making a high volume of edits and suggestions without having much experience with it or its history—this isn't to say that you don't have good ideas or things worth contributing. In fact, you have already made a few helpful changes, as I've mentioned. I just want to do this properly and take the time to evaluate your suggestions together with the current efforts that are underway, and that can take a bit. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:03, 2 March 2025 (UTC)
::Thanks for getting back to me. While I may be new to Wikibooks, I'm certainly not new to MediaWiki, and I've been working with small wiki projects for a number of years. Perhaps it's been a misunderstanding to some degree, but I've found my reception here to be unusually unwelcoming. The way to do this properly, as you said, would be to have discussions and form consensus. Yesterday, when you reached out to me about adding hideroot to the pages, I gave you my rationale and was more than happy to have a discussion about it, but you did not reply. I noticed a similar situation happened with [https://en.wikibooks.org/wiki/User_talk:Ottawahitech#Category_sorting Ottawahitech], regarding category sorting. I'm aware that you're the main person looking after the cookbook right now, which is why I reached out to you right from the get go.
::I understand why you would want to create your own sandbox to play around with options for the ToC, but I'm sure you can understand why it would draw my attention that you would do this without implementing any of the wikilink fixes I mentioned, or making an attempt to discuss it further. This came across to me as not wanting my help.
::I invite you to check out my page on Wikipedia. I've made contributions across quite a wide area of topics there, as well as the other Wikimedia projects, and this is the first time I've encountered any sort of resistance to my contributions. I think Wikibooks has enormous potential, and I'm very excited to contribute to helping it grow. On most projects, this would be something to be encouraged. I don't feel like "I'm sorry that you feel that way" was really an appropriate response. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:59, 2 March 2025 (UTC)
:::I think you're right that this has been a mix of misunderstanding and miscommunication, and I think I can understand how things came across as unwelcoming! For whatever it's worth, I absolutely plan on circling back to the various discussions at hand (I have all the relevant pages open to return to), but it seems like the order I did things made it seem like I was ignoring you (if I'm understanding correctly). I am pretty busy, so sometimes items on my to-do list do get lost/shunted or it takes me a bit to get around to something—please don't hesitate to give me a ping if it seems like I'm taking a while to get back to something. Looking forward to more collaboration! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:49, 3 March 2025 (UTC)
::::I'm glad you can understand where I'm coming from. To clarify, my intent is not to try to rush you, or to try to push you to make changes that you don't agree with. It's really easy to misinterpret things over the Internet, and I think a short message can go a long way. I apologize if I've caused you any undue stress by coming into the cookbook and unleashing a flurry of alterations, but do rest assured that I'm not married to any of my changes, I'm always open for discussion, and I want to see the cookbook improve just like you do. The great thing about wikis is that no change is permanent. I think we'll have it in tip-top shape in no time! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:19, 3 March 2025 (UTC)
== [[Cookbook:Polish Doughnuts (Paczki)]] ==
Do you see any reason not to just add this to Featured Recipes? At least we know this one works, and it seems like this is now one of the few recipes to have a picture that actually aligns with the recipe used. I was thinking later on we'll come up with a content review system where a couple editors will actually try the recipes nominated for FR, but in the absence of that I'd just add it to the list. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 12:25, 4 March 2025 (UTC)
:I'm fine with adding it to the featured recipes. You're right that we'll want to come up with a good system for this going forward, though it's lower down on my personal priority list at moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 March 2025 (UTC)
== [[Cookbook:Cream Cheese American Buttercream]] ==
Hi! I am a wikiHow user and I am planning to adapt this recipe to wikiHow. Since you contributed to this recipe, I wanted to know if I can get permission to reuse your contributions to this recipe. Thanks. [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:41, 4 March 2025 (UTC)
:@[[User:Xeverything11|Xeverything11]] that's fine with me as long as proper attribution and linking back to the original recipe page here are included at the top. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:28, 4 March 2025 (UTC)
== [[A Companion to Our Literary Journey]] ==
Hi! I feel that we have started to outline the scope in a clearer and more precise way and that’s the work we are going to do with the students this and for the next years, adding more sections and content. Do you think that would be enough? [[User:Ferdi2005|Ferdi2005]] ([[User talk:Ferdi2005|discuss]] • [[Special:Contributions/Ferdi2005|contribs]]) 22:43, 6 March 2025 (UTC)
:Hi @[[User:Ferdi2005|Ferdi2005]]! Yes, this seems to be reasonably outlined. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:51, 7 March 2025 (UTC)
== Exercising care with copyright ==
When deleting a page as a copyright violation, it is important that you '''do not quote any content from the deleted page'''. If you do, then your log entry is itself a copyright violation. I have redacted a recent deletion that you performed because of this. If you want to make sure that none of your past deletions have been problematic for this reason, you can [[quarry:query/90444|run this SQL query]] to get a list of every deletion that could be eligible for redaction. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:32, 21 March 2025 (UTC)
:Hi @[[User:JJPMaster|JJPMaster]] and thank you for the message. In the most recent instance that I think you're referencing, I do not see any material in the edit summary that posed a significant risk—I don't believe the few listed words would be a copyright concern. However, I do understand your concern! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:31, 21 March 2025 (UTC)
== Splitting Pages ==
Hi I have recently made the book on the [[History of the Nawabs of Bengal]] and you gave a notice on how you believe it should be split into smaller bits. As I am still new to wikibooks I don't know how to do this. Can you please assist me on renaming the page so I can split the page into multiple pages? @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 19:47, 29 March 2025 (UTC)
:@[[User:Greatswrd|Greatswrd]]: You did it. I've removed the tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:44, 29 March 2025 (UTC)
:Like @[[User:JJPMaster|JJPMaster]] said, you're all set! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 29 March 2025 (UTC)
::Thanks! @[[User:JJPMaster|JJPMaster]] @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 10:24, 30 March 2025 (UTC)
== Minecraft book ==
Is it good creating pages like this, [[Minecraft#Husk]]? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 12:43, 9 May 2025 (UTC)
:@[[User:Cactusisme|Cactusisme]] what do you mean? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:18, 10 May 2025 (UTC)
::are we allowed to create pages like that? like for every mob [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:02, 11 May 2025 (UTC)
:::To be honest, I don't think the structure and formatting of the book is very good. Several of the mob pages, for example, have very little information and aren't particularly helpful on their own. If I were working on it, I would restructure the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:09, 11 May 2025 (UTC)
::::I am planning to do that. [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 04:19, 12 May 2025 (UTC)
== Request to Review Adjusted User Page (XoriantTeam) ==
Hello [[User:Kittycataclysm|Kittycataclysm]],
I hope you're well. I noticed that my user page ([[User:XoriantTeam]]) was recently deleted for appearing promotional or inappropriate for Wikibooks. Thank you for keeping the community standards in check.
I’ve since revised the content with closer attention to neutrality and compliance with Wikibooks guidelines. My intent is to participate constructively, especially in areas related to digital engineering and educational content creation.
If possible, I’d appreciate your help reviewing the revised version. I'm happy to share it or upload it as a file if there’s a preferred method.
Please let me know how best to proceed. I welcome any suggestions and will gladly make further adjustments.
Best regards,
XoriantTeam [[User:XoriantTeam|XoriantTeam]] ([[User talk:XoriantTeam|discuss]] • [[Special:Contributions/XoriantTeam|contribs]]) 11:02, 15 May 2025 (UTC)
:Hi there—you can publish an updated user page, but I'd caution you against talking about your company. Keep it limited to your involvement with Wikibooks. You may contribute productively here, but further promotional materials are grounds for an indefinite block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:30, 15 May 2025 (UTC)
== Planning to use AWB to update categories on the cookbook ==
Hello. I noticed in recent changes that you were moving some categories using HotCat (e.g. moving Category:Chile recipes to Category:Recipes using chile), which can be time-consuming. Therefore, I plan to help you with moving the cookbook categories by adding myself to enabledusers and enabledbots in [[Wikibooks:AutoWikiBrowser/CheckPageJSON]]. Would this be fine if I assist you and to add myself to the check page? I am familiar with using AWB after testing on a non-Wikimedia project. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:42, 8 June 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—thank you for the tip! I just installed JWB, so this should make my mass cat changes much faster. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:11, 8 June 2025 (UTC)
:: Thank you for the information. Also, is it okay if I change (for example) [[:Category:Vinegar recipes]] to [[:Category:Recipes using vinegar]] (I can redirect the former category to the latter), given that we should move {{tq|Category:[ingredient] recipes}} to {{tq|Category:Recipes using [ingredient]}} for consistency? [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:57, 8 June 2025 (UTC)
:::Sure thing—go ahead! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:53, 8 June 2025 (UTC)
== Tool for even faster category changes ==
See [[:c:Help:Gadget-Cat-a-lot#As_your_user_gadget]]. I just [https://en.wikibooks.org/w/index.php?title=User:Koavf/common.js&action=history installed it] and used it dozens of times in a click. Let me know if you need any help. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:36, 19 June 2025 (UTC)
:@[[User:Koavf|Koavf]] Thanks! I'm having a little trouble activating it, but I'll keep trying. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:54, 19 June 2025 (UTC)
::A lot of times, a purge will do the trick. See [[:mw:Purge]]. Usually just <kbd>Ctrl+Shift+R</kbd> once or twice. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:55, 19 June 2025 (UTC)
:::Took several purges, but we're set now! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:16, 19 June 2025 (UTC)
== Advice on when I should run for adminship ==
Hi, I hope you are doing well. I am asking for some advice on when I should run for enwikibooks adminship, given the following below:
Currently, I am doing some optimizations for dark mode on this project, and some of the message box/MediaWiki interface/template pages might be outdated, fully protected, or can use a little help using mw-parser-output. These unfortunately might hinder the process of updating these pages/templates for Vector 2022's dark mode.<br>
Additionally, I have a solid expertise with edit filters, as I have requested some administrators to update deprecated filter variables, switching filters from warn and disallow to disallow only, and I can also monitor the filter log for potential false positives (from local or global filters).
A fellow English Wikibooks administrator also said to me that they are willing to support me in a few months when I run for adminship, as I am generally trusted.
I hold two advanced global permissions, and I hold an edit filter helper permission on the English Wikipedia, to be sure. Thank you for your consideration. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:02, 23 June 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—good question! I agree that you are a trusted user, and I think it would be reasonable for you to run for adminship, especially given our need to fix up technical aspects of the project. If you don't plan to commit to Wikibooks long-term (i.e. you have some projects you'd like to take a few months to complete and then be done), you can always request temporary adminship. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:30, 23 June 2025 (UTC)
:: Thank you for your feedback, but I also plan to monitor for vandalism/spam, and to commit to reduce the administrative assistance reading room backlog, should I be elected for adminship (and I forgot to mention those). Anyway, regarding your feedback, I might run by August or even July, given that I've lately started contributing more often to Wikibooks. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:29, 23 June 2025 (UTC)
::: [[User:Kittycataclysm|Kittycataclysm]], I am pinging you one more time to see if you have read my response above yours. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:34, 26 June 2025 (UTC)
::::Hi @[[User:Codename Noreste|Codename Noreste]]! I'm not sure what you mean—was there an additional question you had? Everything you've outlined seems quite reasonable. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 26 June 2025 (UTC)
::::: Apologies for the confusion, I don't have any questions to ask. I was clarifying that I can help with implementing edit requests and to block obvious vandals and spammers, aside from the skills I mentioned earlier. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:32, 26 June 2025 (UTC)
== how is it you feel able to interfere in my sandbox? ==
you deleted a page in my sandbox that was my way of providing my response to a request from an OpenSCAD dev team leader for a couple of text blurbs for use on a web page of the OpenSCAD site.
now that you have deleted my page i have to recreate the texts from a screenshot to be able to offer the suggestions, which i will
This kind of high handed treatment is what keeps me from being a wiki-anything contributor .. If it is Wiki policy to interfere in the documentation of an open source project because it is hosted on Wikibooks then i will take up the task of moving our online docs to a site where you cannot interfere.
--
[[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 21:56, 29 June 2025 (UTC)
:Hi @[[User:VulcanWikiEdit|VulcanWikiEdit]]—thanks for bringing this to my attention. I now understand that this was intended to be in your user namespace—I've undeleted it and moved it to the correct namespace for you. Let me know if anything else comes up! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 30 June 2025 (UTC)
::ah .. err .. umm .. well that is a gentle answer to my ire. Thanks for being so gracious [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:29, 30 June 2025 (UTC)
::and .. isn't my sandbox in my namespace by default? [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:30, 30 June 2025 (UTC)
:::No worries—it looks like you didn't add the prefix "User:" before writing out the full page titles, so the pages you created were technically in the project's Main space with the official published materials. Going forward, you can just double-check that the page title starts with "'''User:'''VulcanWikiEdit/sandbox", and that should keep everything in the right place! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:36, 30 June 2025 (UTC)
::::BTW .. i love the play on cat lover name [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 15:35, 1 July 2025 (UTC)
:::::Thank you! That's very kind. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:46, 1 July 2025 (UTC)
== Regarding the user Codename Tameirao ==
Could this be Matthew again (the Unicode LTA)? I believe it might be him based on his usage of edit summaries, and his usual edits to [[Unicode/Versions]]. I just blocked his recent account, and then I protected and stabilized that Unicode book. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 23:51, 12 August 2025 (UTC)
:I suspect you're right! That seems like a reasonable course of action. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:56, 13 August 2025 (UTC)
:: I recently encountered another possible LTA, see [[Special:Contributions/~2025-55706-6]] (as well as [[Unicode/Roadmap Blocks]]). I can email you more details if you want. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 16:30, 9 September 2025 (UTC)
:::I think this is the same LTA, yes! I've protected [[Unicode/Roadmap Blocks]], but I think it would be a good idea if we could automate this monitoring somewhat using the edit filter. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:07, 9 September 2025 (UTC)
:::: I don't think that was Matthew, as he typically uses edit summaries. The deleted page was not protected, as it was protected before you deleted it; I salted it from creation for one year. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:22, 9 September 2025 (UTC)
::::: You might want to look at [[Special:Contributions/Freddy Fazbearing Others]]. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:18, 26 October 2025 (UTC)
::::::Thank you! I went ahead and blocked them. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:54, 28 October 2025 (UTC)
== IP block exempt ==
Hi Kitty,
I currently have IP block exemption on enwiki, Commons and Wikidata as I use VPNs connected to my internet security software. Can you please grant me the right on wikibooks. I have a strong password and use two factor authentication. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 10:51, 22 August 2025 (UTC)
:Hi @[[User:TarnishedPath|TarnishedPath]]! This doesn't sound unreasonable to me, but I think it would be good if you requested at [[Wikibooks:Requests for permissions]] so we can have a discussion—I have not granted this right before. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 23 August 2025 (UTC)
::Kitty, thanks for pointing me in the right direction. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:25, 23 August 2025 (UTC)
::See [[Wikibooks:Requests_for_permissions#TarnishedPath_(discuss_·_contribs_·_count_·_logs_·_block_log_·_rfp_·_rights)_(IP_Block_Exemption)]] ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:35, 23 August 2025 (UTC)
== You've got mail! ==
{{You've got mail|sig=<span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 00:20, 6 September 2025 (UTC)}}
:Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:06, 6 September 2025 (UTC)
== Are you able to import? ==
I made a few requests over at https://en.wikibooks.org/wiki/Wikibooks:Requests_for_import . [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 22:32, 4 October 2025 (UTC)
: [[User:2005-Fan|2005-Fan]], I'll go ahead and start the imports. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:29, 5 October 2025 (UTC)
::Thank you for your help [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 16:51, 5 October 2025 (UTC)
::: My apologies for not doing this sooner, because some database error appears when I am trying to mass import. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:39, 5 October 2025 (UTC)
::::I also tried to make this import earlier and ran into issues with the software. I was hoping it was a temporary bug, but it seems to be persisting. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:01, 6 October 2025 (UTC)
:::::This seems like I should get involved. {{working}}... [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 13:11, 6 October 2025 (UTC)
:::::: I believe there are five pages that have massive page histories they fail to import here. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:13, 6 October 2025 (UTC)
:::::::I backed up the XMLs of them locally but im unsure how much that'd do. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 15:18, 6 October 2025 (UTC)
::::::::Just became an importer. The reason is prob understandable but I cannot upload the XML file to here locally. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 17:23, 10 October 2025 (UTC)
== About the category parameter in the recipe summary template ==
When it uses a "recipe by type" category, should it use a "[type/food] recipes" name or "Recipes for [type/food]"?
I recently operated JWB to change from [[:Category:Dessert recipes]] to [[:Category:Recipes for dessert]] in multiple Cookbook recipes, and from what I've said before, I've changed to ''Recipes for dessert'' in the category parameter of Cookbook recipes. Hope you don't mind that this was over more than 250 changes (not counting the recent category changes after moving some recipe categories). Thanks. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:07, 27 October 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—those JWB changes you made seem fine to me! I'm not quite sure what you're asking in your first sentence, though. Assuming I understand correctly: in general, I think the default format should be whatever the actual category name is. BUT if there is a redirect, it ultimately shouldn't matter too much. And, because I'm not convinced of the utility of that infobox parameter in the first place (thinking of removing it), I'm not hugely concerned about it for the time being. Does this help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:21, 27 October 2025 (UTC)
:: Probably, but I will say the following below (for my first sentence) to clarify:
:: On the <code>|category =</code> parameter, when placing a recipe category name, should it either be {{tq|Sandwich recipes}} or {{tq|Recipes for sandwiches}}? I hope this clears the confusion. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:39, 27 October 2025 (UTC)
== Please no more Unicode LTA ==
Please don't block me again. I promise I will edit Unicode stuff and add correct information. [[Special:Contributions/~2025-30839-28|~2025-30839-28]] ([[User talk:~2025-30839-28|talk]]) 20:54, 1 November 2025 (UTC)
:<small>I am a bit out of the loop, so correct me if I'm wrong - I'm assuming here</small> I think the point is that they want you to ''not'' edit the Unicode stuff? Also hi kitty, it's been a ... very long time.. <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:13, 5 November 2025 (UTC)
::Ok so apparently not as long as I thought, but it feels like I've been away for at least a year lol <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:23, 5 November 2025 (UTC)
:::Nice to see you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:41, 5 November 2025 (UTC)
== Administrator and reviewer user right combinations are not needed anymore ==
Given that administrators can review edits in addition to reviewers, I would suggest for you (and other administrators) to kindly remove the reviewer permission from (own) accounts. What I'm saying is that if one holds administrator and reviewer permissions together, they can remove the reviewer permission from their own account and retain their administrator permission. Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:06, 11 November 2025 (UTC)
:Gotcha—is there a reason it's bad for one user to have both these rights? If so, I can remove my reviewer right. Otherwise, it seems fairly harmless? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:26, 11 November 2025 (UTC)
:: The thing is, administrators have the <code>review</code> user right, as well as some permissions in the reviewer user group in the administrator toolset. That means that having the reviewer user group together with the admin user group is redundant. Hope this explains it. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:59, 11 November 2025 (UTC)
::: @[[User:Kittycataclysm|Kittycataclysm]] <s>I'll do this tomorrow morning, as well as to remove autoreviewed user permissions from users who are reviewers.</s> ({{doing}}) [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:24, 12 November 2025 (UTC)
: I have removed the autoreviewed user permission from users who are reviewers. As for administrators, I will do so later today. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:40, 13 November 2025 (UTC)
== Nesting in Open Book of Ecovillages and Eco Communities ==
Hi Kittycataclysm,
I am editor of wikipedia since 2004. We have the habit if we have a concern using the talk page to clarify the case. I am not sure to delete meaningful content without previous notification and doing major redirection without agreeing the main contributor(s) is an adequate admin act and sign of good manner of host (see [[W:Wikipedia:Etiquette|Wikipedia:Etiquette]].)
Yes, It will be not an average book but above the regular. This is the exact case: ''"this may be appropriate, such as with large textbooks that contain subsections with a lot of content."'' ''for to establish good structural and stylistic practices''
I have a data management certification. If you asking it will have 4 nest level on strict purpose. If you saw the introduction of the [[Open Book of Ecovillages and Eco Communities]] is/will be a global collection making effective collaboration over borders and continents. One structured + categorized(!) page for each community willing to show up. The Postal addresses has also same or larger deepness, this is unavoidable (Country/Postal Code/Location/Street/House/floor/door). Here will looks like: '''Eco-comm/Continent/Regio code/Community name'''
The goal of this system to open bridge + experience highway for the communities using the same permaculture technics what collected parallelly in [[Open Book of Permaculture]]. That is also part of this knowledge base please dont do simplification steps on that without discussion.
I am kindly asking to revert your edits in this book.
After that I will put a notification template about
"This book is under construction with major changes. Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History. Common clarifications/ guides are on the primary talk page."
Thanks: [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 02:22, 12 November 2025 (UTC)
:Hi @[[User:Rodrigo|Rodrigo]], and thank you both for your contributions and for reaching out! Yes, I did make the following changes to [[Open Book of Ecovillages and Eco Communities]]:
:* I moved the pages from the [[Eco-comm]] namespace to the [[Open Book of Ecovillages and Eco Communities]] namespace, since the table of contents and pages for a given book should be under that book's namespace.
:* I removed the links to Wikipedia that were on [[Open Book of Ecovillages and Eco Communities]], since outlinking has been discouraged at en.Wikibooks as a matter of practice. Compilations of links may not fall into WB scope as an instructional text, and [[Wikibooks:Requests for deletion/Piano Solo Music: An Encyclopedia|there is precedent for deleting them]]. But, I do see that the tool I used didn't just remove links to enWP, so I will restore the prior revision and ping the tool developer.
:* I flagged it as needing denesting—you're right that nested entries can sometimes be appropriate. In this case, I was primarily flagging for a denest because the table of contents needs to be moved onto the main page, and it shouldn't have hidden navigation within the nested portions.
:Could you clarify which of these edits you do not agree with so I can make sure they are individually addressed? As an aside, it could be helpful to create a [[Help:Local manuals of style|local manual of style]] for the book in order to clearly outline the expectations. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:59, 12 November 2025 (UTC)
::My main concern not about moving and flagging but '''deleting''' [[Eco-comm]] against [[Wikibooks:Deletion policy]] and not mentioning in the clarification even after my notification. Should I note all administrators [[Wikibooks:Please do not bite the newcomers]] - or will they do speedy deleting one by one until I make them individually addressed?
:::The <u> local manual of style</u> development is ongoing together with the sample pages.
::'''MAIN PAGE'''
::The '''Main page''' and '''Namespace''' is the [[Eco-comm]]. The '''Full Title''' or '''Cover''' is [[Open Book of Ecovillages and Eco Communities]]. Because of the high level of nesting the below extra-long-full-text-title to be avoided the Cover page is a redirection with preface/intro etc.
::'''NESTING '''
:::Featured book with 3 level nesting: [[Social and Cultural Foundations of American Education/Educational Change/Theory]]
:::5 level nesting example: [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]]
::'''Categories''' The [[:Category:Eco-comm]] will let the users make practical sub-categories e.g. [[:Category:Eco-comm/Project/numundo]] [[:Category:Eco-comm/]]
:::
::[[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 03:44, 18 November 2025 (UTC)
:::Thank you for elaborating! I'm unfortunately not sure what you mean about deleting [[Eco-comm]]—are you referring to the fact that I moved it without leaving a redirect? Regarding the nesting, I do honestly think those other books you linked should have their navigation denested since I find their format difficult to parse, and they have some navigation issues. Looping in some other active admins (@[[User:Leaderboard|Leaderboard]] @[[User:MarcGarver|MarcGarver]] @[[User:JJPMaster|JJPMaster]] @[[User:Codename Noreste|Codename Noreste]] (@[[User:SHB2000|SHB2000]]) so they can get eyes on this and voice anything they think is important. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:12, 18 November 2025 (UTC)
::::It makes no sense to have some crazy abbreviation as a "main page" or "namespace" (whatever that means in this context) for a book in order to allow it to be deep nested. Nobody needs to type the whole name of the nesting because that's what navigation templates do, and it is a simple matter to override the page title. I also take issue with the statement, above, "Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History." Anybody can edit, and nobody gets to own and control any work. Taken together, this complaint looks like a case of attempting to assert ownership and to operate against the normal practices of Wikibooks. As such, I am completely aligned with the changes made. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:49, 18 November 2025 (UTC)
:::::That. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 14:59, 18 November 2025 (UTC)
::::Thanks @[[User:MarcGarver|MarcGarver]]@[[User:Leaderboard|Leaderboard]] for the contribution, btw the [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]] also looks crazy long, is'nt it? Lets continue in the [[Wikibooks:Reading_room/General]] keeping this page for personal messages. [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 23:07, 20 November 2025 (UTC)
== Deletions of Wikibook subpages ==
Hello @[[User:Kittycataclysm|Kittycataclysm]],
regarding the [[Thesis Writing Guide]] subpage deletions, should I just recreate them when I keep working on them or was there an automatic deletion that we could undo? This document will grow, but really slowly.
Best,
Tim [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 11:37, 16 December 2025 (UTC)
:Hi @[[User:TimBorgNetzWerk|TimBorgNetzWerk]]! Since there was so little content on the deleted pages, my recommendation would just be for you to gradually recreate the chapters as you go. Does that make sense? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:54, 17 December 2025 (UTC)
::Makes sense, not my ideal solution, but also not far from it :) The end result will be the same, the in-between will just feel a little bit weird from time to time.
::Thank you for taking time to curate and quality-control Wikibooks - wishing wonderful holidays and a happy new year! [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 20:43, 17 December 2025 (UTC)
:::Thank you, and happy holidays to you as well :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 17 December 2025 (UTC)
== help with "Media Literacy and You" ==
{{re|Kittycataclysm}} What do I need to do to get a quality review of ''[[Media Literacy and You]]'', or whatever is needed to remove <nowiki>{{Qr-em|not clear how this is to be structured as a book}}</nowiki>?
I ask, because you added that flag just over 2 hours after I created it. I later found that I had accidentally created it as an anonymous user. I've since started using my standard Wikiname, and I tried to respond to the requests both by creating a discussion on the "Discussion" page associated with that book and by upgrading the content.
The upgrades included adding the "Introduction" chapter by revising an article on Wikiversity that convinced me to start this Wikibook. I have other articles that I plan to rewrite to create 9 of the remaining 11 chapters in the current table of contents, as indicated in this table of contents.
??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:23, 8 February 2026 (UTC)
:Hi @[[User:DavidMCEddy|DavidMCEddy]]! I removed the query flag, since this is clearly not a test page. I do have concerns about the suitability of this book for Wikibooks, since it seems to be more in line with essays and original research/analysis (which are [[Wikibooks:WIW|out of scope here]]). Wikiversity seems like a very suitable place for them—is there a specific reason you want to move them here? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:24, 8 February 2026 (UTC)
::{{re|Kittycataclysm}}
::This book is intended to accelerate the diffusion of [[w:Media literacy|media literacy]] by making it easier for humans to (a) access training materials and (b) connect with research on the most important issues that concern them and (c) discuss those issues with others who may believe differently in a nonthreatening context that encourages dialogue and a shared search for what can honestly be said about any particular issue. This is an extension of "The wisdom of polarized crowds" discussed in [[Wikipedia:Reliability of Wikipedia]].
::I don't know about you, but I'm frightened by the collapse of nuclear arms control agreements since the year 2000, by global warming, by the threats of the Trump administration to invade Canada and Greenland, etc. If this book project is successful, it will make a material contribution to reversing these trends -- unless this kind of dialogue is [[v:Responding to a nuclear attack|interrupted by a nuclear war]].
=== Who is DavidMCEddy ===
::I'm a [[w:Vietnam veteran|Vietnam-era veteran]] with a PhD in statistics and a publication record for which [https://www.researchgate.net/profile/Spencer-Graves-3 ReserchGate has found over 1,200 academic publications that have cited my work.] Since [https://xtools.wmcloud.org/ec/en.wikipedia.org/DavidMCEddy 2010 I have logged]
* 6,000+ edits in each of Wikipedia and Wikiversity,
* 1,000+ in Wikimedia Commons,
* 30,000+ in Wikidata, and
* almost 1,000 in other Wikimedia Foundation projects like Wikiquote and edits to the Spanish, French and German Wikipedias.
This includes dozens of research reports posted to Wikiversity under [[v:Category:Freedom and abundance]] and 44 posts under [[v:Category:Media reform to improve democracy]] that provide a platform for documenting and discussing 44 episodes of a fortnightly "Media & Democracy" series of 29:00 mm:ss podcasts syndicated for the [https://pacificanetwork.org/stations-2/ Pacifica Radio Network] featuring the opinions of leading experts on the increase in political polarization and violence and what those experts think should be done about this.
I've just posted another chapter to [[Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]]. I hope you will agree that this book can make a positive contribution to Wikibooks and to [[w:Jimmy Wales|Jimbo Wales]]' [[w:Wikipedia:Prime objective|Prime Directive]] to create "a world in which every single person on the planet is given free access to the sum of all human knowledge." Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 01:19, 9 February 2026 (UTC)
:@[[User:DavidMCEddy|DavidMCEddy]] Thank you and I understand this, but I am asking why you think this material is more suitable at Wikibooks rather than at Wikiversity. From what I can see, Wikiversity seems like the more appropriate home for it given our [[Wikibooks:WIW|scope]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:59, 9 February 2026 (UTC)
::{{re|Kittycataclysm}}
::"Media Literacy and You" is textbook to support both self study and classes on media literacy.
::I have been posting content to Wikiversity since 2014 and have not encountered support there for books. A search just now turned up a hint of a book on Wikiversity, but I could not easily find anything on how to do it, etc.
::I think this "Media Literacy and You" project would lose the vast majority of its potential if it were not on Wikibooks.
::??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:22, 9 February 2026 (UTC)
{{outdent}}
{{re|Kittycataclysm}}
Will you please help me with the protocols of creating a book on Wikiversity?
1. I have found documentation that claims that Wikiversity supports such. However, the documentation seems incomplete, potentially out of date, etc. For example, I could not see how to follow the instructions for [[Wikiversity:Help:Books#Step 1: Enable the "Book creator" tool]]. So I posted a question to [[Wikiversity:Help talk:Books]].
2. What do you suggest I do next?
:I can create an article on Wikiversity titled, "Media Literacy and You", and port everything I've posted to Wikibooks there, then replace the pages on Wikibooks with redirects to [[Wikiversity:Media Literacy and You]], [[Wikiversity:Media Literacy and You/Introduction]], and [[Wikiversity:Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]].
:If you think that's the best way to build this book project, great. It would actually be easier for me, because there would be less translation between what I already have on Wikiversity and a version for Wikibooks. (Also, Wikiversity supports <nowiki>{{cite Q|...}}</nowiki>, which I have used extensively for years.)
:Thanks for your help. [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 13:26, 9 February 2026 (UTC)
:@[[User:DavidMCEddy|DavidMCEddy]] Unfortunately, I am not familiar with the exact workings of Wikiversity, so I can't be much help there. My personal recommendation is that you ask there for help on how best to structure your materials to match the WV requirements. If you'd like some additional opinions/insight, please feel free to also check in at the [[Wikibooks:Reading room/General|reading room]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 10 February 2026 (UTC)
::{{re|Kittycataclysm}} I believe I have finished migrating all of ''Media Literacy and You'' to Wikiversity and replacing the parts of it on Wikibooks with redirects. Comments? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 17:32, 10 February 2026 (UTC)
== Thank you! ==
Heya, thanks for reviewing my stuff! Just to note, the first lesson page was done and so that'll need moving. If you want to discuss anything with me, I am easily reachable on Discord @ xiluosi233. I can explain philosophy, approach, and so on from my teaching experience if you want anything regarding that. [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:48, 17 February 2026 (UTC)
:It appears [[An Introduction to the Han Script]] was moved wrong - should it not be [[General Literary Chinese from Scratch/An Introduction to the Han Script]]? [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:52, 17 February 2026 (UTC)
::@[[User:Shira the Mogul|Shira the Mogul]] good catch! I accidentally removed more of the title than intended. I've fixed this now. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:18, 18 February 2026 (UTC)
== A test request ==
Just to see whether a recent Luna update turned out as intended, could you briefly revert your [[User:Kittycataclysm/lunaoptions.json|Luna preferences page]] to the first revision? Since you don't appear to have any custom preferences in the first place, I don't think there should be any conflicts. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:49, 30 March 2026 (UTC)
:Done! But, it seems to have perhaps auto-updated again immediately afterwards. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:39, 10 April 2026 (UTC)
== Linking ==
Hi,<br>
For my edification, why is a link from [[Cookbook:nettle|nettle]] to [[w:Urtica_dioica|Urtica dioica]] not appropriate? The Wikipedia article has more information & seems relevant.<br>
Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 01:53, 24 April 2026 (UTC)
:@[[User:PeterEasthope|PeterEasthope]] good question! Wikibooks discourages outlinking, since books should be self-contained units. Instead of linking to [[w:Urtica dioica]], the correct approach would be to flesh out the actual chapter here at Wikibooks. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:34, 24 April 2026 (UTC)
::Should all material in the Wikipedia article about Urtica dioica relevant to cooking be duplicated into the nettle article in the cookbook? Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 02:30, 2 May 2026 (UTC)
:::@[[User:PeterEasthope|PeterEasthope]] you could do that, although you should only include information that is sourced. However, I recommend that you wait, because I am coincidentally working on the page right now and fleshing it out significantly. I should publish today. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:40, 2 May 2026 (UTC)
::::The nettle page is better now. Thanks.
::::I still wonder, given that the link to ''The Complete Guide to Edible Wild Plants, ...'' is permitted, why not a link to the botanically oriented page in Wikipedia. What if someone reads the Cookbook article and is interested in the toxin for example? Seems that non-Wikimedia references are more privileged than Wikimedia references.
::::Also, by chance, just noticed the [[w:Nettle_soup|Nettle soup]] article in Wikipedia. Better in the Cookbook?
::::Thx, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 19:10, 5 May 2026 (UTC)
:::::Another good question. The reason those books are linked is because they are reputable and topical sources for the subject matter (nettles as used in cooking from an instructional perspective), and the links are part of the citations—this makes it different from a simple outlink to a Wikipedia page. Wikipedia pages should also not be cited themselves as sources. Regarding nettle soup, I don't think it makes sense to have that as a standalone page here in the cookbook due to its encyclopedic tone, and I don't see any recipes there. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:21, 6 May 2026 (UTC)
::::::Somewhat. Certainly a recipe wouldn't be incongruous in a cookbook. Still seems unhelpful that relevant information in Wikipedia is nonevident in Wikibooks. Would a "See also" section be permissible?
::::::Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 14:00, 7 May 2026 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:32, 28 April 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471751 -->
== Undeletion request ==
Hello,
I am writing to request an undeletion of the page Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad. You stated you are a frequent visitor of the Lentis page and are thus familiar with it. This page was part of a class assignment and was in progress at the time of deletion. The work deleted is what we will be graded on for our class, so we would appreciate the restoration. [[User:Yqj3km|Yqj3km]] ([[User talk:Yqj3km|discuss]] • [[Special:Contributions/Yqj3km|contribs]]) 19:36, 4 May 2026 (UTC)
:@[[User:Yqj3km|Yqj3km]] see my response below regarding undeletion. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 May 2026 (UTC)
== Undeletion request ==
About the page on Lentis called Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad: I, too, request undeletion, please. If the authors made any msitakes, the fault is 100 percent mine, for failing to guide them correctly. Like all chapters in this book, this team's chapter is a class assignment. I will be interested also in the reason for deletion so that I can guide authors better. I want to help my students be constructive contributors. Many thanks!
[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 20:03, 4 May 2026 (UTC)
:Hi @[[User:Norton|Norton]] and thanks for the ping! I deleted it because it was not titled/filed correctly, so I didn't realize it was part of [[Lentis]]. I have undeleted it and moved it to [[Lentis/Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:14, 4 May 2026 (UTC)
::Many, many thanks, @[[User:Kittycataclysm|Kittycataclysm]]! I am very grateful as always for everything you do for Wikibooks!
::[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 22:27, 4 May 2026 (UTC)
8ljlwmu4ocv5t5m0h43a0cbio4hdyrp
4634651
4634649
2026-05-07T14:23:13Z
PeterEasthope
660399
/* Linking */ Clarified a detail.
4634651
wikitext
text/x-wiki
{| class="wikitable"
|+
! colspan="3" |Talk Page Archives
|-
|[[User talk:Kittycataclysm/Archive 2022|2022]]
|[[User talk:Kittycataclysm/Archive 2023|2023]]
|[[User talk:Kittycataclysm/Archive 2024|2024]]
|}
== That IP range calculator ==
Following [[phab:T381138|T381138]], I have now become the maintainer of the IP range calculator you like. You can find it [[toolforge:ftools/general/ip-range-calc.html|here]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:10, 9 January 2025 (UTC)
:Thank you for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 10 January 2025 (UTC)
== A merge and unmerge from two years ago ==
I was browsing through the history merge log when I saw that you merged [[Cookbook:Chicken Bog]] into [[Cookbook:Chicken Bog I]], and then promptly reverted it. What happened here exactly? Could I correct it? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 15:55, 10 January 2025 (UTC)
:Good question! I can't remember what I was trying to do, but it looks like I didn't succeed at what I wanted based on the log comment. You're just trying to history merge to get [[Cookbook:Chicken Bog I]] to have continuity of history? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:35, 10 January 2025 (UTC)
::I think I figured out your mistake: it outright moved the revisions from the first page to the second, rather than copying them. This would have caused the other two [[Cookbook:Chicken Bog]] pages to have incomplete histories. I think the only solution would be to XML import the pre-April 2023 revisions from the first page to the other three, and I'm not sure if that's the best idea, and I am technically unable to do so. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:49, 10 January 2025 (UTC)
== Undeletion request ==
I wouldn't be surprised if you expected this, but I'd like to ask you to undelete the subpages of [[Rotorcraft Fundamentals]] you just deleted with the summary "Use of copyrighted work without permission. Please read Terms of Use: page needs to be imported for attribution", so that I can do that. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:54, 14 January 2025 (UTC)
:Done! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:57, 14 January 2025 (UTC)
::Upon further investigation, this might actually be a rare case where an [[WB:UT|unmerged transwiki]] is ''preferred'' (this is part of why I stopped calling them "bad transwikis"), since only a small portion of the Wikipedia article (with over 2,000 revisions) was copied over. Importation is generally only needed if the ''majority'' of the page is copied across wikis. I'll just leave a null edit providing attribution and add {{tlx|Copied}}. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:19, 14 January 2025 (UTC)
== Reusing [[Cookbook:8 Desserts in 1 Pan]] on wikiHow ==
Hi, I am a user on wikiHow, see [[wikihow:User:Xeverything11]]. I would like to create a new recipe on wikiHow. I wanted to let us know if I can give permission to reuse your contributions to this recipe from Wikibooks to wikiHow. I (as a copyright holder) created this recipe on Wikibooks, but you contributed to this recipe.
If not, I'll use the revision before you contributed since I was the only author.
Wikibooks uses CC-BY-SA 4.0 while wikiHow uses CC-BY-NC-SA 3.0, which both licenses are incompatible due to ShareAlike conditions.
Thanks [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 08:27, 15 January 2025 (UTC)
:@[[User:Xeverything11|Xeverything11]] I'm personally fine with this as long as proper attribution is given back to the original recipe page here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:52, 20 January 2025 (UTC)
::I adapted this [[wikihow:Make-8-Desserts-in-1-Pan|recipe]] on wikiHow with attribution, and got a Rising Star (an achievement used for best new articles on wikiHow). Thank you! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:49, 24 January 2025 (UTC)
== Wikibooks community ==
Hi, @[[User:Kittycataclysm|Kittycataclysm]]!
I am trying to contribute more to English Wikibooks. My main contributions will focus on the Cookbook, especially on Indonesian recipes. Do you have a community group where we can discuss and share ideas together?
I am looking forward to join. Thank you!
[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 08:47, 16 January 2025 (UTC)
:@[[User:Raflinoer32|Raflinoer32]] Sorry I missed this, and welcome! Are you asking about a Cookbook-specific area for discussion? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:39, 20 January 2025 (UTC)
::Yes. Do you know place for this?
::Thank you
::[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 09:41, 21 January 2025 (UTC)
:::Honestly, there's not a centralized Cookbook-specific discussion space, especially since there aren't currently a ton of active contributors. Some people ask questions at [[Cookbook talk:Table of Contents]]. I'm currently the most consistently active and involved Cookbook editor, so feel free to ask me questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 22 January 2025 (UTC)
== Congratulations! ==
[[File:Admin T-shirt.svg|thumb|You get this now.]]
You are now a permanent administrator. Welcome to the team (I am entitled to say this because I technically got the extension a few hours before you did)!{{FBDB}} [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 10:33, 29 January 2025 (UTC)
:Thanks :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 29 January 2025 (UTC)
== Is there a way to contact a Steward on WikiBooks? ==
Hi {{PAGENAME}},
Is there a way to contact a Steward on WB? I tried to find who the active Stewards are here at [[Special:ActiveUsers?username=&groups%5B%5D=steward&wpFormIdentifier=specialactiveusers]] but nothing shows up.
The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the [[Wikimania-wiki]], but I just visited the [[wikimania 2014 wiki]] and could not find this backward link. I tried to ask about this on the [[Wikimania 2014 main-page talk]] but disovered that the Stewards have protected it.
Is there a way wikibookians can communicate with Stewards at WB? Thanks in advance for answering this non-urgent question, and apologies for all the red-links which I can bluify if needed. Cheers [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 16:37, 7 February 2025 (UTC)
:@[[User:Ottawahitech|Ottawahitech]] You can ask this on somewhere like [[metawiki:Steward requests/Miscellaneous]]. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:01, 7 February 2025 (UTC)
<s>:@[[User:Ottawahitech|Ottawahitech]] seconding what Leaderboard said—we no longer have any active stewards at enWB.</s> Had a brain fade there and mixed up stewards with bureaucrats. Yes, meta is the place for this. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 7 February 2025 (UTC)
::@Kittycataclysm,@[[User:Leaderboard|Leaderboard]], or anyone else:
::Some wikibookians prefer for various reasons to post only at wb. I myself am indef-blocked at META so could not participate at [[metawiki:Steward requests/Miscellaneous]] even if I waned to.
::Since [[Wikimania]] is a topic of interest to all members of the [[wikimedia movement]] why can't wikibookians talk to thier elected representatives here? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:56, 7 February 2025 (UTC)
:::@[[User:Ottawahitech|Ottawahitech]] I can check with the blocking admin to see if they'd be willing to unblock you, if you'd like. The reason things like these are done at Meta is that Meta is a cross-project coordination platform - stewards ''cannot'' be expected to watch every project after all. Now you could message any steward here on Wikibooks if you really wanted to, but that is not normally a good idea. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 02:26, 8 February 2025 (UTC)
::::Wikimania is the annual conference celebrating all the free knowledge projects hosted by the Wikimedia Foundation (WMF). It is a wikimedia initiative which is meant to help all of our projects (including wikibooks), gain more readership, educate more wiki-editors, foster better communications, and much more. The wmf has been hosting a Wikimania-wiki dedicated to each Wikimania annual event since 2004. These wikis contain a wealth of information, but can benefit from wiki-improvements, starting from spelling and grammar errors that detract from their to appeal to the general membership. It would be nice if Stewards paid more attention to it.
::::@[[User:Leaderboard|Leaderboard]], I truly appreciate your offer, but I posted this here not in order to get someone to advocate for one unblocking at META. As I said earlier:
::::* "Some wikibookians prefer for various reasons to post only at wb"
::::* "The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the Wikimania-wiki, but I just visited the wikimania 2014 wiki and could not find this backward link. I tried to ask about this on the Wikimania 2014 main-page talk but disovered that the Stewards have protected it"
::::I would much rather see more wikimedia members question blocking in general at META. One cannot run such large movement of people from different backgrounds and nationalities simply by silencing minorities IMIO. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:12, 8 February 2025 (UTC)
== [[Crystal ball]] ==
That page appears to be a mixture of isolated paragraphs from [[w:Crystal ball|Crystal ball]], hence my tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:04, 9 February 2025 (UTC)
:Yep, that seems correct! I also queried it simply because it does not seem suitable for inclusion at all. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:09, 9 February 2025 (UTC)
== Question about an edit suggestion ==
Hi Kittycataclysm,
Thanks for the great work you do as an admin! I wanted to clarify a suggestion you made on a recently published page I’m working on. You recommended splitting it into smaller sections—would you suggest creating separate pages for these sections, or would a higher-level header for some topics be sufficient?
Any specific recommendations you have would be greatly appreciated!
Here’s the link to the page I’m referring to: [[Funding and Finance of Transportation Projects in the United States of America]]
Thank you! [[User:Svrmustafa|Svrmustafa]] ([[User talk:Svrmustafa|discuss]] • [[Special:Contributions/Svrmustafa|contribs]]) 18:19, 18 February 2025 (UTC)
:Hi @[[User:Svrmustafa|Svrmustafa]], and thanks for asking! Splitting refers to creating new pages, each with a smaller amount of content. The main page should then contain a table of contents, and each page can contain a navigation template for easier navigation. I'll create the table of contents based on the current work and move some content to one of those pages as an example for you; then, you can do the rest. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:26, 19 February 2025 (UTC)
::Following up on this—I noticed that you use the term "paper". However, technically Wikibooks hosts books not papers, so you should probably change this wording. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:38, 19 February 2025 (UTC)
== Talkback ==
{{Talkback|Cookbook talk:Chilli Crab|Recipe Questions}} [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 09:54, 19 February 2025 (UTC)
:@[[User:Kittycataclysm|Kittycataclysm]] I also made [[Cookbook:Prata|this]] [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:15, 19 February 2025 (UTC)
== Hello ==
Can you look at my latest recipe? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 00:10, 28 February 2025 (UTC)
:I saw it! It needs a few corrections, which I'll note. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:23, 28 February 2025 (UTC)
::@[[User:Kittycataclysm|Kittycataclysm]] How do you write recipe summary, correct headers [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 06:04, 28 February 2025 (UTC)
:::Please see [[Cookbook:Policy/Recipe template]]. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:08, 28 February 2025 (UTC)
::::ok [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 02:33, 1 March 2025 (UTC)
== Cookbook ==
Hi there, Kittycataclysm. I wandered over here from Wikipedia, and I'm quite enamoured with this cookbook. I noticed you seem to be the one maintaining it, and I thought I'd reach out. Can I really just start cranking out recipes from public domain cookbooks and my family recipes? It's that simple? I was also wondering about the featured recipes section. There's not very many in there, and I imagine there's not very many folks around to do reviews compared to GAR on Wikipedia. How do you handle content review? Thanks. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:51, 1 March 2025 (UTC)
:Hi @[[User:MediaKyle|MediaKyle]] and welcome! For some context, the Cookbook has been around since the very beginning of Wikibooks, but it had gotten into a bit of disarray over the course of about two decades by the time I found it. I started the long process of overhauling, standardizing, and expanding it just over four years ago—I finished standardizing the recipe formatting and quality a while back and am currently working my way through the ingredient pages before moving on to equipment, techniques, and cuisines. You can absolutely add any public domain recipes as well as your own recipes—they just need to conform to the [[Cookbook:Policy/Recipe template|recipe template]] and [[Cookbook:Policy|Cookbook policy overall]]. It's even better if you've made the recipe and can contribute a nice picture and specific guidance/instructions/notes! Please feel free to ask me any questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 1 March 2025 (UTC)
::Oh, and regarding the featured recipes section, I actually haven't gotten around to looking into that yet—there's been a lot to do! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:28, 1 March 2025 (UTC)
::That's great, thanks a lot for your response. This is just delightful. Maybe content review is something that we could collaborate on. There's a lot of recipes in here and it would be nice to know which ones are the best. Question for you, [[:Category:Brown sauces]] is really bothering me. How can I move that to Brown sauce recipes? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:29, 1 March 2025 (UTC)
:::Good catch on that category! It seems like it was created two decades ago and never got corrected—feel free to recategorize those recipes. Thank you also for introducing the hideprefix parameter to the category trees—I didn't realize that was an option, and it reduces the visual clutter! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 1 March 2025 (UTC)
::::My pleasure! As I continue to look at the categories, this is actually worse than I thought. We have both [[:Category:Sauce recipes]] and [[:Category:Recipes for condiments]] and I suspect that's just the beginning. I want to go through and categorize everything properly, but the bones aren't even there... How long do I have to be here before it'll let me create and move around categories? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:40, 1 March 2025 (UTC)
:::::Regarding the categories, the category overhauling is in progress, since I address the category when I overhaul the associated page. The variation in titling is actually somewhat deliberate—I started changing it from "____ recipes" in certain cases to solve a particular categorization problem. Sometimes, there is an item that is used in recipes as an ingredient but for which there are also recipes. For example, [[:Category:Recipes for bread]] versus [[:Category:Recipes using bread]]. The different naming scheme is necessary to properly delineate the categories, and I'm working on implementing it a bit more consistently as I go. While you're still getting started, it would be great if you could check with me when something looks odd or out of place—that way I can take a look and weigh in on whether that's normal or not and maybe provide some context. Just off the top of my head, I think you will have to wait for autoreview status to make move changes. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 1 March 2025 (UTC)
::::::I see what you're saying, I've been trying to wrap my head around that. Maybe it would be beneficial to try to put together some sort of a Cookbook MOS regarding category structure? It's kind of all over the place right now. Using your bread example, would it perhaps make more sense to have [[:Category:Bread recipes]] and [[:Category:Recipes using bread]]? There would be no ambiguity with just those two categories, but when you add the extra [[:Category:Recipes for bread]], that's when things start getting a little whacky. What do you think? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:05, 1 March 2025 (UTC)
:::::::Either that or get rid of [[:Category:Bread recipes]] and keep the other two. But one of these categories gotta go, I reckon. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:07, 1 March 2025 (UTC)
::::::::I see you already had the same thought as me. I think all categories should include "for" or "using". Take for example, [[:Category:Recipes for pancakes]] as opposed to [[:Category:Pancake recipes]]. Well obviously there's no recipes using pancakes. But for something like [[:Category:Recipes for gravy]], there may also be a need for [[:Category:Recipes using gravy]]. The lack of consistency in this regard means the only way to achieve consistency across the categories is by changing them over to that format. Sorry for clogging up your talk page! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:18, 1 March 2025 (UTC)
:::::::::Same heads-up as below—migrating this over to [[Cookbook talk:Table of Contents]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:10, 4 March 2025 (UTC)
:Also, on [[Cookbook:Table of Contents]], could you please add a wikilink for [[Cookbook:Breakfast]], and maybe add cooknav to the top for seamless navigation between all the top level articles? Can't edit that article yet. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:47, 1 March 2025 (UTC)
== More Table of Content Edits ==
Hello again. I've been going through everything and this is my list of suggestions for edits to the table of contents. Unfortunately there's not much else I can do for now, because without autoconfirmed my ability to change anything is very limited. I was going to ask for someone to check off the confirmed box for me at RfP but I can't post there either, so I guess I'll be back in four days.
* Fix Bread wikilink
* Remove "Creaming" from techniques, redirected to Mixing
* [[Cookbook:History of Food and Cooking]] points to redirect, needs capitalized
* [[Cookbook:Low-Carb]] points to redirect, needs capitalized
* [[Cookbook:Cuisine of the Mediterranean]] to [[Cookbook:Mediterranean Cuisine]] for parity
* Remove the S from the cuisine wikilinks on ToC, currently redirecting
* Create [[:Category:Lunch recipes]], wikilink to ToC
* Wikilink [[Cookbook:Dessert]] under Meals
* Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category
* Create [[Cookbook:East Asian Cuisine]] so I can add the recipes from [[:Category:East Asian recipes]] to it; currently is a redlink on the ToC
* Change "Introductory Matter" header to just "Introduction"
* Appendix and Equipment sections switch places
Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:46, 1 March 2025 (UTC)
:I took the liberty of doing it myself in my userspace. You can just copy it over from [[User:MediaKyle/sandbox]]. Figured I'd save you the trouble of trying to figure out what I'm talking about. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 14:15, 1 March 2025 (UTC)
:Circling back to this! It seems like your suggestions are getting at a couple different things. I'll try to go through them point-by-point below:
:* {{xt|Fix Bread wikilink}} {{done}}
:* {{xt|Remove "Creaming" from techniques, redirected to Mixing}} see below comments on TOC.
:* {{xt|Cookbook:History of Food and Cooking points to redirect, needs capitalized}} {{not done}} for now because I don't fully understand the urgency and I want to triage/prioritize things for you, but please feel free to make this change yourself once you can!
:* {{xt|Cookbook:Low-Carb points to redirect, needs capitalized}} {{not done}} for same reason as above.
:* {{xt|Cookbook:Cuisine of the Mediterranean to Cookbook:Mediterranean Cuisine for parity}} {{not done}} for now just because we do have a lot of cuisine pages that follow the form "Cuisine of ____". It could be good to standardize, and I had been planning to do that once I got around to the cuisines.
:* {{xt|Remove the S from the cuisine wikilinks on ToC, currently redirecting}} {{not done}} for same reason as other redirects
:* {{xt|Create Category:Lunch recipes, wikilink to ToC}} Not quite sure what you mean here, and I didn't see what it corresponded to in your linked sandbox page
:* {{xt|Wikilink Cookbook:Dessert under Meals}} {{done}}
:* {{xt|Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category}} I'm not sure about this—brunch is in many places considered a separate entity, and I don't necessarily think it would cause confusion. But, overall it's hard to determine whether it should have its own page and TOC link because I haven't actually gotten around to evaluating the meal pages and what role they should play. See also the TOC notes below.
:* {{xt|Create Cookbook:East Asian Cuisine so I can add the recipes from Category:East Asian recipes to it; currently is a redlink on the ToC}} {{done}} for now; however, I'm not sure yet whether it will ultimately make sense to keep that as a content page. I think content pages should be reasonably focused, and it may not be the best to have a cuisine page that is so broad. This is something I planned to consider once I made my way around the overhauling the cuisines.
:* {{xt|Change "Introductory Matter" header to just "Introduction"}} The reason I made it "Introductory Matter" instead of "Introduction" is because there's already a chapter itself titled "Introduction"—it felt odd to have the entire section titled that as well. Happy to discuss other header options (e.g. "Front Matter", which is a generally accepted book term)
:* {{xt|Appendix and Equipment sections switch places}} see below comments on TOC.
:* '''Comments on the TOC:''' So, I think a fundamental issue with the current TOC is that it somewhat arbitrarily picks and chooses individual pages to link. It also sometimes direct-links to categories and sometimes to content pages, which I don't think we should do. Because the cookbook is so expansive, it's been established that manual indices intending to capture detail in large areas don't really make sense and quickly get bulky and out-of-date. This is why categorytree is such a useful tool! After thinking on it for a while and making some small tweaks, I think I'd ultimately like to overhaul the TOC and come to a solution that keeps a few broad headers/links to the small handful of the primary content pages while perhaps stashing away more detailed and self-updating lists in a collapsible way to reduce clutter but allow for customizable user navigation. Much to think about, and I'll probably workshop some things on the side to see how they feel.
:Let me know if I've misunderstood anything! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:24, 3 March 2025 (UTC)
::Thanks for the notes! Here's my thoughts:
::* On the Cuisine titling, it actually seems like [[Cookbook:Cuisine of the Mediterranean]] and [[Cookbook:East Asian cuisines]] are the only ones that don't follow the naming scheme, i.e. "[[Cookbook:African Cuisine]]", and I think that shorter titles are preferable where it makes sense.
::* On your note about East Asian Cuisine, I actually had the same thought after going through the cuisine pages. Having three separate pages for different kinds of Asian cuisine does seem a little silly, doesn't it? Do you think it might be better to combine all of them under one "Asian Cuisine", but put the different locales under separate headers?
::* On Brunch - I honestly think there's way too much ambiguity around what exactly constitutes as "brunch" to keep that in. I feel as though the term brunch more applies to the time you're eating, rather than the kind of food. I think it would be easier to keep meals that include commonly accepted breakfast foods in the Breakfast category, and things that don't fit neatly into that, into the Lunch category. This would prevent any dilemmas in the future where we can't decide whether something is breakfast or brunch.
::* You're right that it looks a little awkward to have the header as Introduction when there's a page called introduction. I still think that to say "Introductory Matter", or "Front Matter" as you mentioned, is a little long-winded and reflects a more academic tone than needed for a cookbook. Upon further reflection, I think maybe rather than worrying about the header at this point, we should perhaps think about trying to compile all of those short introductory type pages into one comprehensive introductory page. Then we likely won't even need a header for it on the ToC.
::* The ToC is definitely a bit cluttered, and it bothers me too that there's a real lack of consistency across whether the wikilinks lead to a page or a category. I'm not sure how I would feel about cutting away too much of the navigation from it, though, because just about every page on there does have a reason to be there, it's just that they're not presented very nicely. Some of it can certainly get nested or combined though. I'll play around with it over the next few days in my sandbox as well and let you know if I come up with anything.
::* As an aside, the first thing on my to-do list once my autoconfirmed comes through is to start subcategorizing all of the recipes so that they're all nicely sorted in the category trees. When you have a chance, I'd love to hear your thoughts on what we should use as the standard naming for categories. Once we determine this, I think we can also take the liberty of updating the cookbook MoS to reflect it.
::Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:33, 3 March 2025 (UTC)
:::Note: After writing this, I realized what you were getting at about slashing away some of the subpages. Maybe we can come up with a system where all of those subpages are under their main subpage rather than on the ToC. For example, all the Cuisines are under [[Cookbook:Cuisines]], all techniques under [[Cookbook:Cooking Techniques]], to keep the subpages off the main ToC. Also, I wonder if maybe we should try to make a centralized discussion for this somewhere, in case anyone else wants to join in at some point? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:45, 3 March 2025 (UTC)
::::Heads-up: to make it easier to keep track of these and since I think they deserve their own discussions, I'm going to gradually migrate them over individually to [[Cookbook talk:Table of Contents]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:52, 4 March 2025 (UTC)
:::::Good idea. Can you remove the semi-protection from that talk page? I see no reason why it should be protected. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:23, 4 March 2025 (UTC)
== Cookbook ToC ==
Hi [[User:Kittycataclysm|Kittycataclysm]]. I was just wondering why you didn't respond to my above message, and started a separate sandbox for the ToC instead? It seems as though you don't really want to collaborate. It would be nice if we could work on this together. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 22:43, 2 March 2025 (UTC)
:@[[User:MediaKyle|MediaKyle]] thanks for the ping! I'm sorry you feel like I don't want to collaborate—the opposite is true, and please understand that this is good-faith editing. The reason I haven't responded to the above points is mostly since you've been modifying a bunch of content and adding suggestions lately, and I've been working my way through these while continuing with my routine contributions and real life as well—things happen a little more slowly here than on other projects, and I'm the one person dedicated to the cookbook right now. The reason I created that sandbox was because I saw [[Wikibooks:Reading room/General#Modernize the shelves|your comment]] at the reading room and wanted to play around and think about your suggestion without touching the actual TOC. You're right that it's not the best, and it's been something I've been thinking about for a bit now. Please understand also that it can be overwhelming when a new editor unfamiliar with the Cookbook begins making a high volume of edits and suggestions without having much experience with it or its history—this isn't to say that you don't have good ideas or things worth contributing. In fact, you have already made a few helpful changes, as I've mentioned. I just want to do this properly and take the time to evaluate your suggestions together with the current efforts that are underway, and that can take a bit. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:03, 2 March 2025 (UTC)
::Thanks for getting back to me. While I may be new to Wikibooks, I'm certainly not new to MediaWiki, and I've been working with small wiki projects for a number of years. Perhaps it's been a misunderstanding to some degree, but I've found my reception here to be unusually unwelcoming. The way to do this properly, as you said, would be to have discussions and form consensus. Yesterday, when you reached out to me about adding hideroot to the pages, I gave you my rationale and was more than happy to have a discussion about it, but you did not reply. I noticed a similar situation happened with [https://en.wikibooks.org/wiki/User_talk:Ottawahitech#Category_sorting Ottawahitech], regarding category sorting. I'm aware that you're the main person looking after the cookbook right now, which is why I reached out to you right from the get go.
::I understand why you would want to create your own sandbox to play around with options for the ToC, but I'm sure you can understand why it would draw my attention that you would do this without implementing any of the wikilink fixes I mentioned, or making an attempt to discuss it further. This came across to me as not wanting my help.
::I invite you to check out my page on Wikipedia. I've made contributions across quite a wide area of topics there, as well as the other Wikimedia projects, and this is the first time I've encountered any sort of resistance to my contributions. I think Wikibooks has enormous potential, and I'm very excited to contribute to helping it grow. On most projects, this would be something to be encouraged. I don't feel like "I'm sorry that you feel that way" was really an appropriate response. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:59, 2 March 2025 (UTC)
:::I think you're right that this has been a mix of misunderstanding and miscommunication, and I think I can understand how things came across as unwelcoming! For whatever it's worth, I absolutely plan on circling back to the various discussions at hand (I have all the relevant pages open to return to), but it seems like the order I did things made it seem like I was ignoring you (if I'm understanding correctly). I am pretty busy, so sometimes items on my to-do list do get lost/shunted or it takes me a bit to get around to something—please don't hesitate to give me a ping if it seems like I'm taking a while to get back to something. Looking forward to more collaboration! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:49, 3 March 2025 (UTC)
::::I'm glad you can understand where I'm coming from. To clarify, my intent is not to try to rush you, or to try to push you to make changes that you don't agree with. It's really easy to misinterpret things over the Internet, and I think a short message can go a long way. I apologize if I've caused you any undue stress by coming into the cookbook and unleashing a flurry of alterations, but do rest assured that I'm not married to any of my changes, I'm always open for discussion, and I want to see the cookbook improve just like you do. The great thing about wikis is that no change is permanent. I think we'll have it in tip-top shape in no time! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:19, 3 March 2025 (UTC)
== [[Cookbook:Polish Doughnuts (Paczki)]] ==
Do you see any reason not to just add this to Featured Recipes? At least we know this one works, and it seems like this is now one of the few recipes to have a picture that actually aligns with the recipe used. I was thinking later on we'll come up with a content review system where a couple editors will actually try the recipes nominated for FR, but in the absence of that I'd just add it to the list. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 12:25, 4 March 2025 (UTC)
:I'm fine with adding it to the featured recipes. You're right that we'll want to come up with a good system for this going forward, though it's lower down on my personal priority list at moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 March 2025 (UTC)
== [[Cookbook:Cream Cheese American Buttercream]] ==
Hi! I am a wikiHow user and I am planning to adapt this recipe to wikiHow. Since you contributed to this recipe, I wanted to know if I can get permission to reuse your contributions to this recipe. Thanks. [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:41, 4 March 2025 (UTC)
:@[[User:Xeverything11|Xeverything11]] that's fine with me as long as proper attribution and linking back to the original recipe page here are included at the top. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:28, 4 March 2025 (UTC)
== [[A Companion to Our Literary Journey]] ==
Hi! I feel that we have started to outline the scope in a clearer and more precise way and that’s the work we are going to do with the students this and for the next years, adding more sections and content. Do you think that would be enough? [[User:Ferdi2005|Ferdi2005]] ([[User talk:Ferdi2005|discuss]] • [[Special:Contributions/Ferdi2005|contribs]]) 22:43, 6 March 2025 (UTC)
:Hi @[[User:Ferdi2005|Ferdi2005]]! Yes, this seems to be reasonably outlined. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:51, 7 March 2025 (UTC)
== Exercising care with copyright ==
When deleting a page as a copyright violation, it is important that you '''do not quote any content from the deleted page'''. If you do, then your log entry is itself a copyright violation. I have redacted a recent deletion that you performed because of this. If you want to make sure that none of your past deletions have been problematic for this reason, you can [[quarry:query/90444|run this SQL query]] to get a list of every deletion that could be eligible for redaction. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:32, 21 March 2025 (UTC)
:Hi @[[User:JJPMaster|JJPMaster]] and thank you for the message. In the most recent instance that I think you're referencing, I do not see any material in the edit summary that posed a significant risk—I don't believe the few listed words would be a copyright concern. However, I do understand your concern! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:31, 21 March 2025 (UTC)
== Splitting Pages ==
Hi I have recently made the book on the [[History of the Nawabs of Bengal]] and you gave a notice on how you believe it should be split into smaller bits. As I am still new to wikibooks I don't know how to do this. Can you please assist me on renaming the page so I can split the page into multiple pages? @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 19:47, 29 March 2025 (UTC)
:@[[User:Greatswrd|Greatswrd]]: You did it. I've removed the tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:44, 29 March 2025 (UTC)
:Like @[[User:JJPMaster|JJPMaster]] said, you're all set! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 29 March 2025 (UTC)
::Thanks! @[[User:JJPMaster|JJPMaster]] @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 10:24, 30 March 2025 (UTC)
== Minecraft book ==
Is it good creating pages like this, [[Minecraft#Husk]]? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 12:43, 9 May 2025 (UTC)
:@[[User:Cactusisme|Cactusisme]] what do you mean? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:18, 10 May 2025 (UTC)
::are we allowed to create pages like that? like for every mob [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:02, 11 May 2025 (UTC)
:::To be honest, I don't think the structure and formatting of the book is very good. Several of the mob pages, for example, have very little information and aren't particularly helpful on their own. If I were working on it, I would restructure the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:09, 11 May 2025 (UTC)
::::I am planning to do that. [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 04:19, 12 May 2025 (UTC)
== Request to Review Adjusted User Page (XoriantTeam) ==
Hello [[User:Kittycataclysm|Kittycataclysm]],
I hope you're well. I noticed that my user page ([[User:XoriantTeam]]) was recently deleted for appearing promotional or inappropriate for Wikibooks. Thank you for keeping the community standards in check.
I’ve since revised the content with closer attention to neutrality and compliance with Wikibooks guidelines. My intent is to participate constructively, especially in areas related to digital engineering and educational content creation.
If possible, I’d appreciate your help reviewing the revised version. I'm happy to share it or upload it as a file if there’s a preferred method.
Please let me know how best to proceed. I welcome any suggestions and will gladly make further adjustments.
Best regards,
XoriantTeam [[User:XoriantTeam|XoriantTeam]] ([[User talk:XoriantTeam|discuss]] • [[Special:Contributions/XoriantTeam|contribs]]) 11:02, 15 May 2025 (UTC)
:Hi there—you can publish an updated user page, but I'd caution you against talking about your company. Keep it limited to your involvement with Wikibooks. You may contribute productively here, but further promotional materials are grounds for an indefinite block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:30, 15 May 2025 (UTC)
== Planning to use AWB to update categories on the cookbook ==
Hello. I noticed in recent changes that you were moving some categories using HotCat (e.g. moving Category:Chile recipes to Category:Recipes using chile), which can be time-consuming. Therefore, I plan to help you with moving the cookbook categories by adding myself to enabledusers and enabledbots in [[Wikibooks:AutoWikiBrowser/CheckPageJSON]]. Would this be fine if I assist you and to add myself to the check page? I am familiar with using AWB after testing on a non-Wikimedia project. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:42, 8 June 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—thank you for the tip! I just installed JWB, so this should make my mass cat changes much faster. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:11, 8 June 2025 (UTC)
:: Thank you for the information. Also, is it okay if I change (for example) [[:Category:Vinegar recipes]] to [[:Category:Recipes using vinegar]] (I can redirect the former category to the latter), given that we should move {{tq|Category:[ingredient] recipes}} to {{tq|Category:Recipes using [ingredient]}} for consistency? [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:57, 8 June 2025 (UTC)
:::Sure thing—go ahead! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:53, 8 June 2025 (UTC)
== Tool for even faster category changes ==
See [[:c:Help:Gadget-Cat-a-lot#As_your_user_gadget]]. I just [https://en.wikibooks.org/w/index.php?title=User:Koavf/common.js&action=history installed it] and used it dozens of times in a click. Let me know if you need any help. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:36, 19 June 2025 (UTC)
:@[[User:Koavf|Koavf]] Thanks! I'm having a little trouble activating it, but I'll keep trying. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:54, 19 June 2025 (UTC)
::A lot of times, a purge will do the trick. See [[:mw:Purge]]. Usually just <kbd>Ctrl+Shift+R</kbd> once or twice. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:55, 19 June 2025 (UTC)
:::Took several purges, but we're set now! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:16, 19 June 2025 (UTC)
== Advice on when I should run for adminship ==
Hi, I hope you are doing well. I am asking for some advice on when I should run for enwikibooks adminship, given the following below:
Currently, I am doing some optimizations for dark mode on this project, and some of the message box/MediaWiki interface/template pages might be outdated, fully protected, or can use a little help using mw-parser-output. These unfortunately might hinder the process of updating these pages/templates for Vector 2022's dark mode.<br>
Additionally, I have a solid expertise with edit filters, as I have requested some administrators to update deprecated filter variables, switching filters from warn and disallow to disallow only, and I can also monitor the filter log for potential false positives (from local or global filters).
A fellow English Wikibooks administrator also said to me that they are willing to support me in a few months when I run for adminship, as I am generally trusted.
I hold two advanced global permissions, and I hold an edit filter helper permission on the English Wikipedia, to be sure. Thank you for your consideration. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:02, 23 June 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—good question! I agree that you are a trusted user, and I think it would be reasonable for you to run for adminship, especially given our need to fix up technical aspects of the project. If you don't plan to commit to Wikibooks long-term (i.e. you have some projects you'd like to take a few months to complete and then be done), you can always request temporary adminship. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:30, 23 June 2025 (UTC)
:: Thank you for your feedback, but I also plan to monitor for vandalism/spam, and to commit to reduce the administrative assistance reading room backlog, should I be elected for adminship (and I forgot to mention those). Anyway, regarding your feedback, I might run by August or even July, given that I've lately started contributing more often to Wikibooks. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:29, 23 June 2025 (UTC)
::: [[User:Kittycataclysm|Kittycataclysm]], I am pinging you one more time to see if you have read my response above yours. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:34, 26 June 2025 (UTC)
::::Hi @[[User:Codename Noreste|Codename Noreste]]! I'm not sure what you mean—was there an additional question you had? Everything you've outlined seems quite reasonable. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 26 June 2025 (UTC)
::::: Apologies for the confusion, I don't have any questions to ask. I was clarifying that I can help with implementing edit requests and to block obvious vandals and spammers, aside from the skills I mentioned earlier. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:32, 26 June 2025 (UTC)
== how is it you feel able to interfere in my sandbox? ==
you deleted a page in my sandbox that was my way of providing my response to a request from an OpenSCAD dev team leader for a couple of text blurbs for use on a web page of the OpenSCAD site.
now that you have deleted my page i have to recreate the texts from a screenshot to be able to offer the suggestions, which i will
This kind of high handed treatment is what keeps me from being a wiki-anything contributor .. If it is Wiki policy to interfere in the documentation of an open source project because it is hosted on Wikibooks then i will take up the task of moving our online docs to a site where you cannot interfere.
--
[[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 21:56, 29 June 2025 (UTC)
:Hi @[[User:VulcanWikiEdit|VulcanWikiEdit]]—thanks for bringing this to my attention. I now understand that this was intended to be in your user namespace—I've undeleted it and moved it to the correct namespace for you. Let me know if anything else comes up! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 30 June 2025 (UTC)
::ah .. err .. umm .. well that is a gentle answer to my ire. Thanks for being so gracious [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:29, 30 June 2025 (UTC)
::and .. isn't my sandbox in my namespace by default? [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:30, 30 June 2025 (UTC)
:::No worries—it looks like you didn't add the prefix "User:" before writing out the full page titles, so the pages you created were technically in the project's Main space with the official published materials. Going forward, you can just double-check that the page title starts with "'''User:'''VulcanWikiEdit/sandbox", and that should keep everything in the right place! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:36, 30 June 2025 (UTC)
::::BTW .. i love the play on cat lover name [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 15:35, 1 July 2025 (UTC)
:::::Thank you! That's very kind. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:46, 1 July 2025 (UTC)
== Regarding the user Codename Tameirao ==
Could this be Matthew again (the Unicode LTA)? I believe it might be him based on his usage of edit summaries, and his usual edits to [[Unicode/Versions]]. I just blocked his recent account, and then I protected and stabilized that Unicode book. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 23:51, 12 August 2025 (UTC)
:I suspect you're right! That seems like a reasonable course of action. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:56, 13 August 2025 (UTC)
:: I recently encountered another possible LTA, see [[Special:Contributions/~2025-55706-6]] (as well as [[Unicode/Roadmap Blocks]]). I can email you more details if you want. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 16:30, 9 September 2025 (UTC)
:::I think this is the same LTA, yes! I've protected [[Unicode/Roadmap Blocks]], but I think it would be a good idea if we could automate this monitoring somewhat using the edit filter. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:07, 9 September 2025 (UTC)
:::: I don't think that was Matthew, as he typically uses edit summaries. The deleted page was not protected, as it was protected before you deleted it; I salted it from creation for one year. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:22, 9 September 2025 (UTC)
::::: You might want to look at [[Special:Contributions/Freddy Fazbearing Others]]. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:18, 26 October 2025 (UTC)
::::::Thank you! I went ahead and blocked them. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:54, 28 October 2025 (UTC)
== IP block exempt ==
Hi Kitty,
I currently have IP block exemption on enwiki, Commons and Wikidata as I use VPNs connected to my internet security software. Can you please grant me the right on wikibooks. I have a strong password and use two factor authentication. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 10:51, 22 August 2025 (UTC)
:Hi @[[User:TarnishedPath|TarnishedPath]]! This doesn't sound unreasonable to me, but I think it would be good if you requested at [[Wikibooks:Requests for permissions]] so we can have a discussion—I have not granted this right before. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 23 August 2025 (UTC)
::Kitty, thanks for pointing me in the right direction. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:25, 23 August 2025 (UTC)
::See [[Wikibooks:Requests_for_permissions#TarnishedPath_(discuss_·_contribs_·_count_·_logs_·_block_log_·_rfp_·_rights)_(IP_Block_Exemption)]] ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:35, 23 August 2025 (UTC)
== You've got mail! ==
{{You've got mail|sig=<span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 00:20, 6 September 2025 (UTC)}}
:Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:06, 6 September 2025 (UTC)
== Are you able to import? ==
I made a few requests over at https://en.wikibooks.org/wiki/Wikibooks:Requests_for_import . [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 22:32, 4 October 2025 (UTC)
: [[User:2005-Fan|2005-Fan]], I'll go ahead and start the imports. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:29, 5 October 2025 (UTC)
::Thank you for your help [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 16:51, 5 October 2025 (UTC)
::: My apologies for not doing this sooner, because some database error appears when I am trying to mass import. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:39, 5 October 2025 (UTC)
::::I also tried to make this import earlier and ran into issues with the software. I was hoping it was a temporary bug, but it seems to be persisting. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:01, 6 October 2025 (UTC)
:::::This seems like I should get involved. {{working}}... [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 13:11, 6 October 2025 (UTC)
:::::: I believe there are five pages that have massive page histories they fail to import here. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:13, 6 October 2025 (UTC)
:::::::I backed up the XMLs of them locally but im unsure how much that'd do. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 15:18, 6 October 2025 (UTC)
::::::::Just became an importer. The reason is prob understandable but I cannot upload the XML file to here locally. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 17:23, 10 October 2025 (UTC)
== About the category parameter in the recipe summary template ==
When it uses a "recipe by type" category, should it use a "[type/food] recipes" name or "Recipes for [type/food]"?
I recently operated JWB to change from [[:Category:Dessert recipes]] to [[:Category:Recipes for dessert]] in multiple Cookbook recipes, and from what I've said before, I've changed to ''Recipes for dessert'' in the category parameter of Cookbook recipes. Hope you don't mind that this was over more than 250 changes (not counting the recent category changes after moving some recipe categories). Thanks. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:07, 27 October 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—those JWB changes you made seem fine to me! I'm not quite sure what you're asking in your first sentence, though. Assuming I understand correctly: in general, I think the default format should be whatever the actual category name is. BUT if there is a redirect, it ultimately shouldn't matter too much. And, because I'm not convinced of the utility of that infobox parameter in the first place (thinking of removing it), I'm not hugely concerned about it for the time being. Does this help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:21, 27 October 2025 (UTC)
:: Probably, but I will say the following below (for my first sentence) to clarify:
:: On the <code>|category =</code> parameter, when placing a recipe category name, should it either be {{tq|Sandwich recipes}} or {{tq|Recipes for sandwiches}}? I hope this clears the confusion. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:39, 27 October 2025 (UTC)
== Please no more Unicode LTA ==
Please don't block me again. I promise I will edit Unicode stuff and add correct information. [[Special:Contributions/~2025-30839-28|~2025-30839-28]] ([[User talk:~2025-30839-28|talk]]) 20:54, 1 November 2025 (UTC)
:<small>I am a bit out of the loop, so correct me if I'm wrong - I'm assuming here</small> I think the point is that they want you to ''not'' edit the Unicode stuff? Also hi kitty, it's been a ... very long time.. <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:13, 5 November 2025 (UTC)
::Ok so apparently not as long as I thought, but it feels like I've been away for at least a year lol <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:23, 5 November 2025 (UTC)
:::Nice to see you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:41, 5 November 2025 (UTC)
== Administrator and reviewer user right combinations are not needed anymore ==
Given that administrators can review edits in addition to reviewers, I would suggest for you (and other administrators) to kindly remove the reviewer permission from (own) accounts. What I'm saying is that if one holds administrator and reviewer permissions together, they can remove the reviewer permission from their own account and retain their administrator permission. Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:06, 11 November 2025 (UTC)
:Gotcha—is there a reason it's bad for one user to have both these rights? If so, I can remove my reviewer right. Otherwise, it seems fairly harmless? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:26, 11 November 2025 (UTC)
:: The thing is, administrators have the <code>review</code> user right, as well as some permissions in the reviewer user group in the administrator toolset. That means that having the reviewer user group together with the admin user group is redundant. Hope this explains it. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:59, 11 November 2025 (UTC)
::: @[[User:Kittycataclysm|Kittycataclysm]] <s>I'll do this tomorrow morning, as well as to remove autoreviewed user permissions from users who are reviewers.</s> ({{doing}}) [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:24, 12 November 2025 (UTC)
: I have removed the autoreviewed user permission from users who are reviewers. As for administrators, I will do so later today. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:40, 13 November 2025 (UTC)
== Nesting in Open Book of Ecovillages and Eco Communities ==
Hi Kittycataclysm,
I am editor of wikipedia since 2004. We have the habit if we have a concern using the talk page to clarify the case. I am not sure to delete meaningful content without previous notification and doing major redirection without agreeing the main contributor(s) is an adequate admin act and sign of good manner of host (see [[W:Wikipedia:Etiquette|Wikipedia:Etiquette]].)
Yes, It will be not an average book but above the regular. This is the exact case: ''"this may be appropriate, such as with large textbooks that contain subsections with a lot of content."'' ''for to establish good structural and stylistic practices''
I have a data management certification. If you asking it will have 4 nest level on strict purpose. If you saw the introduction of the [[Open Book of Ecovillages and Eco Communities]] is/will be a global collection making effective collaboration over borders and continents. One structured + categorized(!) page for each community willing to show up. The Postal addresses has also same or larger deepness, this is unavoidable (Country/Postal Code/Location/Street/House/floor/door). Here will looks like: '''Eco-comm/Continent/Regio code/Community name'''
The goal of this system to open bridge + experience highway for the communities using the same permaculture technics what collected parallelly in [[Open Book of Permaculture]]. That is also part of this knowledge base please dont do simplification steps on that without discussion.
I am kindly asking to revert your edits in this book.
After that I will put a notification template about
"This book is under construction with major changes. Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History. Common clarifications/ guides are on the primary talk page."
Thanks: [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 02:22, 12 November 2025 (UTC)
:Hi @[[User:Rodrigo|Rodrigo]], and thank you both for your contributions and for reaching out! Yes, I did make the following changes to [[Open Book of Ecovillages and Eco Communities]]:
:* I moved the pages from the [[Eco-comm]] namespace to the [[Open Book of Ecovillages and Eco Communities]] namespace, since the table of contents and pages for a given book should be under that book's namespace.
:* I removed the links to Wikipedia that were on [[Open Book of Ecovillages and Eco Communities]], since outlinking has been discouraged at en.Wikibooks as a matter of practice. Compilations of links may not fall into WB scope as an instructional text, and [[Wikibooks:Requests for deletion/Piano Solo Music: An Encyclopedia|there is precedent for deleting them]]. But, I do see that the tool I used didn't just remove links to enWP, so I will restore the prior revision and ping the tool developer.
:* I flagged it as needing denesting—you're right that nested entries can sometimes be appropriate. In this case, I was primarily flagging for a denest because the table of contents needs to be moved onto the main page, and it shouldn't have hidden navigation within the nested portions.
:Could you clarify which of these edits you do not agree with so I can make sure they are individually addressed? As an aside, it could be helpful to create a [[Help:Local manuals of style|local manual of style]] for the book in order to clearly outline the expectations. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:59, 12 November 2025 (UTC)
::My main concern not about moving and flagging but '''deleting''' [[Eco-comm]] against [[Wikibooks:Deletion policy]] and not mentioning in the clarification even after my notification. Should I note all administrators [[Wikibooks:Please do not bite the newcomers]] - or will they do speedy deleting one by one until I make them individually addressed?
:::The <u> local manual of style</u> development is ongoing together with the sample pages.
::'''MAIN PAGE'''
::The '''Main page''' and '''Namespace''' is the [[Eco-comm]]. The '''Full Title''' or '''Cover''' is [[Open Book of Ecovillages and Eco Communities]]. Because of the high level of nesting the below extra-long-full-text-title to be avoided the Cover page is a redirection with preface/intro etc.
::'''NESTING '''
:::Featured book with 3 level nesting: [[Social and Cultural Foundations of American Education/Educational Change/Theory]]
:::5 level nesting example: [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]]
::'''Categories''' The [[:Category:Eco-comm]] will let the users make practical sub-categories e.g. [[:Category:Eco-comm/Project/numundo]] [[:Category:Eco-comm/]]
:::
::[[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 03:44, 18 November 2025 (UTC)
:::Thank you for elaborating! I'm unfortunately not sure what you mean about deleting [[Eco-comm]]—are you referring to the fact that I moved it without leaving a redirect? Regarding the nesting, I do honestly think those other books you linked should have their navigation denested since I find their format difficult to parse, and they have some navigation issues. Looping in some other active admins (@[[User:Leaderboard|Leaderboard]] @[[User:MarcGarver|MarcGarver]] @[[User:JJPMaster|JJPMaster]] @[[User:Codename Noreste|Codename Noreste]] (@[[User:SHB2000|SHB2000]]) so they can get eyes on this and voice anything they think is important. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:12, 18 November 2025 (UTC)
::::It makes no sense to have some crazy abbreviation as a "main page" or "namespace" (whatever that means in this context) for a book in order to allow it to be deep nested. Nobody needs to type the whole name of the nesting because that's what navigation templates do, and it is a simple matter to override the page title. I also take issue with the statement, above, "Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History." Anybody can edit, and nobody gets to own and control any work. Taken together, this complaint looks like a case of attempting to assert ownership and to operate against the normal practices of Wikibooks. As such, I am completely aligned with the changes made. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:49, 18 November 2025 (UTC)
:::::That. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 14:59, 18 November 2025 (UTC)
::::Thanks @[[User:MarcGarver|MarcGarver]]@[[User:Leaderboard|Leaderboard]] for the contribution, btw the [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]] also looks crazy long, is'nt it? Lets continue in the [[Wikibooks:Reading_room/General]] keeping this page for personal messages. [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 23:07, 20 November 2025 (UTC)
== Deletions of Wikibook subpages ==
Hello @[[User:Kittycataclysm|Kittycataclysm]],
regarding the [[Thesis Writing Guide]] subpage deletions, should I just recreate them when I keep working on them or was there an automatic deletion that we could undo? This document will grow, but really slowly.
Best,
Tim [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 11:37, 16 December 2025 (UTC)
:Hi @[[User:TimBorgNetzWerk|TimBorgNetzWerk]]! Since there was so little content on the deleted pages, my recommendation would just be for you to gradually recreate the chapters as you go. Does that make sense? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:54, 17 December 2025 (UTC)
::Makes sense, not my ideal solution, but also not far from it :) The end result will be the same, the in-between will just feel a little bit weird from time to time.
::Thank you for taking time to curate and quality-control Wikibooks - wishing wonderful holidays and a happy new year! [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 20:43, 17 December 2025 (UTC)
:::Thank you, and happy holidays to you as well :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 17 December 2025 (UTC)
== help with "Media Literacy and You" ==
{{re|Kittycataclysm}} What do I need to do to get a quality review of ''[[Media Literacy and You]]'', or whatever is needed to remove <nowiki>{{Qr-em|not clear how this is to be structured as a book}}</nowiki>?
I ask, because you added that flag just over 2 hours after I created it. I later found that I had accidentally created it as an anonymous user. I've since started using my standard Wikiname, and I tried to respond to the requests both by creating a discussion on the "Discussion" page associated with that book and by upgrading the content.
The upgrades included adding the "Introduction" chapter by revising an article on Wikiversity that convinced me to start this Wikibook. I have other articles that I plan to rewrite to create 9 of the remaining 11 chapters in the current table of contents, as indicated in this table of contents.
??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:23, 8 February 2026 (UTC)
:Hi @[[User:DavidMCEddy|DavidMCEddy]]! I removed the query flag, since this is clearly not a test page. I do have concerns about the suitability of this book for Wikibooks, since it seems to be more in line with essays and original research/analysis (which are [[Wikibooks:WIW|out of scope here]]). Wikiversity seems like a very suitable place for them—is there a specific reason you want to move them here? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:24, 8 February 2026 (UTC)
::{{re|Kittycataclysm}}
::This book is intended to accelerate the diffusion of [[w:Media literacy|media literacy]] by making it easier for humans to (a) access training materials and (b) connect with research on the most important issues that concern them and (c) discuss those issues with others who may believe differently in a nonthreatening context that encourages dialogue and a shared search for what can honestly be said about any particular issue. This is an extension of "The wisdom of polarized crowds" discussed in [[Wikipedia:Reliability of Wikipedia]].
::I don't know about you, but I'm frightened by the collapse of nuclear arms control agreements since the year 2000, by global warming, by the threats of the Trump administration to invade Canada and Greenland, etc. If this book project is successful, it will make a material contribution to reversing these trends -- unless this kind of dialogue is [[v:Responding to a nuclear attack|interrupted by a nuclear war]].
=== Who is DavidMCEddy ===
::I'm a [[w:Vietnam veteran|Vietnam-era veteran]] with a PhD in statistics and a publication record for which [https://www.researchgate.net/profile/Spencer-Graves-3 ReserchGate has found over 1,200 academic publications that have cited my work.] Since [https://xtools.wmcloud.org/ec/en.wikipedia.org/DavidMCEddy 2010 I have logged]
* 6,000+ edits in each of Wikipedia and Wikiversity,
* 1,000+ in Wikimedia Commons,
* 30,000+ in Wikidata, and
* almost 1,000 in other Wikimedia Foundation projects like Wikiquote and edits to the Spanish, French and German Wikipedias.
This includes dozens of research reports posted to Wikiversity under [[v:Category:Freedom and abundance]] and 44 posts under [[v:Category:Media reform to improve democracy]] that provide a platform for documenting and discussing 44 episodes of a fortnightly "Media & Democracy" series of 29:00 mm:ss podcasts syndicated for the [https://pacificanetwork.org/stations-2/ Pacifica Radio Network] featuring the opinions of leading experts on the increase in political polarization and violence and what those experts think should be done about this.
I've just posted another chapter to [[Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]]. I hope you will agree that this book can make a positive contribution to Wikibooks and to [[w:Jimmy Wales|Jimbo Wales]]' [[w:Wikipedia:Prime objective|Prime Directive]] to create "a world in which every single person on the planet is given free access to the sum of all human knowledge." Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 01:19, 9 February 2026 (UTC)
:@[[User:DavidMCEddy|DavidMCEddy]] Thank you and I understand this, but I am asking why you think this material is more suitable at Wikibooks rather than at Wikiversity. From what I can see, Wikiversity seems like the more appropriate home for it given our [[Wikibooks:WIW|scope]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:59, 9 February 2026 (UTC)
::{{re|Kittycataclysm}}
::"Media Literacy and You" is textbook to support both self study and classes on media literacy.
::I have been posting content to Wikiversity since 2014 and have not encountered support there for books. A search just now turned up a hint of a book on Wikiversity, but I could not easily find anything on how to do it, etc.
::I think this "Media Literacy and You" project would lose the vast majority of its potential if it were not on Wikibooks.
::??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:22, 9 February 2026 (UTC)
{{outdent}}
{{re|Kittycataclysm}}
Will you please help me with the protocols of creating a book on Wikiversity?
1. I have found documentation that claims that Wikiversity supports such. However, the documentation seems incomplete, potentially out of date, etc. For example, I could not see how to follow the instructions for [[Wikiversity:Help:Books#Step 1: Enable the "Book creator" tool]]. So I posted a question to [[Wikiversity:Help talk:Books]].
2. What do you suggest I do next?
:I can create an article on Wikiversity titled, "Media Literacy and You", and port everything I've posted to Wikibooks there, then replace the pages on Wikibooks with redirects to [[Wikiversity:Media Literacy and You]], [[Wikiversity:Media Literacy and You/Introduction]], and [[Wikiversity:Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]].
:If you think that's the best way to build this book project, great. It would actually be easier for me, because there would be less translation between what I already have on Wikiversity and a version for Wikibooks. (Also, Wikiversity supports <nowiki>{{cite Q|...}}</nowiki>, which I have used extensively for years.)
:Thanks for your help. [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 13:26, 9 February 2026 (UTC)
:@[[User:DavidMCEddy|DavidMCEddy]] Unfortunately, I am not familiar with the exact workings of Wikiversity, so I can't be much help there. My personal recommendation is that you ask there for help on how best to structure your materials to match the WV requirements. If you'd like some additional opinions/insight, please feel free to also check in at the [[Wikibooks:Reading room/General|reading room]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 10 February 2026 (UTC)
::{{re|Kittycataclysm}} I believe I have finished migrating all of ''Media Literacy and You'' to Wikiversity and replacing the parts of it on Wikibooks with redirects. Comments? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 17:32, 10 February 2026 (UTC)
== Thank you! ==
Heya, thanks for reviewing my stuff! Just to note, the first lesson page was done and so that'll need moving. If you want to discuss anything with me, I am easily reachable on Discord @ xiluosi233. I can explain philosophy, approach, and so on from my teaching experience if you want anything regarding that. [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:48, 17 February 2026 (UTC)
:It appears [[An Introduction to the Han Script]] was moved wrong - should it not be [[General Literary Chinese from Scratch/An Introduction to the Han Script]]? [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:52, 17 February 2026 (UTC)
::@[[User:Shira the Mogul|Shira the Mogul]] good catch! I accidentally removed more of the title than intended. I've fixed this now. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:18, 18 February 2026 (UTC)
== A test request ==
Just to see whether a recent Luna update turned out as intended, could you briefly revert your [[User:Kittycataclysm/lunaoptions.json|Luna preferences page]] to the first revision? Since you don't appear to have any custom preferences in the first place, I don't think there should be any conflicts. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:49, 30 March 2026 (UTC)
:Done! But, it seems to have perhaps auto-updated again immediately afterwards. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:39, 10 April 2026 (UTC)
== Linking ==
Hi,<br>
For my edification, why is a link from [[Cookbook:nettle|nettle]] to [[w:Urtica_dioica|Urtica dioica]] not appropriate? The Wikipedia article has more information & seems relevant.<br>
Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 01:53, 24 April 2026 (UTC)
:@[[User:PeterEasthope|PeterEasthope]] good question! Wikibooks discourages outlinking, since books should be self-contained units. Instead of linking to [[w:Urtica dioica]], the correct approach would be to flesh out the actual chapter here at Wikibooks. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:34, 24 April 2026 (UTC)
::Should all material in the Wikipedia article about Urtica dioica relevant to cooking be duplicated into the nettle article in the cookbook? Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 02:30, 2 May 2026 (UTC)
:::@[[User:PeterEasthope|PeterEasthope]] you could do that, although you should only include information that is sourced. However, I recommend that you wait, because I am coincidentally working on the page right now and fleshing it out significantly. I should publish today. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:40, 2 May 2026 (UTC)
::::The nettle page is better now. Thanks.
::::I still wonder, given that the link to ''The Complete Guide to Edible Wild Plants, ...'' is permitted, why not a link to the botanically oriented page in Wikipedia. What if someone reads the Cookbook article and is interested in the toxin for example? Seems that non-Wikimedia references are more privileged than Wikimedia references.
::::Also, by chance, just noticed the [[w:Nettle_soup|Nettle soup]] article in Wikipedia. Better in the Cookbook?
::::Thx, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 19:10, 5 May 2026 (UTC)
:::::Another good question. The reason those books are linked is because they are reputable and topical sources for the subject matter (nettles as used in cooking from an instructional perspective), and the links are part of the citations—this makes it different from a simple outlink to a Wikipedia page. Wikipedia pages should also not be cited themselves as sources. Regarding nettle soup, I don't think it makes sense to have that as a standalone page here in the cookbook due to its encyclopedic tone, and I don't see any recipes there. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:21, 6 May 2026 (UTC)
::::::Somewhat. Certainly a recipe wouldn't be incongruous in a cookbook. Still seems unhelpful that relevant information in Wikipedia is inaccessible form a Wikibook. In effect there's a "Berlin Wall" between two Wikimedia projects. Would a "See also" section be permissible?
::::::Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 14:00, 7 May 2026 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:32, 28 April 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471751 -->
== Undeletion request ==
Hello,
I am writing to request an undeletion of the page Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad. You stated you are a frequent visitor of the Lentis page and are thus familiar with it. This page was part of a class assignment and was in progress at the time of deletion. The work deleted is what we will be graded on for our class, so we would appreciate the restoration. [[User:Yqj3km|Yqj3km]] ([[User talk:Yqj3km|discuss]] • [[Special:Contributions/Yqj3km|contribs]]) 19:36, 4 May 2026 (UTC)
:@[[User:Yqj3km|Yqj3km]] see my response below regarding undeletion. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 May 2026 (UTC)
== Undeletion request ==
About the page on Lentis called Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad: I, too, request undeletion, please. If the authors made any msitakes, the fault is 100 percent mine, for failing to guide them correctly. Like all chapters in this book, this team's chapter is a class assignment. I will be interested also in the reason for deletion so that I can guide authors better. I want to help my students be constructive contributors. Many thanks!
[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 20:03, 4 May 2026 (UTC)
:Hi @[[User:Norton|Norton]] and thanks for the ping! I deleted it because it was not titled/filed correctly, so I didn't realize it was part of [[Lentis]]. I have undeleted it and moved it to [[Lentis/Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:14, 4 May 2026 (UTC)
::Many, many thanks, @[[User:Kittycataclysm|Kittycataclysm]]! I am very grateful as always for everything you do for Wikibooks!
::[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 22:27, 4 May 2026 (UTC)
sanwwbisxis1tkqlclmebax4b8ahiqg
4634654
4634651
2026-05-07T15:12:34Z
PeterEasthope
660399
/* Linking */ Fixed typo.
4634654
wikitext
text/x-wiki
{| class="wikitable"
|+
! colspan="3" |Talk Page Archives
|-
|[[User talk:Kittycataclysm/Archive 2022|2022]]
|[[User talk:Kittycataclysm/Archive 2023|2023]]
|[[User talk:Kittycataclysm/Archive 2024|2024]]
|}
== That IP range calculator ==
Following [[phab:T381138|T381138]], I have now become the maintainer of the IP range calculator you like. You can find it [[toolforge:ftools/general/ip-range-calc.html|here]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:10, 9 January 2025 (UTC)
:Thank you for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 10 January 2025 (UTC)
== A merge and unmerge from two years ago ==
I was browsing through the history merge log when I saw that you merged [[Cookbook:Chicken Bog]] into [[Cookbook:Chicken Bog I]], and then promptly reverted it. What happened here exactly? Could I correct it? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 15:55, 10 January 2025 (UTC)
:Good question! I can't remember what I was trying to do, but it looks like I didn't succeed at what I wanted based on the log comment. You're just trying to history merge to get [[Cookbook:Chicken Bog I]] to have continuity of history? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:35, 10 January 2025 (UTC)
::I think I figured out your mistake: it outright moved the revisions from the first page to the second, rather than copying them. This would have caused the other two [[Cookbook:Chicken Bog]] pages to have incomplete histories. I think the only solution would be to XML import the pre-April 2023 revisions from the first page to the other three, and I'm not sure if that's the best idea, and I am technically unable to do so. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:49, 10 January 2025 (UTC)
== Undeletion request ==
I wouldn't be surprised if you expected this, but I'd like to ask you to undelete the subpages of [[Rotorcraft Fundamentals]] you just deleted with the summary "Use of copyrighted work without permission. Please read Terms of Use: page needs to be imported for attribution", so that I can do that. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:54, 14 January 2025 (UTC)
:Done! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:57, 14 January 2025 (UTC)
::Upon further investigation, this might actually be a rare case where an [[WB:UT|unmerged transwiki]] is ''preferred'' (this is part of why I stopped calling them "bad transwikis"), since only a small portion of the Wikipedia article (with over 2,000 revisions) was copied over. Importation is generally only needed if the ''majority'' of the page is copied across wikis. I'll just leave a null edit providing attribution and add {{tlx|Copied}}. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:19, 14 January 2025 (UTC)
== Reusing [[Cookbook:8 Desserts in 1 Pan]] on wikiHow ==
Hi, I am a user on wikiHow, see [[wikihow:User:Xeverything11]]. I would like to create a new recipe on wikiHow. I wanted to let us know if I can give permission to reuse your contributions to this recipe from Wikibooks to wikiHow. I (as a copyright holder) created this recipe on Wikibooks, but you contributed to this recipe.
If not, I'll use the revision before you contributed since I was the only author.
Wikibooks uses CC-BY-SA 4.0 while wikiHow uses CC-BY-NC-SA 3.0, which both licenses are incompatible due to ShareAlike conditions.
Thanks [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 08:27, 15 January 2025 (UTC)
:@[[User:Xeverything11|Xeverything11]] I'm personally fine with this as long as proper attribution is given back to the original recipe page here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:52, 20 January 2025 (UTC)
::I adapted this [[wikihow:Make-8-Desserts-in-1-Pan|recipe]] on wikiHow with attribution, and got a Rising Star (an achievement used for best new articles on wikiHow). Thank you! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:49, 24 January 2025 (UTC)
== Wikibooks community ==
Hi, @[[User:Kittycataclysm|Kittycataclysm]]!
I am trying to contribute more to English Wikibooks. My main contributions will focus on the Cookbook, especially on Indonesian recipes. Do you have a community group where we can discuss and share ideas together?
I am looking forward to join. Thank you!
[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 08:47, 16 January 2025 (UTC)
:@[[User:Raflinoer32|Raflinoer32]] Sorry I missed this, and welcome! Are you asking about a Cookbook-specific area for discussion? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:39, 20 January 2025 (UTC)
::Yes. Do you know place for this?
::Thank you
::[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 09:41, 21 January 2025 (UTC)
:::Honestly, there's not a centralized Cookbook-specific discussion space, especially since there aren't currently a ton of active contributors. Some people ask questions at [[Cookbook talk:Table of Contents]]. I'm currently the most consistently active and involved Cookbook editor, so feel free to ask me questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 22 January 2025 (UTC)
== Congratulations! ==
[[File:Admin T-shirt.svg|thumb|You get this now.]]
You are now a permanent administrator. Welcome to the team (I am entitled to say this because I technically got the extension a few hours before you did)!{{FBDB}} [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 10:33, 29 January 2025 (UTC)
:Thanks :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 29 January 2025 (UTC)
== Is there a way to contact a Steward on WikiBooks? ==
Hi {{PAGENAME}},
Is there a way to contact a Steward on WB? I tried to find who the active Stewards are here at [[Special:ActiveUsers?username=&groups%5B%5D=steward&wpFormIdentifier=specialactiveusers]] but nothing shows up.
The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the [[Wikimania-wiki]], but I just visited the [[wikimania 2014 wiki]] and could not find this backward link. I tried to ask about this on the [[Wikimania 2014 main-page talk]] but disovered that the Stewards have protected it.
Is there a way wikibookians can communicate with Stewards at WB? Thanks in advance for answering this non-urgent question, and apologies for all the red-links which I can bluify if needed. Cheers [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 16:37, 7 February 2025 (UTC)
:@[[User:Ottawahitech|Ottawahitech]] You can ask this on somewhere like [[metawiki:Steward requests/Miscellaneous]]. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:01, 7 February 2025 (UTC)
<s>:@[[User:Ottawahitech|Ottawahitech]] seconding what Leaderboard said—we no longer have any active stewards at enWB.</s> Had a brain fade there and mixed up stewards with bureaucrats. Yes, meta is the place for this. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 7 February 2025 (UTC)
::@Kittycataclysm,@[[User:Leaderboard|Leaderboard]], or anyone else:
::Some wikibookians prefer for various reasons to post only at wb. I myself am indef-blocked at META so could not participate at [[metawiki:Steward requests/Miscellaneous]] even if I waned to.
::Since [[Wikimania]] is a topic of interest to all members of the [[wikimedia movement]] why can't wikibookians talk to thier elected representatives here? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:56, 7 February 2025 (UTC)
:::@[[User:Ottawahitech|Ottawahitech]] I can check with the blocking admin to see if they'd be willing to unblock you, if you'd like. The reason things like these are done at Meta is that Meta is a cross-project coordination platform - stewards ''cannot'' be expected to watch every project after all. Now you could message any steward here on Wikibooks if you really wanted to, but that is not normally a good idea. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 02:26, 8 February 2025 (UTC)
::::Wikimania is the annual conference celebrating all the free knowledge projects hosted by the Wikimedia Foundation (WMF). It is a wikimedia initiative which is meant to help all of our projects (including wikibooks), gain more readership, educate more wiki-editors, foster better communications, and much more. The wmf has been hosting a Wikimania-wiki dedicated to each Wikimania annual event since 2004. These wikis contain a wealth of information, but can benefit from wiki-improvements, starting from spelling and grammar errors that detract from their to appeal to the general membership. It would be nice if Stewards paid more attention to it.
::::@[[User:Leaderboard|Leaderboard]], I truly appreciate your offer, but I posted this here not in order to get someone to advocate for one unblocking at META. As I said earlier:
::::* "Some wikibookians prefer for various reasons to post only at wb"
::::* "The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the Wikimania-wiki, but I just visited the wikimania 2014 wiki and could not find this backward link. I tried to ask about this on the Wikimania 2014 main-page talk but disovered that the Stewards have protected it"
::::I would much rather see more wikimedia members question blocking in general at META. One cannot run such large movement of people from different backgrounds and nationalities simply by silencing minorities IMIO. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:12, 8 February 2025 (UTC)
== [[Crystal ball]] ==
That page appears to be a mixture of isolated paragraphs from [[w:Crystal ball|Crystal ball]], hence my tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:04, 9 February 2025 (UTC)
:Yep, that seems correct! I also queried it simply because it does not seem suitable for inclusion at all. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:09, 9 February 2025 (UTC)
== Question about an edit suggestion ==
Hi Kittycataclysm,
Thanks for the great work you do as an admin! I wanted to clarify a suggestion you made on a recently published page I’m working on. You recommended splitting it into smaller sections—would you suggest creating separate pages for these sections, or would a higher-level header for some topics be sufficient?
Any specific recommendations you have would be greatly appreciated!
Here’s the link to the page I’m referring to: [[Funding and Finance of Transportation Projects in the United States of America]]
Thank you! [[User:Svrmustafa|Svrmustafa]] ([[User talk:Svrmustafa|discuss]] • [[Special:Contributions/Svrmustafa|contribs]]) 18:19, 18 February 2025 (UTC)
:Hi @[[User:Svrmustafa|Svrmustafa]], and thanks for asking! Splitting refers to creating new pages, each with a smaller amount of content. The main page should then contain a table of contents, and each page can contain a navigation template for easier navigation. I'll create the table of contents based on the current work and move some content to one of those pages as an example for you; then, you can do the rest. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:26, 19 February 2025 (UTC)
::Following up on this—I noticed that you use the term "paper". However, technically Wikibooks hosts books not papers, so you should probably change this wording. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:38, 19 February 2025 (UTC)
== Talkback ==
{{Talkback|Cookbook talk:Chilli Crab|Recipe Questions}} [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 09:54, 19 February 2025 (UTC)
:@[[User:Kittycataclysm|Kittycataclysm]] I also made [[Cookbook:Prata|this]] [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:15, 19 February 2025 (UTC)
== Hello ==
Can you look at my latest recipe? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 00:10, 28 February 2025 (UTC)
:I saw it! It needs a few corrections, which I'll note. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:23, 28 February 2025 (UTC)
::@[[User:Kittycataclysm|Kittycataclysm]] How do you write recipe summary, correct headers [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 06:04, 28 February 2025 (UTC)
:::Please see [[Cookbook:Policy/Recipe template]]. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:08, 28 February 2025 (UTC)
::::ok [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 02:33, 1 March 2025 (UTC)
== Cookbook ==
Hi there, Kittycataclysm. I wandered over here from Wikipedia, and I'm quite enamoured with this cookbook. I noticed you seem to be the one maintaining it, and I thought I'd reach out. Can I really just start cranking out recipes from public domain cookbooks and my family recipes? It's that simple? I was also wondering about the featured recipes section. There's not very many in there, and I imagine there's not very many folks around to do reviews compared to GAR on Wikipedia. How do you handle content review? Thanks. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:51, 1 March 2025 (UTC)
:Hi @[[User:MediaKyle|MediaKyle]] and welcome! For some context, the Cookbook has been around since the very beginning of Wikibooks, but it had gotten into a bit of disarray over the course of about two decades by the time I found it. I started the long process of overhauling, standardizing, and expanding it just over four years ago—I finished standardizing the recipe formatting and quality a while back and am currently working my way through the ingredient pages before moving on to equipment, techniques, and cuisines. You can absolutely add any public domain recipes as well as your own recipes—they just need to conform to the [[Cookbook:Policy/Recipe template|recipe template]] and [[Cookbook:Policy|Cookbook policy overall]]. It's even better if you've made the recipe and can contribute a nice picture and specific guidance/instructions/notes! Please feel free to ask me any questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 1 March 2025 (UTC)
::Oh, and regarding the featured recipes section, I actually haven't gotten around to looking into that yet—there's been a lot to do! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:28, 1 March 2025 (UTC)
::That's great, thanks a lot for your response. This is just delightful. Maybe content review is something that we could collaborate on. There's a lot of recipes in here and it would be nice to know which ones are the best. Question for you, [[:Category:Brown sauces]] is really bothering me. How can I move that to Brown sauce recipes? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:29, 1 March 2025 (UTC)
:::Good catch on that category! It seems like it was created two decades ago and never got corrected—feel free to recategorize those recipes. Thank you also for introducing the hideprefix parameter to the category trees—I didn't realize that was an option, and it reduces the visual clutter! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 1 March 2025 (UTC)
::::My pleasure! As I continue to look at the categories, this is actually worse than I thought. We have both [[:Category:Sauce recipes]] and [[:Category:Recipes for condiments]] and I suspect that's just the beginning. I want to go through and categorize everything properly, but the bones aren't even there... How long do I have to be here before it'll let me create and move around categories? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:40, 1 March 2025 (UTC)
:::::Regarding the categories, the category overhauling is in progress, since I address the category when I overhaul the associated page. The variation in titling is actually somewhat deliberate—I started changing it from "____ recipes" in certain cases to solve a particular categorization problem. Sometimes, there is an item that is used in recipes as an ingredient but for which there are also recipes. For example, [[:Category:Recipes for bread]] versus [[:Category:Recipes using bread]]. The different naming scheme is necessary to properly delineate the categories, and I'm working on implementing it a bit more consistently as I go. While you're still getting started, it would be great if you could check with me when something looks odd or out of place—that way I can take a look and weigh in on whether that's normal or not and maybe provide some context. Just off the top of my head, I think you will have to wait for autoreview status to make move changes. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 1 March 2025 (UTC)
::::::I see what you're saying, I've been trying to wrap my head around that. Maybe it would be beneficial to try to put together some sort of a Cookbook MOS regarding category structure? It's kind of all over the place right now. Using your bread example, would it perhaps make more sense to have [[:Category:Bread recipes]] and [[:Category:Recipes using bread]]? There would be no ambiguity with just those two categories, but when you add the extra [[:Category:Recipes for bread]], that's when things start getting a little whacky. What do you think? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:05, 1 March 2025 (UTC)
:::::::Either that or get rid of [[:Category:Bread recipes]] and keep the other two. But one of these categories gotta go, I reckon. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:07, 1 March 2025 (UTC)
::::::::I see you already had the same thought as me. I think all categories should include "for" or "using". Take for example, [[:Category:Recipes for pancakes]] as opposed to [[:Category:Pancake recipes]]. Well obviously there's no recipes using pancakes. But for something like [[:Category:Recipes for gravy]], there may also be a need for [[:Category:Recipes using gravy]]. The lack of consistency in this regard means the only way to achieve consistency across the categories is by changing them over to that format. Sorry for clogging up your talk page! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:18, 1 March 2025 (UTC)
:::::::::Same heads-up as below—migrating this over to [[Cookbook talk:Table of Contents]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:10, 4 March 2025 (UTC)
:Also, on [[Cookbook:Table of Contents]], could you please add a wikilink for [[Cookbook:Breakfast]], and maybe add cooknav to the top for seamless navigation between all the top level articles? Can't edit that article yet. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:47, 1 March 2025 (UTC)
== More Table of Content Edits ==
Hello again. I've been going through everything and this is my list of suggestions for edits to the table of contents. Unfortunately there's not much else I can do for now, because without autoconfirmed my ability to change anything is very limited. I was going to ask for someone to check off the confirmed box for me at RfP but I can't post there either, so I guess I'll be back in four days.
* Fix Bread wikilink
* Remove "Creaming" from techniques, redirected to Mixing
* [[Cookbook:History of Food and Cooking]] points to redirect, needs capitalized
* [[Cookbook:Low-Carb]] points to redirect, needs capitalized
* [[Cookbook:Cuisine of the Mediterranean]] to [[Cookbook:Mediterranean Cuisine]] for parity
* Remove the S from the cuisine wikilinks on ToC, currently redirecting
* Create [[:Category:Lunch recipes]], wikilink to ToC
* Wikilink [[Cookbook:Dessert]] under Meals
* Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category
* Create [[Cookbook:East Asian Cuisine]] so I can add the recipes from [[:Category:East Asian recipes]] to it; currently is a redlink on the ToC
* Change "Introductory Matter" header to just "Introduction"
* Appendix and Equipment sections switch places
Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:46, 1 March 2025 (UTC)
:I took the liberty of doing it myself in my userspace. You can just copy it over from [[User:MediaKyle/sandbox]]. Figured I'd save you the trouble of trying to figure out what I'm talking about. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 14:15, 1 March 2025 (UTC)
:Circling back to this! It seems like your suggestions are getting at a couple different things. I'll try to go through them point-by-point below:
:* {{xt|Fix Bread wikilink}} {{done}}
:* {{xt|Remove "Creaming" from techniques, redirected to Mixing}} see below comments on TOC.
:* {{xt|Cookbook:History of Food and Cooking points to redirect, needs capitalized}} {{not done}} for now because I don't fully understand the urgency and I want to triage/prioritize things for you, but please feel free to make this change yourself once you can!
:* {{xt|Cookbook:Low-Carb points to redirect, needs capitalized}} {{not done}} for same reason as above.
:* {{xt|Cookbook:Cuisine of the Mediterranean to Cookbook:Mediterranean Cuisine for parity}} {{not done}} for now just because we do have a lot of cuisine pages that follow the form "Cuisine of ____". It could be good to standardize, and I had been planning to do that once I got around to the cuisines.
:* {{xt|Remove the S from the cuisine wikilinks on ToC, currently redirecting}} {{not done}} for same reason as other redirects
:* {{xt|Create Category:Lunch recipes, wikilink to ToC}} Not quite sure what you mean here, and I didn't see what it corresponded to in your linked sandbox page
:* {{xt|Wikilink Cookbook:Dessert under Meals}} {{done}}
:* {{xt|Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category}} I'm not sure about this—brunch is in many places considered a separate entity, and I don't necessarily think it would cause confusion. But, overall it's hard to determine whether it should have its own page and TOC link because I haven't actually gotten around to evaluating the meal pages and what role they should play. See also the TOC notes below.
:* {{xt|Create Cookbook:East Asian Cuisine so I can add the recipes from Category:East Asian recipes to it; currently is a redlink on the ToC}} {{done}} for now; however, I'm not sure yet whether it will ultimately make sense to keep that as a content page. I think content pages should be reasonably focused, and it may not be the best to have a cuisine page that is so broad. This is something I planned to consider once I made my way around the overhauling the cuisines.
:* {{xt|Change "Introductory Matter" header to just "Introduction"}} The reason I made it "Introductory Matter" instead of "Introduction" is because there's already a chapter itself titled "Introduction"—it felt odd to have the entire section titled that as well. Happy to discuss other header options (e.g. "Front Matter", which is a generally accepted book term)
:* {{xt|Appendix and Equipment sections switch places}} see below comments on TOC.
:* '''Comments on the TOC:''' So, I think a fundamental issue with the current TOC is that it somewhat arbitrarily picks and chooses individual pages to link. It also sometimes direct-links to categories and sometimes to content pages, which I don't think we should do. Because the cookbook is so expansive, it's been established that manual indices intending to capture detail in large areas don't really make sense and quickly get bulky and out-of-date. This is why categorytree is such a useful tool! After thinking on it for a while and making some small tweaks, I think I'd ultimately like to overhaul the TOC and come to a solution that keeps a few broad headers/links to the small handful of the primary content pages while perhaps stashing away more detailed and self-updating lists in a collapsible way to reduce clutter but allow for customizable user navigation. Much to think about, and I'll probably workshop some things on the side to see how they feel.
:Let me know if I've misunderstood anything! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:24, 3 March 2025 (UTC)
::Thanks for the notes! Here's my thoughts:
::* On the Cuisine titling, it actually seems like [[Cookbook:Cuisine of the Mediterranean]] and [[Cookbook:East Asian cuisines]] are the only ones that don't follow the naming scheme, i.e. "[[Cookbook:African Cuisine]]", and I think that shorter titles are preferable where it makes sense.
::* On your note about East Asian Cuisine, I actually had the same thought after going through the cuisine pages. Having three separate pages for different kinds of Asian cuisine does seem a little silly, doesn't it? Do you think it might be better to combine all of them under one "Asian Cuisine", but put the different locales under separate headers?
::* On Brunch - I honestly think there's way too much ambiguity around what exactly constitutes as "brunch" to keep that in. I feel as though the term brunch more applies to the time you're eating, rather than the kind of food. I think it would be easier to keep meals that include commonly accepted breakfast foods in the Breakfast category, and things that don't fit neatly into that, into the Lunch category. This would prevent any dilemmas in the future where we can't decide whether something is breakfast or brunch.
::* You're right that it looks a little awkward to have the header as Introduction when there's a page called introduction. I still think that to say "Introductory Matter", or "Front Matter" as you mentioned, is a little long-winded and reflects a more academic tone than needed for a cookbook. Upon further reflection, I think maybe rather than worrying about the header at this point, we should perhaps think about trying to compile all of those short introductory type pages into one comprehensive introductory page. Then we likely won't even need a header for it on the ToC.
::* The ToC is definitely a bit cluttered, and it bothers me too that there's a real lack of consistency across whether the wikilinks lead to a page or a category. I'm not sure how I would feel about cutting away too much of the navigation from it, though, because just about every page on there does have a reason to be there, it's just that they're not presented very nicely. Some of it can certainly get nested or combined though. I'll play around with it over the next few days in my sandbox as well and let you know if I come up with anything.
::* As an aside, the first thing on my to-do list once my autoconfirmed comes through is to start subcategorizing all of the recipes so that they're all nicely sorted in the category trees. When you have a chance, I'd love to hear your thoughts on what we should use as the standard naming for categories. Once we determine this, I think we can also take the liberty of updating the cookbook MoS to reflect it.
::Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:33, 3 March 2025 (UTC)
:::Note: After writing this, I realized what you were getting at about slashing away some of the subpages. Maybe we can come up with a system where all of those subpages are under their main subpage rather than on the ToC. For example, all the Cuisines are under [[Cookbook:Cuisines]], all techniques under [[Cookbook:Cooking Techniques]], to keep the subpages off the main ToC. Also, I wonder if maybe we should try to make a centralized discussion for this somewhere, in case anyone else wants to join in at some point? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:45, 3 March 2025 (UTC)
::::Heads-up: to make it easier to keep track of these and since I think they deserve their own discussions, I'm going to gradually migrate them over individually to [[Cookbook talk:Table of Contents]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:52, 4 March 2025 (UTC)
:::::Good idea. Can you remove the semi-protection from that talk page? I see no reason why it should be protected. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:23, 4 March 2025 (UTC)
== Cookbook ToC ==
Hi [[User:Kittycataclysm|Kittycataclysm]]. I was just wondering why you didn't respond to my above message, and started a separate sandbox for the ToC instead? It seems as though you don't really want to collaborate. It would be nice if we could work on this together. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 22:43, 2 March 2025 (UTC)
:@[[User:MediaKyle|MediaKyle]] thanks for the ping! I'm sorry you feel like I don't want to collaborate—the opposite is true, and please understand that this is good-faith editing. The reason I haven't responded to the above points is mostly since you've been modifying a bunch of content and adding suggestions lately, and I've been working my way through these while continuing with my routine contributions and real life as well—things happen a little more slowly here than on other projects, and I'm the one person dedicated to the cookbook right now. The reason I created that sandbox was because I saw [[Wikibooks:Reading room/General#Modernize the shelves|your comment]] at the reading room and wanted to play around and think about your suggestion without touching the actual TOC. You're right that it's not the best, and it's been something I've been thinking about for a bit now. Please understand also that it can be overwhelming when a new editor unfamiliar with the Cookbook begins making a high volume of edits and suggestions without having much experience with it or its history—this isn't to say that you don't have good ideas or things worth contributing. In fact, you have already made a few helpful changes, as I've mentioned. I just want to do this properly and take the time to evaluate your suggestions together with the current efforts that are underway, and that can take a bit. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:03, 2 March 2025 (UTC)
::Thanks for getting back to me. While I may be new to Wikibooks, I'm certainly not new to MediaWiki, and I've been working with small wiki projects for a number of years. Perhaps it's been a misunderstanding to some degree, but I've found my reception here to be unusually unwelcoming. The way to do this properly, as you said, would be to have discussions and form consensus. Yesterday, when you reached out to me about adding hideroot to the pages, I gave you my rationale and was more than happy to have a discussion about it, but you did not reply. I noticed a similar situation happened with [https://en.wikibooks.org/wiki/User_talk:Ottawahitech#Category_sorting Ottawahitech], regarding category sorting. I'm aware that you're the main person looking after the cookbook right now, which is why I reached out to you right from the get go.
::I understand why you would want to create your own sandbox to play around with options for the ToC, but I'm sure you can understand why it would draw my attention that you would do this without implementing any of the wikilink fixes I mentioned, or making an attempt to discuss it further. This came across to me as not wanting my help.
::I invite you to check out my page on Wikipedia. I've made contributions across quite a wide area of topics there, as well as the other Wikimedia projects, and this is the first time I've encountered any sort of resistance to my contributions. I think Wikibooks has enormous potential, and I'm very excited to contribute to helping it grow. On most projects, this would be something to be encouraged. I don't feel like "I'm sorry that you feel that way" was really an appropriate response. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:59, 2 March 2025 (UTC)
:::I think you're right that this has been a mix of misunderstanding and miscommunication, and I think I can understand how things came across as unwelcoming! For whatever it's worth, I absolutely plan on circling back to the various discussions at hand (I have all the relevant pages open to return to), but it seems like the order I did things made it seem like I was ignoring you (if I'm understanding correctly). I am pretty busy, so sometimes items on my to-do list do get lost/shunted or it takes me a bit to get around to something—please don't hesitate to give me a ping if it seems like I'm taking a while to get back to something. Looking forward to more collaboration! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:49, 3 March 2025 (UTC)
::::I'm glad you can understand where I'm coming from. To clarify, my intent is not to try to rush you, or to try to push you to make changes that you don't agree with. It's really easy to misinterpret things over the Internet, and I think a short message can go a long way. I apologize if I've caused you any undue stress by coming into the cookbook and unleashing a flurry of alterations, but do rest assured that I'm not married to any of my changes, I'm always open for discussion, and I want to see the cookbook improve just like you do. The great thing about wikis is that no change is permanent. I think we'll have it in tip-top shape in no time! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:19, 3 March 2025 (UTC)
== [[Cookbook:Polish Doughnuts (Paczki)]] ==
Do you see any reason not to just add this to Featured Recipes? At least we know this one works, and it seems like this is now one of the few recipes to have a picture that actually aligns with the recipe used. I was thinking later on we'll come up with a content review system where a couple editors will actually try the recipes nominated for FR, but in the absence of that I'd just add it to the list. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 12:25, 4 March 2025 (UTC)
:I'm fine with adding it to the featured recipes. You're right that we'll want to come up with a good system for this going forward, though it's lower down on my personal priority list at moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 March 2025 (UTC)
== [[Cookbook:Cream Cheese American Buttercream]] ==
Hi! I am a wikiHow user and I am planning to adapt this recipe to wikiHow. Since you contributed to this recipe, I wanted to know if I can get permission to reuse your contributions to this recipe. Thanks. [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:41, 4 March 2025 (UTC)
:@[[User:Xeverything11|Xeverything11]] that's fine with me as long as proper attribution and linking back to the original recipe page here are included at the top. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:28, 4 March 2025 (UTC)
== [[A Companion to Our Literary Journey]] ==
Hi! I feel that we have started to outline the scope in a clearer and more precise way and that’s the work we are going to do with the students this and for the next years, adding more sections and content. Do you think that would be enough? [[User:Ferdi2005|Ferdi2005]] ([[User talk:Ferdi2005|discuss]] • [[Special:Contributions/Ferdi2005|contribs]]) 22:43, 6 March 2025 (UTC)
:Hi @[[User:Ferdi2005|Ferdi2005]]! Yes, this seems to be reasonably outlined. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:51, 7 March 2025 (UTC)
== Exercising care with copyright ==
When deleting a page as a copyright violation, it is important that you '''do not quote any content from the deleted page'''. If you do, then your log entry is itself a copyright violation. I have redacted a recent deletion that you performed because of this. If you want to make sure that none of your past deletions have been problematic for this reason, you can [[quarry:query/90444|run this SQL query]] to get a list of every deletion that could be eligible for redaction. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:32, 21 March 2025 (UTC)
:Hi @[[User:JJPMaster|JJPMaster]] and thank you for the message. In the most recent instance that I think you're referencing, I do not see any material in the edit summary that posed a significant risk—I don't believe the few listed words would be a copyright concern. However, I do understand your concern! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:31, 21 March 2025 (UTC)
== Splitting Pages ==
Hi I have recently made the book on the [[History of the Nawabs of Bengal]] and you gave a notice on how you believe it should be split into smaller bits. As I am still new to wikibooks I don't know how to do this. Can you please assist me on renaming the page so I can split the page into multiple pages? @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 19:47, 29 March 2025 (UTC)
:@[[User:Greatswrd|Greatswrd]]: You did it. I've removed the tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:44, 29 March 2025 (UTC)
:Like @[[User:JJPMaster|JJPMaster]] said, you're all set! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 29 March 2025 (UTC)
::Thanks! @[[User:JJPMaster|JJPMaster]] @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 10:24, 30 March 2025 (UTC)
== Minecraft book ==
Is it good creating pages like this, [[Minecraft#Husk]]? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 12:43, 9 May 2025 (UTC)
:@[[User:Cactusisme|Cactusisme]] what do you mean? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:18, 10 May 2025 (UTC)
::are we allowed to create pages like that? like for every mob [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:02, 11 May 2025 (UTC)
:::To be honest, I don't think the structure and formatting of the book is very good. Several of the mob pages, for example, have very little information and aren't particularly helpful on their own. If I were working on it, I would restructure the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:09, 11 May 2025 (UTC)
::::I am planning to do that. [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 04:19, 12 May 2025 (UTC)
== Request to Review Adjusted User Page (XoriantTeam) ==
Hello [[User:Kittycataclysm|Kittycataclysm]],
I hope you're well. I noticed that my user page ([[User:XoriantTeam]]) was recently deleted for appearing promotional or inappropriate for Wikibooks. Thank you for keeping the community standards in check.
I’ve since revised the content with closer attention to neutrality and compliance with Wikibooks guidelines. My intent is to participate constructively, especially in areas related to digital engineering and educational content creation.
If possible, I’d appreciate your help reviewing the revised version. I'm happy to share it or upload it as a file if there’s a preferred method.
Please let me know how best to proceed. I welcome any suggestions and will gladly make further adjustments.
Best regards,
XoriantTeam [[User:XoriantTeam|XoriantTeam]] ([[User talk:XoriantTeam|discuss]] • [[Special:Contributions/XoriantTeam|contribs]]) 11:02, 15 May 2025 (UTC)
:Hi there—you can publish an updated user page, but I'd caution you against talking about your company. Keep it limited to your involvement with Wikibooks. You may contribute productively here, but further promotional materials are grounds for an indefinite block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:30, 15 May 2025 (UTC)
== Planning to use AWB to update categories on the cookbook ==
Hello. I noticed in recent changes that you were moving some categories using HotCat (e.g. moving Category:Chile recipes to Category:Recipes using chile), which can be time-consuming. Therefore, I plan to help you with moving the cookbook categories by adding myself to enabledusers and enabledbots in [[Wikibooks:AutoWikiBrowser/CheckPageJSON]]. Would this be fine if I assist you and to add myself to the check page? I am familiar with using AWB after testing on a non-Wikimedia project. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:42, 8 June 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—thank you for the tip! I just installed JWB, so this should make my mass cat changes much faster. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:11, 8 June 2025 (UTC)
:: Thank you for the information. Also, is it okay if I change (for example) [[:Category:Vinegar recipes]] to [[:Category:Recipes using vinegar]] (I can redirect the former category to the latter), given that we should move {{tq|Category:[ingredient] recipes}} to {{tq|Category:Recipes using [ingredient]}} for consistency? [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:57, 8 June 2025 (UTC)
:::Sure thing—go ahead! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:53, 8 June 2025 (UTC)
== Tool for even faster category changes ==
See [[:c:Help:Gadget-Cat-a-lot#As_your_user_gadget]]. I just [https://en.wikibooks.org/w/index.php?title=User:Koavf/common.js&action=history installed it] and used it dozens of times in a click. Let me know if you need any help. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:36, 19 June 2025 (UTC)
:@[[User:Koavf|Koavf]] Thanks! I'm having a little trouble activating it, but I'll keep trying. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:54, 19 June 2025 (UTC)
::A lot of times, a purge will do the trick. See [[:mw:Purge]]. Usually just <kbd>Ctrl+Shift+R</kbd> once or twice. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:55, 19 June 2025 (UTC)
:::Took several purges, but we're set now! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:16, 19 June 2025 (UTC)
== Advice on when I should run for adminship ==
Hi, I hope you are doing well. I am asking for some advice on when I should run for enwikibooks adminship, given the following below:
Currently, I am doing some optimizations for dark mode on this project, and some of the message box/MediaWiki interface/template pages might be outdated, fully protected, or can use a little help using mw-parser-output. These unfortunately might hinder the process of updating these pages/templates for Vector 2022's dark mode.<br>
Additionally, I have a solid expertise with edit filters, as I have requested some administrators to update deprecated filter variables, switching filters from warn and disallow to disallow only, and I can also monitor the filter log for potential false positives (from local or global filters).
A fellow English Wikibooks administrator also said to me that they are willing to support me in a few months when I run for adminship, as I am generally trusted.
I hold two advanced global permissions, and I hold an edit filter helper permission on the English Wikipedia, to be sure. Thank you for your consideration. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:02, 23 June 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—good question! I agree that you are a trusted user, and I think it would be reasonable for you to run for adminship, especially given our need to fix up technical aspects of the project. If you don't plan to commit to Wikibooks long-term (i.e. you have some projects you'd like to take a few months to complete and then be done), you can always request temporary adminship. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:30, 23 June 2025 (UTC)
:: Thank you for your feedback, but I also plan to monitor for vandalism/spam, and to commit to reduce the administrative assistance reading room backlog, should I be elected for adminship (and I forgot to mention those). Anyway, regarding your feedback, I might run by August or even July, given that I've lately started contributing more often to Wikibooks. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:29, 23 June 2025 (UTC)
::: [[User:Kittycataclysm|Kittycataclysm]], I am pinging you one more time to see if you have read my response above yours. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:34, 26 June 2025 (UTC)
::::Hi @[[User:Codename Noreste|Codename Noreste]]! I'm not sure what you mean—was there an additional question you had? Everything you've outlined seems quite reasonable. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 26 June 2025 (UTC)
::::: Apologies for the confusion, I don't have any questions to ask. I was clarifying that I can help with implementing edit requests and to block obvious vandals and spammers, aside from the skills I mentioned earlier. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:32, 26 June 2025 (UTC)
== how is it you feel able to interfere in my sandbox? ==
you deleted a page in my sandbox that was my way of providing my response to a request from an OpenSCAD dev team leader for a couple of text blurbs for use on a web page of the OpenSCAD site.
now that you have deleted my page i have to recreate the texts from a screenshot to be able to offer the suggestions, which i will
This kind of high handed treatment is what keeps me from being a wiki-anything contributor .. If it is Wiki policy to interfere in the documentation of an open source project because it is hosted on Wikibooks then i will take up the task of moving our online docs to a site where you cannot interfere.
--
[[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 21:56, 29 June 2025 (UTC)
:Hi @[[User:VulcanWikiEdit|VulcanWikiEdit]]—thanks for bringing this to my attention. I now understand that this was intended to be in your user namespace—I've undeleted it and moved it to the correct namespace for you. Let me know if anything else comes up! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 30 June 2025 (UTC)
::ah .. err .. umm .. well that is a gentle answer to my ire. Thanks for being so gracious [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:29, 30 June 2025 (UTC)
::and .. isn't my sandbox in my namespace by default? [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:30, 30 June 2025 (UTC)
:::No worries—it looks like you didn't add the prefix "User:" before writing out the full page titles, so the pages you created were technically in the project's Main space with the official published materials. Going forward, you can just double-check that the page title starts with "'''User:'''VulcanWikiEdit/sandbox", and that should keep everything in the right place! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:36, 30 June 2025 (UTC)
::::BTW .. i love the play on cat lover name [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 15:35, 1 July 2025 (UTC)
:::::Thank you! That's very kind. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:46, 1 July 2025 (UTC)
== Regarding the user Codename Tameirao ==
Could this be Matthew again (the Unicode LTA)? I believe it might be him based on his usage of edit summaries, and his usual edits to [[Unicode/Versions]]. I just blocked his recent account, and then I protected and stabilized that Unicode book. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 23:51, 12 August 2025 (UTC)
:I suspect you're right! That seems like a reasonable course of action. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:56, 13 August 2025 (UTC)
:: I recently encountered another possible LTA, see [[Special:Contributions/~2025-55706-6]] (as well as [[Unicode/Roadmap Blocks]]). I can email you more details if you want. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 16:30, 9 September 2025 (UTC)
:::I think this is the same LTA, yes! I've protected [[Unicode/Roadmap Blocks]], but I think it would be a good idea if we could automate this monitoring somewhat using the edit filter. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:07, 9 September 2025 (UTC)
:::: I don't think that was Matthew, as he typically uses edit summaries. The deleted page was not protected, as it was protected before you deleted it; I salted it from creation for one year. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:22, 9 September 2025 (UTC)
::::: You might want to look at [[Special:Contributions/Freddy Fazbearing Others]]. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:18, 26 October 2025 (UTC)
::::::Thank you! I went ahead and blocked them. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:54, 28 October 2025 (UTC)
== IP block exempt ==
Hi Kitty,
I currently have IP block exemption on enwiki, Commons and Wikidata as I use VPNs connected to my internet security software. Can you please grant me the right on wikibooks. I have a strong password and use two factor authentication. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 10:51, 22 August 2025 (UTC)
:Hi @[[User:TarnishedPath|TarnishedPath]]! This doesn't sound unreasonable to me, but I think it would be good if you requested at [[Wikibooks:Requests for permissions]] so we can have a discussion—I have not granted this right before. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 23 August 2025 (UTC)
::Kitty, thanks for pointing me in the right direction. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:25, 23 August 2025 (UTC)
::See [[Wikibooks:Requests_for_permissions#TarnishedPath_(discuss_·_contribs_·_count_·_logs_·_block_log_·_rfp_·_rights)_(IP_Block_Exemption)]] ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:35, 23 August 2025 (UTC)
== You've got mail! ==
{{You've got mail|sig=<span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 00:20, 6 September 2025 (UTC)}}
:Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:06, 6 September 2025 (UTC)
== Are you able to import? ==
I made a few requests over at https://en.wikibooks.org/wiki/Wikibooks:Requests_for_import . [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 22:32, 4 October 2025 (UTC)
: [[User:2005-Fan|2005-Fan]], I'll go ahead and start the imports. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:29, 5 October 2025 (UTC)
::Thank you for your help [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 16:51, 5 October 2025 (UTC)
::: My apologies for not doing this sooner, because some database error appears when I am trying to mass import. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:39, 5 October 2025 (UTC)
::::I also tried to make this import earlier and ran into issues with the software. I was hoping it was a temporary bug, but it seems to be persisting. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:01, 6 October 2025 (UTC)
:::::This seems like I should get involved. {{working}}... [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 13:11, 6 October 2025 (UTC)
:::::: I believe there are five pages that have massive page histories they fail to import here. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:13, 6 October 2025 (UTC)
:::::::I backed up the XMLs of them locally but im unsure how much that'd do. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 15:18, 6 October 2025 (UTC)
::::::::Just became an importer. The reason is prob understandable but I cannot upload the XML file to here locally. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 17:23, 10 October 2025 (UTC)
== About the category parameter in the recipe summary template ==
When it uses a "recipe by type" category, should it use a "[type/food] recipes" name or "Recipes for [type/food]"?
I recently operated JWB to change from [[:Category:Dessert recipes]] to [[:Category:Recipes for dessert]] in multiple Cookbook recipes, and from what I've said before, I've changed to ''Recipes for dessert'' in the category parameter of Cookbook recipes. Hope you don't mind that this was over more than 250 changes (not counting the recent category changes after moving some recipe categories). Thanks. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:07, 27 October 2025 (UTC)
:Hi @[[User:Codename Noreste|Codename Noreste]]—those JWB changes you made seem fine to me! I'm not quite sure what you're asking in your first sentence, though. Assuming I understand correctly: in general, I think the default format should be whatever the actual category name is. BUT if there is a redirect, it ultimately shouldn't matter too much. And, because I'm not convinced of the utility of that infobox parameter in the first place (thinking of removing it), I'm not hugely concerned about it for the time being. Does this help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:21, 27 October 2025 (UTC)
:: Probably, but I will say the following below (for my first sentence) to clarify:
:: On the <code>|category =</code> parameter, when placing a recipe category name, should it either be {{tq|Sandwich recipes}} or {{tq|Recipes for sandwiches}}? I hope this clears the confusion. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:39, 27 October 2025 (UTC)
== Please no more Unicode LTA ==
Please don't block me again. I promise I will edit Unicode stuff and add correct information. [[Special:Contributions/~2025-30839-28|~2025-30839-28]] ([[User talk:~2025-30839-28|talk]]) 20:54, 1 November 2025 (UTC)
:<small>I am a bit out of the loop, so correct me if I'm wrong - I'm assuming here</small> I think the point is that they want you to ''not'' edit the Unicode stuff? Also hi kitty, it's been a ... very long time.. <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:13, 5 November 2025 (UTC)
::Ok so apparently not as long as I thought, but it feels like I've been away for at least a year lol <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:23, 5 November 2025 (UTC)
:::Nice to see you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:41, 5 November 2025 (UTC)
== Administrator and reviewer user right combinations are not needed anymore ==
Given that administrators can review edits in addition to reviewers, I would suggest for you (and other administrators) to kindly remove the reviewer permission from (own) accounts. What I'm saying is that if one holds administrator and reviewer permissions together, they can remove the reviewer permission from their own account and retain their administrator permission. Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:06, 11 November 2025 (UTC)
:Gotcha—is there a reason it's bad for one user to have both these rights? If so, I can remove my reviewer right. Otherwise, it seems fairly harmless? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:26, 11 November 2025 (UTC)
:: The thing is, administrators have the <code>review</code> user right, as well as some permissions in the reviewer user group in the administrator toolset. That means that having the reviewer user group together with the admin user group is redundant. Hope this explains it. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:59, 11 November 2025 (UTC)
::: @[[User:Kittycataclysm|Kittycataclysm]] <s>I'll do this tomorrow morning, as well as to remove autoreviewed user permissions from users who are reviewers.</s> ({{doing}}) [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:24, 12 November 2025 (UTC)
: I have removed the autoreviewed user permission from users who are reviewers. As for administrators, I will do so later today. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:40, 13 November 2025 (UTC)
== Nesting in Open Book of Ecovillages and Eco Communities ==
Hi Kittycataclysm,
I am editor of wikipedia since 2004. We have the habit if we have a concern using the talk page to clarify the case. I am not sure to delete meaningful content without previous notification and doing major redirection without agreeing the main contributor(s) is an adequate admin act and sign of good manner of host (see [[W:Wikipedia:Etiquette|Wikipedia:Etiquette]].)
Yes, It will be not an average book but above the regular. This is the exact case: ''"this may be appropriate, such as with large textbooks that contain subsections with a lot of content."'' ''for to establish good structural and stylistic practices''
I have a data management certification. If you asking it will have 4 nest level on strict purpose. If you saw the introduction of the [[Open Book of Ecovillages and Eco Communities]] is/will be a global collection making effective collaboration over borders and continents. One structured + categorized(!) page for each community willing to show up. The Postal addresses has also same or larger deepness, this is unavoidable (Country/Postal Code/Location/Street/House/floor/door). Here will looks like: '''Eco-comm/Continent/Regio code/Community name'''
The goal of this system to open bridge + experience highway for the communities using the same permaculture technics what collected parallelly in [[Open Book of Permaculture]]. That is also part of this knowledge base please dont do simplification steps on that without discussion.
I am kindly asking to revert your edits in this book.
After that I will put a notification template about
"This book is under construction with major changes. Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History. Common clarifications/ guides are on the primary talk page."
Thanks: [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 02:22, 12 November 2025 (UTC)
:Hi @[[User:Rodrigo|Rodrigo]], and thank you both for your contributions and for reaching out! Yes, I did make the following changes to [[Open Book of Ecovillages and Eco Communities]]:
:* I moved the pages from the [[Eco-comm]] namespace to the [[Open Book of Ecovillages and Eco Communities]] namespace, since the table of contents and pages for a given book should be under that book's namespace.
:* I removed the links to Wikipedia that were on [[Open Book of Ecovillages and Eco Communities]], since outlinking has been discouraged at en.Wikibooks as a matter of practice. Compilations of links may not fall into WB scope as an instructional text, and [[Wikibooks:Requests for deletion/Piano Solo Music: An Encyclopedia|there is precedent for deleting them]]. But, I do see that the tool I used didn't just remove links to enWP, so I will restore the prior revision and ping the tool developer.
:* I flagged it as needing denesting—you're right that nested entries can sometimes be appropriate. In this case, I was primarily flagging for a denest because the table of contents needs to be moved onto the main page, and it shouldn't have hidden navigation within the nested portions.
:Could you clarify which of these edits you do not agree with so I can make sure they are individually addressed? As an aside, it could be helpful to create a [[Help:Local manuals of style|local manual of style]] for the book in order to clearly outline the expectations. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:59, 12 November 2025 (UTC)
::My main concern not about moving and flagging but '''deleting''' [[Eco-comm]] against [[Wikibooks:Deletion policy]] and not mentioning in the clarification even after my notification. Should I note all administrators [[Wikibooks:Please do not bite the newcomers]] - or will they do speedy deleting one by one until I make them individually addressed?
:::The <u> local manual of style</u> development is ongoing together with the sample pages.
::'''MAIN PAGE'''
::The '''Main page''' and '''Namespace''' is the [[Eco-comm]]. The '''Full Title''' or '''Cover''' is [[Open Book of Ecovillages and Eco Communities]]. Because of the high level of nesting the below extra-long-full-text-title to be avoided the Cover page is a redirection with preface/intro etc.
::'''NESTING '''
:::Featured book with 3 level nesting: [[Social and Cultural Foundations of American Education/Educational Change/Theory]]
:::5 level nesting example: [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]]
::'''Categories''' The [[:Category:Eco-comm]] will let the users make practical sub-categories e.g. [[:Category:Eco-comm/Project/numundo]] [[:Category:Eco-comm/]]
:::
::[[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 03:44, 18 November 2025 (UTC)
:::Thank you for elaborating! I'm unfortunately not sure what you mean about deleting [[Eco-comm]]—are you referring to the fact that I moved it without leaving a redirect? Regarding the nesting, I do honestly think those other books you linked should have their navigation denested since I find their format difficult to parse, and they have some navigation issues. Looping in some other active admins (@[[User:Leaderboard|Leaderboard]] @[[User:MarcGarver|MarcGarver]] @[[User:JJPMaster|JJPMaster]] @[[User:Codename Noreste|Codename Noreste]] (@[[User:SHB2000|SHB2000]]) so they can get eyes on this and voice anything they think is important. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:12, 18 November 2025 (UTC)
::::It makes no sense to have some crazy abbreviation as a "main page" or "namespace" (whatever that means in this context) for a book in order to allow it to be deep nested. Nobody needs to type the whole name of the nesting because that's what navigation templates do, and it is a simple matter to override the page title. I also take issue with the statement, above, "Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History." Anybody can edit, and nobody gets to own and control any work. Taken together, this complaint looks like a case of attempting to assert ownership and to operate against the normal practices of Wikibooks. As such, I am completely aligned with the changes made. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:49, 18 November 2025 (UTC)
:::::That. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 14:59, 18 November 2025 (UTC)
::::Thanks @[[User:MarcGarver|MarcGarver]]@[[User:Leaderboard|Leaderboard]] for the contribution, btw the [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]] also looks crazy long, is'nt it? Lets continue in the [[Wikibooks:Reading_room/General]] keeping this page for personal messages. [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 23:07, 20 November 2025 (UTC)
== Deletions of Wikibook subpages ==
Hello @[[User:Kittycataclysm|Kittycataclysm]],
regarding the [[Thesis Writing Guide]] subpage deletions, should I just recreate them when I keep working on them or was there an automatic deletion that we could undo? This document will grow, but really slowly.
Best,
Tim [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 11:37, 16 December 2025 (UTC)
:Hi @[[User:TimBorgNetzWerk|TimBorgNetzWerk]]! Since there was so little content on the deleted pages, my recommendation would just be for you to gradually recreate the chapters as you go. Does that make sense? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:54, 17 December 2025 (UTC)
::Makes sense, not my ideal solution, but also not far from it :) The end result will be the same, the in-between will just feel a little bit weird from time to time.
::Thank you for taking time to curate and quality-control Wikibooks - wishing wonderful holidays and a happy new year! [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 20:43, 17 December 2025 (UTC)
:::Thank you, and happy holidays to you as well :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 17 December 2025 (UTC)
== help with "Media Literacy and You" ==
{{re|Kittycataclysm}} What do I need to do to get a quality review of ''[[Media Literacy and You]]'', or whatever is needed to remove <nowiki>{{Qr-em|not clear how this is to be structured as a book}}</nowiki>?
I ask, because you added that flag just over 2 hours after I created it. I later found that I had accidentally created it as an anonymous user. I've since started using my standard Wikiname, and I tried to respond to the requests both by creating a discussion on the "Discussion" page associated with that book and by upgrading the content.
The upgrades included adding the "Introduction" chapter by revising an article on Wikiversity that convinced me to start this Wikibook. I have other articles that I plan to rewrite to create 9 of the remaining 11 chapters in the current table of contents, as indicated in this table of contents.
??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:23, 8 February 2026 (UTC)
:Hi @[[User:DavidMCEddy|DavidMCEddy]]! I removed the query flag, since this is clearly not a test page. I do have concerns about the suitability of this book for Wikibooks, since it seems to be more in line with essays and original research/analysis (which are [[Wikibooks:WIW|out of scope here]]). Wikiversity seems like a very suitable place for them—is there a specific reason you want to move them here? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:24, 8 February 2026 (UTC)
::{{re|Kittycataclysm}}
::This book is intended to accelerate the diffusion of [[w:Media literacy|media literacy]] by making it easier for humans to (a) access training materials and (b) connect with research on the most important issues that concern them and (c) discuss those issues with others who may believe differently in a nonthreatening context that encourages dialogue and a shared search for what can honestly be said about any particular issue. This is an extension of "The wisdom of polarized crowds" discussed in [[Wikipedia:Reliability of Wikipedia]].
::I don't know about you, but I'm frightened by the collapse of nuclear arms control agreements since the year 2000, by global warming, by the threats of the Trump administration to invade Canada and Greenland, etc. If this book project is successful, it will make a material contribution to reversing these trends -- unless this kind of dialogue is [[v:Responding to a nuclear attack|interrupted by a nuclear war]].
=== Who is DavidMCEddy ===
::I'm a [[w:Vietnam veteran|Vietnam-era veteran]] with a PhD in statistics and a publication record for which [https://www.researchgate.net/profile/Spencer-Graves-3 ReserchGate has found over 1,200 academic publications that have cited my work.] Since [https://xtools.wmcloud.org/ec/en.wikipedia.org/DavidMCEddy 2010 I have logged]
* 6,000+ edits in each of Wikipedia and Wikiversity,
* 1,000+ in Wikimedia Commons,
* 30,000+ in Wikidata, and
* almost 1,000 in other Wikimedia Foundation projects like Wikiquote and edits to the Spanish, French and German Wikipedias.
This includes dozens of research reports posted to Wikiversity under [[v:Category:Freedom and abundance]] and 44 posts under [[v:Category:Media reform to improve democracy]] that provide a platform for documenting and discussing 44 episodes of a fortnightly "Media & Democracy" series of 29:00 mm:ss podcasts syndicated for the [https://pacificanetwork.org/stations-2/ Pacifica Radio Network] featuring the opinions of leading experts on the increase in political polarization and violence and what those experts think should be done about this.
I've just posted another chapter to [[Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]]. I hope you will agree that this book can make a positive contribution to Wikibooks and to [[w:Jimmy Wales|Jimbo Wales]]' [[w:Wikipedia:Prime objective|Prime Directive]] to create "a world in which every single person on the planet is given free access to the sum of all human knowledge." Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 01:19, 9 February 2026 (UTC)
:@[[User:DavidMCEddy|DavidMCEddy]] Thank you and I understand this, but I am asking why you think this material is more suitable at Wikibooks rather than at Wikiversity. From what I can see, Wikiversity seems like the more appropriate home for it given our [[Wikibooks:WIW|scope]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:59, 9 February 2026 (UTC)
::{{re|Kittycataclysm}}
::"Media Literacy and You" is textbook to support both self study and classes on media literacy.
::I have been posting content to Wikiversity since 2014 and have not encountered support there for books. A search just now turned up a hint of a book on Wikiversity, but I could not easily find anything on how to do it, etc.
::I think this "Media Literacy and You" project would lose the vast majority of its potential if it were not on Wikibooks.
::??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:22, 9 February 2026 (UTC)
{{outdent}}
{{re|Kittycataclysm}}
Will you please help me with the protocols of creating a book on Wikiversity?
1. I have found documentation that claims that Wikiversity supports such. However, the documentation seems incomplete, potentially out of date, etc. For example, I could not see how to follow the instructions for [[Wikiversity:Help:Books#Step 1: Enable the "Book creator" tool]]. So I posted a question to [[Wikiversity:Help talk:Books]].
2. What do you suggest I do next?
:I can create an article on Wikiversity titled, "Media Literacy and You", and port everything I've posted to Wikibooks there, then replace the pages on Wikibooks with redirects to [[Wikiversity:Media Literacy and You]], [[Wikiversity:Media Literacy and You/Introduction]], and [[Wikiversity:Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]].
:If you think that's the best way to build this book project, great. It would actually be easier for me, because there would be less translation between what I already have on Wikiversity and a version for Wikibooks. (Also, Wikiversity supports <nowiki>{{cite Q|...}}</nowiki>, which I have used extensively for years.)
:Thanks for your help. [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 13:26, 9 February 2026 (UTC)
:@[[User:DavidMCEddy|DavidMCEddy]] Unfortunately, I am not familiar with the exact workings of Wikiversity, so I can't be much help there. My personal recommendation is that you ask there for help on how best to structure your materials to match the WV requirements. If you'd like some additional opinions/insight, please feel free to also check in at the [[Wikibooks:Reading room/General|reading room]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 10 February 2026 (UTC)
::{{re|Kittycataclysm}} I believe I have finished migrating all of ''Media Literacy and You'' to Wikiversity and replacing the parts of it on Wikibooks with redirects. Comments? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 17:32, 10 February 2026 (UTC)
== Thank you! ==
Heya, thanks for reviewing my stuff! Just to note, the first lesson page was done and so that'll need moving. If you want to discuss anything with me, I am easily reachable on Discord @ xiluosi233. I can explain philosophy, approach, and so on from my teaching experience if you want anything regarding that. [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:48, 17 February 2026 (UTC)
:It appears [[An Introduction to the Han Script]] was moved wrong - should it not be [[General Literary Chinese from Scratch/An Introduction to the Han Script]]? [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:52, 17 February 2026 (UTC)
::@[[User:Shira the Mogul|Shira the Mogul]] good catch! I accidentally removed more of the title than intended. I've fixed this now. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:18, 18 February 2026 (UTC)
== A test request ==
Just to see whether a recent Luna update turned out as intended, could you briefly revert your [[User:Kittycataclysm/lunaoptions.json|Luna preferences page]] to the first revision? Since you don't appear to have any custom preferences in the first place, I don't think there should be any conflicts. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:49, 30 March 2026 (UTC)
:Done! But, it seems to have perhaps auto-updated again immediately afterwards. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:39, 10 April 2026 (UTC)
== Linking ==
Hi,<br>
For my edification, why is a link from [[Cookbook:nettle|nettle]] to [[w:Urtica_dioica|Urtica dioica]] not appropriate? The Wikipedia article has more information & seems relevant.<br>
Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 01:53, 24 April 2026 (UTC)
:@[[User:PeterEasthope|PeterEasthope]] good question! Wikibooks discourages outlinking, since books should be self-contained units. Instead of linking to [[w:Urtica dioica]], the correct approach would be to flesh out the actual chapter here at Wikibooks. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:34, 24 April 2026 (UTC)
::Should all material in the Wikipedia article about Urtica dioica relevant to cooking be duplicated into the nettle article in the cookbook? Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 02:30, 2 May 2026 (UTC)
:::@[[User:PeterEasthope|PeterEasthope]] you could do that, although you should only include information that is sourced. However, I recommend that you wait, because I am coincidentally working on the page right now and fleshing it out significantly. I should publish today. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:40, 2 May 2026 (UTC)
::::The nettle page is better now. Thanks.
::::I still wonder, given that the link to ''The Complete Guide to Edible Wild Plants, ...'' is permitted, why not a link to the botanically oriented page in Wikipedia. What if someone reads the Cookbook article and is interested in the toxin for example? Seems that non-Wikimedia references are more privileged than Wikimedia references.
::::Also, by chance, just noticed the [[w:Nettle_soup|Nettle soup]] article in Wikipedia. Better in the Cookbook?
::::Thx, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 19:10, 5 May 2026 (UTC)
:::::Another good question. The reason those books are linked is because they are reputable and topical sources for the subject matter (nettles as used in cooking from an instructional perspective), and the links are part of the citations—this makes it different from a simple outlink to a Wikipedia page. Wikipedia pages should also not be cited themselves as sources. Regarding nettle soup, I don't think it makes sense to have that as a standalone page here in the cookbook due to its encyclopedic tone, and I don't see any recipes there. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:21, 6 May 2026 (UTC)
::::::Somewhat. Certainly a recipe wouldn't be incongruous in a cookbook. Still seems unhelpful that relevant information in Wikipedia is inaccessible from a Wikibook. In effect there's a "Berlin Wall" between two Wikimedia projects. Would a "See also" section be permissible?
::::::Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 14:00, 7 May 2026 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:32, 28 April 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471751 -->
== Undeletion request ==
Hello,
I am writing to request an undeletion of the page Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad. You stated you are a frequent visitor of the Lentis page and are thus familiar with it. This page was part of a class assignment and was in progress at the time of deletion. The work deleted is what we will be graded on for our class, so we would appreciate the restoration. [[User:Yqj3km|Yqj3km]] ([[User talk:Yqj3km|discuss]] • [[Special:Contributions/Yqj3km|contribs]]) 19:36, 4 May 2026 (UTC)
:@[[User:Yqj3km|Yqj3km]] see my response below regarding undeletion. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 May 2026 (UTC)
== Undeletion request ==
About the page on Lentis called Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad: I, too, request undeletion, please. If the authors made any msitakes, the fault is 100 percent mine, for failing to guide them correctly. Like all chapters in this book, this team's chapter is a class assignment. I will be interested also in the reason for deletion so that I can guide authors better. I want to help my students be constructive contributors. Many thanks!
[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 20:03, 4 May 2026 (UTC)
:Hi @[[User:Norton|Norton]] and thanks for the ping! I deleted it because it was not titled/filed correctly, so I didn't realize it was part of [[Lentis]]. I have undeleted it and moved it to [[Lentis/Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:14, 4 May 2026 (UTC)
::Many, many thanks, @[[User:Kittycataclysm|Kittycataclysm]]! I am very grateful as always for everything you do for Wikibooks!
::[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 22:27, 4 May 2026 (UTC)
abcefsz57xeuj35akqijuujxwfwzzgp
User:Nervelita
2
451026
4634739
4320751
2026-05-08T07:49:02Z
Nervelita
3413946
4634739
wikitext
text/x-wiki
{{Babel|en}}My name is Elita.
English Wikipedia: https://en.wikipedia.org/wiki/User:Nervelita
English Wiktionary: https://en.wiktionary.org/wiki/User:Nervelita
== About me ==
*Before using this account, I edited here a few times using [[User: 2601:58B:4380:9C90:6DC1:E004:B199:B8EA]]
h2t3zu1tww1zjpi9q05o50uf9im2wxs
Chess Variants/Capablanca Chess
0
474619
4634735
4633367
2026-05-08T06:46:12Z
Sammy2012
3074780
/* History */
4634735
wikitext
text/x-wiki
{{Chess diagram 8x10
| tright
|
|rd|nd|ad|bd|qd|kd|bd|cd|nd|rd
|pd|pd|pd|pd|pd|pd|pd|pd|pd|pd
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
|pl|pl|pl|pl|pl|pl|pl|pl|pl|pl
|rl|nl|al|bl|ql|kl|bl|cl|nl|rl
| Starting position of Capablanca chess
}}
== Introduction ==
'''Capablanca Chess''' (also formatted as '''Capablanca's chess''') is a term that refers to a family of chess variants played on a 10 by 8 board with two new pieces per player - the chancellor, which combines the powers of the rook and the knight, and the archbishop, which combines the powers of the bishop and the knight. The name refers to both the family as a whole and the family's most notable member.
== History ==
{{Chess diagram 8x10
| tleft
|
|rd|ad|nd|bd|qd|kd|bd|nd|cd|rd
|pd|pd|pd|pd|pd|pd|pd|pd|pd|pd
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
|pl|pl|pl|pl|pl|pl|pl|pl|pl|pl
|rl|al|nl|bl|ql|kl|bl|nl|cl|rl
| Starting position of Carrera's chess
}}
The basic idea of a 10 by 8 variant of chess with the chancellor and archbishop has a long history. The earliest such variant that we know of dates back to 1617, when the Italian chess player Pietro Carrera published a book called ''Il Gioco degli Scacchi'' (''The Game of Chess''), which contained a description of a 10 by 8 variant with two new pieces of his own creation - the ''champion'', which combined the moves of the rook and the knight, and the ''centaur'', which combined the moves of the bishop and the knight.
It is believed his primary motivation for the creation of this variant was the limitations of chess opening theory at the time. Carrera's chess placed the centaur between the queen's knight and queen's rook, and the champion between the king's knight and king's rook. He does not appear to have been concerned with structural weakness in the opening setup, since in Carerra's chess the pawn on the b-file, in front of the champion, is completely unprotected at game start.
{{Chess diagram 8x10
| tright
|
|rd|nd|bd|cd|qd|kd|ad|bd|nd|rd
|pd|pd|pd|pd|pd|pd|pd|pd|pd|pd
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
|pl|pl|pl|pl|pl|pl|pl|pl|pl|pl
|rl|nl|bl|cl|ql|kl|al|bl|nl|rl
| Starting position of Bird's chess
}}
Just over 250 years later, English player Henry Bird proposed his own 10 by 8 variant. This variant differed from Carrera's in the placement of the new pieces - the rook/knight combination, called the ''guard'', was placed between the queen and queen's bishop, and the bishop/knight combination, called the ''equerry'', between the king and king's bishop. The theoretical benefit of Bird's setup is that the new pieces' pawns are very important to the opening theory of Bird's chess, just as important as the pawns of the royal pieces, and leading to a more strategically oriented game.
Capablanca chess was created sometime in the 1920s by former World Chess Champion José Raúl Capablanca, from whom the variant gets its name. Capablanca feared that professional chess would eventually reach a state of draw death, meaning games between grandmasters would always end in draws. He looked to Bird's chess as a solution, and modified the opening setup. He proposed two opening setups - his final revision places the bishop/knight combination between the queen's knight and queen's bishop, and the rook/knight combination between the king's knight and king's bishop.
Concerning the new pieces, it was Capablanca himself who introduced the names ''chancellor'' and ''archbishop'' for the rook/knight and bishop/knight combinations respectively, and these names have since become the most common names for the two pieces.
One of the variant's most important supporters was German-American player Edward Lasker, who assisted in development of the rules. According to Lasker:<blockquote>... I played many test games with Capablanca, and they rarely lasted more than twenty or twenty-five moves. We tried boards of 10×10 squares and 10×8 squares, and we concluded that the latter was preferable because hand-to-hand fights start earlier on it.</blockquote>
== Rules ==
Capablanca chess adds two new pieces to the game - the '''chancellor''' and the '''archbishop'''.
* The chancellor ([[File:Chess clt45.svg|25x25px]]) combines the powers of the rook and the knight. It may slide horizontally or vertically like a rook, or jump like a knight, but not both in one move.
* The archbishop ([[File:Chess alt45.svg|25x25px]]) combines the powers of the bishop and the knight. It may slide diagonally like a bishop, or jump like a knight, but not both in one move.
{{Chess diagram
| tleft
|
| | | |xx| | | |
| | |xo|xx|xo| | |
| |xo| |xx| |xo| |
|xx|xx|xx|cl|xx|xx|xx|xx
| |xo| |xx| |xo| |
| | |xo|xx|xo| | |
| | | |xx| | | |
| | | |xx| | | |
| The chancellor may moves to any square marked with a cross, or jump to any square marked with a dot
}}
{{Chess diagram
| tleft
|
|xx| | | | | |xx|
| |xx|xo| |xo|xx| |
| |xo|xx| |xx|xo| |
| | | |al| | | |
| |xo|xx| |xx|xo| |
| |xx|xo| |xo|xx| |
|xx| | | | | |xx|
| | | | | | | |xx
| The archbishop may moves to any square marked with a cross, or jump to any square marked with a dot
}}
{{-}}
The other pieces all retain their normal moves.
When the king castles, it moves three squares towards the rook rather than two as in standard chess.
A pawn is allowed to promote to a chancellor or archbishop alongside the usual promotion options.
All other rules remain the same as in standard chess.
== Sub-variants ==
Capablanca chess has inspired a number of 10 by 8 variants that feature different opening setups. The most notable are:
* '''Gothic chess''' (2000) by Ed Trice
{{#invoke:chessboard mxn|board|cols=10|rows=1|letters=no|numbers=no
|tleft
|
|rl|nl|bl|ql|cl|kl|al|bl|nl|rl
}}
{{-}}
* '''Grotesque chess''' (2004) by Fergus Duniho
{{#invoke:chessboard mxn|board|cols=10|rows=1|letters=no|numbers=no
|tleft
|
|rl|bl|ql|nl|kl|cl|nl|al|bl|rl
}}
{{-}}
* '''Paulovich's chess''' (2004) by David Paulovich
{{#invoke:chessboard mxn|board|cols=10|rows=1|letters=no|numbers=no
|tleft
|
|cl|rl|nl|bl|al|kl|bl|nl|rl|ql
}}
{{-}}
* '''Ladorean chess''' (2005) by Bernhard U. Hermes
{{#invoke:chessboard mxn|board|cols=10|rows=1|letters=no|numbers=no
|tleft
|
|rl|bl|ql|nl|kl|al|nl|cl|bl|rl
}}
{{-}}
* '''Embassy chess''' (2005) by Kevin Hill
{{#invoke:chessboard mxn|board|cols=10|rows=1|letters=no|numbers=no
|tleft
|
|rl|nl|bl|ql|kl|cl|al|bl|nl|rl
}}
{{-}}
* '''Univers chess''' (2006) by Fergus Duniho
{{#invoke:chessboard mxn|board|cols=10|rows=1|letters=no|numbers=no
|tleft
|
|rl|bl|nl|cl|ql|kl|al|nl|bl|rl
}}
{{-}}
* '''Schoolbook chess''' (2006) by Sam Trenholme
{{#invoke:chessboard mxn|board|cols=10|rows=1|letters=no|numbers=no
|tleft
|
|rl|ql|nl|bl|al|kl|bl|nl|cl|rl
}}
{{-}}
{{Chess diagram 8x10
| tright
|
|rd|qd|bd|nd|nd|kd|ad|bd|cd|rd
|pd|pd|pd|pd|pd|pd|pd|pd|pd|pd
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
|pl|pl|pl|pl|pl|pl|pl|pl|pl|pl
|rl|ql|bl|nl|nl|kl|al|bl|cl|rl
| One of the valid starting positions for Capablanca random chess
}}
Another notable sub-variant of Capablanca chess is '''Capablanca random chess''', created in 2005 by Reinhard Scharnagl, a user of the chess variant website ''The Chess Variant Pages'', as part of a chess variant design competition for the website's tenth anniversary. The variant extends the random setup concept of [[Chess Variants/Fischer Random Chess|Fischer Random Chess]] to Capablanca Chess, with the following restrictions for the setup:
* The bishops must start on opposite colour squares.
* The queen and archbishop must start on opposite colour squares.
* The king must start between the two rooks to make castling possible.
* All of the pawns must be protected.
* The starting position cannot be the same as that of Gothic chess. This is to avoid violating any patents, as Gothic chess is protected by a patent in the United States.
There are 12,118 possible starting positions in Capablanca random chess.
{{bookcat}}
q5m1pf28ckmwgnrlvmff7s7zj2d46wq
Vehicle Identification Numbers (VIN codes)/Porsche/VIN Codes
0
481968
4634681
4634528
2026-05-07T18:22:37Z
JustTheFacts33
3434282
/* Position 5, Engine: */
4634681
wikitext
text/x-wiki
===Positions 1–3, World Manufacturer Identifier:===
* WP0 - Porsche passenger car
* WP1 - Porsche SUV
===Position 4, Body Style:===
'''924:'''
* A = Coupe
'''944:'''
* A = Coupe
* B = Cabriolet (1989 only)
* C = Cabriolet (1990-1991)
'''968/Boxster/Cayman/718:'''
* A = Coupe
* C = Cabriolet
'''928:'''
* J = Coupe (1981-1990)
* A = Coupe (1991-1995)
'''911:'''
* A = Coupe (Except Type 930 Turbo coupe)
* B = Targa (911 - Type 964/996/997/991/992)
* C = Cabriolet (911 - Type 964/993/996/997/991/992) or Speedster (Type 964/997/991) or Roadster (Type 964)
* D = Targa (911 - Type 993)
* E = Targa or Cabriolet (911 [1981-1989] or 911 Turbo - Type 930 [1987-1989]) or Speedster (911 - 1989)
* J = Turbo Coupe (911 - Type 930 [US: 1986-1989, Canada: 1981-1989])
'''Carrera GT / 918 Spyder:'''
* C = Cabriolet
'''Panamera / Taycan:'''
* A = sedan (SWB)
* B = LWB sedan (Panamera Executive) or Cross Turismo (Taycan)
* C = Sport Turismo
'''Macan / Cayenne:'''
* A = SUV (wagon)
* B = Coupe-styled SUV (Cayenne Coupe)
===Position 5, Engine:===
'''924:'''
Type 924:
*A = 2.0L SOHC 8-valve Audi EA831 I4, 110 hp (924 '81-'82)
Type 931:
*A = 2.0L turbo SOHC 8-valve Audi EA831 I4, 154 hp (924 Turbo '81-'82)
Type 924:
*A = 2.5L SOHC 8-valve Porsche M44 I4, 147 hp (924S '87)
*A = 2.5L SOHC 8-valve Porsche M44 I4, 158 hp (924S '88)
'''944:'''
Type 944:
*A = 2.5L SOHC 8-valve Porsche M44 I4, 143 hp (944 [base model] '83-'86)
*B = 2.5L SOHC 8-valve Porsche M44 I4, 147 hp (944 [base model] '87)
*B = 2.5L SOHC 8-valve Porsche M44 I4, 158 hp (944 [base model] '88)
*A = 2.5L DOHC 16-valve Porsche M44 I4, 188 hp (944S '87-'88)
*A = 2.7L SOHC 8-valve Porsche M44 I4, 163 hp (944 [base model] '89)
*B = 3.0L DOHC 16-valve Porsche M44 I4, 208 hp (944 S2 '89 [coupe only], '90-'91 [coupe & cabriolet])
*A = 3.0L DOHC 16-valve Porsche M44 I4, 208 hp (944 S2 '89 [cabriolet only])
Type 951:
*A = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.51 I4, 217 hp (944 Turbo '86-'88)
*A = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.52 I4, 247 hp (944 Turbo S '88, Turbo '89)
*C = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.52 I4, 247 hp (944 Turbo '90 [Canada only])
'''968:'''
*A = 3.0L DOHC 16-valve Porsche M44 I4, 236 hp ('92-'95)
'''928:'''
*A = 4.5L SOHC 16-valve Porsche M28 V8, 220 hp (928 '81-'82)
*B = 4.7L SOHC 16-valve Porsche M28 V8, 234 hp (928 S '83-'84)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 288 hp (928 S '85-'86)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 316 hp (928 S4 '87-'90)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 326 hp (928 GT '89-'90)
*A = 5.0L DOHC 32-valve Porsche M28 V8, 316 hp (928 S4 '91)
*A = 5.0L DOHC 32-valve Porsche M28 V8, 326 hp (928 GT '91)
*A = 5.4L DOHC 32-valve Porsche M28 V8, 345 hp (928 GTS '93-'95)
'''Boxster/Cayman:'''
Type 986:
*A = 2.5L flat-6, 201 hp (Boxster '97-'99)
*A = 2.7L flat-6, 217 hp (Boxster '00-'02)
*A = 2.7L flat-6, 225 hp (Boxster '03-'04)
*B = 3.2L flat-6, 250 hp (Boxster S '00-'02)
*B = 3.2L flat-6, 258 hp (Boxster S '03-'04)
*B = 3.2L flat-6, 264 hp (Boxster S 50 Years of the 550 Spyder Anniversary Edition '04)
Type 987:
*A = 2.7L flat-6, 240 hp (Boxster '05-'06)
*A = 2.7L flat-6, 245 hp (Boxster '07-'08, Limited Edition '08), 245 hp (Cayman '07-'08)
*A = 2.9L flat-6, 255 hp (Boxster '09-'12), 265 hp (Cayman '09-'12)
*B = 3.2L flat-6, 280 hp (Boxster S '05-'06)
*B = 3.4L flat-6, 295 hp (Boxster S '07-'08, S Limited Edition '08), 295 hp (Cayman S '06-'08)
*B = 3.4L flat-6, 310 hp (Boxster S '09-'12), 320 hp (Cayman S '09-'12)
*B = 3.4L flat-6, 303 hp (Boxster S Porsche Design Edition 2 '08, RS 60 Spyder '08), 303 hp (Cayman S Sport '08)
*B = 3.4L flat-6, 320 hp (Boxster S Black Edition '12, Spyder '11-'12), 330 hp (Cayman S Black Edition '12, Cayman R '12)
Type 981:
*A = 2.7L flat-6, 265 hp (Boxster '13-'16, Boxster Black Edition '16), 275 hp (Cayman '14-'16)
*B = 3.4L flat-6, 315 hp (Boxster S '13-'16), 325 hp (Cayman S '14-'16)
*B = 3.4L flat-6, 330 hp (Boxster GTS '15-'16), 340 hp (Cayman GTS '15-'16)
*C = 3.8L flat-6, 375 hp (Boxster Spyder '16), 385 hp (Cayman GT4 '16)
'''718 Boxster/Cayman:'''
Type 982:
*A = 2.0L turbo [[w:Intercooler|IC]] flat-4, 300 hp <br> (718 Boxster '17-'25, 718 Boxster T '20-'23, 718 Boxster Style Edition '24-'25, 718 Cayman '17-'25, 718 Cayman T '20-'23, 718 Cayman Style Edition '24-'25)
*B = 2.5L turbo [[w:Intercooler|IC]] flat-4, 350 hp (718 Boxster S, 718 Cayman S '17-'25)
*B = 2.5L turbo [[w:Intercooler|IC]] flat-4, 365 hp (718 Boxster GTS, 718 Cayman GTS '18-'19)
*D = 4.0L flat-6, 394 hp (718 Boxster GTS 4.0 '21-'25, 718 Boxster 25 Years '21, 718 Cayman GTS 4.0 '21-'25)
*C = 4.0L flat-6, 414 hp (718 Spyder, 718 Cayman GT4 '20-'23)
*E = 4.0L flat-6, 493 hp (718 Spyder RS '24-'25, 718 Cayman GT4 RS '23-'25)
'''911:'''
Type 911: (G-Series body)
*B = 3.0L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/16), 172 hp (911 SC Coupe/Targa '81-'83, Cabriolet '83)
*B = 3.2L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/21), 200 hp (911 Carrera '84-'86)
*B = 3.2L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/25), 214 hp (911 Carrera '87-'89, Club Sport '88-'89, Speedster '89)
Type 930: (G-Series body)
*A = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled flat-6 (Engine ID: 930/60 ['81-'82], 930/66 ['83-'87]), 296 hp (911 Turbo Canada: '81-'87)<br> (Coupe: '81-'87, Targa/Cabriolet: '87)
*B = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled flat-6 (Engine ID: 930/68), 282 hp (911 Turbo US: '86-'89, Canada '88-'89) (Coupe: '86-'89, Targa/Cabriolet: '87-'89)
Type 964:
*B = 3.6L SOHC 12-valve air-cooled M64 flat-6, 247 hp (911 Carrera 2 '90-'94, Targa '90-'94, 911 America Roadster '92-'93, RS America '93-'94, Speedster '94,<br> Carrera 4 '89-'94, Carrera 4 Widebody Coupe '94, Carrera 4 Targa '90-'93)
*B = 3.6L SOHC 12-valve air-cooled M64 flat-6, 256 hp (911 Carrera Cup USA Edition '92)
*A = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M30 flat-6, 315 hp (911 Turbo '91-'92) coupe
*C = 3.6L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 355 hp (911 Turbo 3.6 '94) coupe
*C = 3.6L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 380 hp (911 Turbo S 3.6 '94) coupe
Type 993:
*A = 3.6L SOHC 12-valve air-cooled M64 flat-6, 270 hp (911 Carrera '95, Carrera 4 '95)
*A = 3.6L SOHC 12-valve air-cooled M64 flat-6, 282 hp (911 Carrera '96-'98, Targa '96-'98, Carrera S '97-'98, Carrera 4 '96-'98, Carrera 4S '96-'98)
*C = 3.6L twin-turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 400 hp (911 Turbo '96-'97) coupe
*C = 3.6L twin-turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 424 hp (911 Turbo S '97) coupe
Type 996:
*A = 3.4L DOHC 24-valve water-cooled flat-6, 296 hp (911 Carrera '99, Carrera 4 '99)
*A = 3.4L flat-6, 300 hp (911 Carrera '00-'01, Carrera 4 '00-'01)
*A = 3.6L flat-6, 320 hp (911 Carrera '02-'04, Carrera Cabriolet '05, Targa '02-'05, Carrera 4 '02-'04, Carrera 4S '03-'05)
*A = 3.6L flat-6, 345 hp (911 Carrera 40th Anniversary Edition -'04)
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 415 hp (911 Turbo '01-'05) (Coupe: '01-'05, Cabriolet: '04-'05)
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 444 hp (911 Turbo S '05) (Coupe/Cabriolet)
*C = 3.6L flat-6, 381 hp (911 GT3 '04-'05)
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 456 hp (911 GT2 '02-'03)
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 477 hp (911 GT2 '04)
Type 997:
*A = 3.6L flat-6, 325 hp (911 Carrera '05-'08, Carrera 4 '06-'08, Targa 4 '07-'08)
*A = 3.6L flat-6, 345 hp (911 Carrera '09-'12, Carrera Black Edition '12, Carrera 4 '09-'12, Targa 4 '09-'12)
*B = 3.8L flat-6, 355 hp (911 Carrera S '05-'08, Carrera 4S '06-'08, Targa 4S '07-'08)
*B = 3.8L flat-6, 385 hp (911 Carrera S '09-'12, Carrera 4S '09-'12, Targa 4S '09-'12)
*B = 3.8L flat-6, 381 hp (911 Carrera S Club Coupe '06)
*B = 3.8L flat-6, 408 hp (911 Carrera GTS '11-'12, Carrera 4 GTS '12, Speedster '11)
*D = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 480 hp (911 Turbo '07-'09)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 500 hp (911 Turbo '10-'13)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 530 hp (911 Turbo S '11-'13)
*C = 3.6L flat-6, 415 hp (911 GT3 '07-'08)
*C = 3.8L flat-6, 435 hp (911 GT3 '10-'11)
*C = 3.6L flat-6, 415 hp (911 GT3 RS '07-'08)
*C = 3.8L flat-6, 450 hp (911 GT3 RS '10-'11)
*F = 4.0L flat-6, 500 hp (911 GT3 RS 4.0 '11)
*D = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 530 hp (911 GT2 '08-'09)
*E = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 620 hp (911 GT2 RS '11)
Type 991.1:
*A = 3.4L flat-6, 350 hp (911 Carrera '12-'16, Carrera 4 '13-'16, Targa 4 '14-'16)
*B = 3.8L flat-6, 400 hp (911 Carrera S '12-'16, Carrera 4S '13-'16, Targa 4S '14-'16, 911 50th Anniversary Edition '14)
*B = 3.8L flat-6, 430 hp (911 Carrera GTS '15-'16, Carrera 4 GTS '15-'16, Targa 4 GTS '16)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 520 hp (911 Turbo '14-'16)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 560 hp (911 Turbo S '14-'16)
*C = 3.8L flat-6, 475 hp (911 GT3 '14-'15)
*F = 4.0L flat-6, 500 hp (911 GT3 RS '16, 911 R '16)
Type 991.2:
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 370 hp (911 Carrera '17-'19, Carrera T '18-'19, Carrera 4 '17-'19, Targa 4 '17-'19)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 420 hp (911 Carrera S '17-'19, Carrera 4S '17-'19, Targa 4S '17-'19)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 450 hp (911 Carrera GTS '17-'19, Carrera 4 GTS '17-'19, Targa 4 GTS '17-'19)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 540 hp (911 Turbo '17-'19)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 580 hp (911 Turbo S '17-'19)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 607 hp (911 Turbo S Exclusive Series '18-'19)
*C = 4.0L flat-6, 500 hp (911 GT3, GT3 Touring '18-'19)
*F = 4.0L flat-6, 502 hp (911 Speedster '19)
*F = 4.0L flat-6, 520 hp (911 GT3 RS '19)
*E = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 690 hp (911 GT2 RS '18-'19)
Type 992:
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 379 hp (911 Carrera '20-'24, Carrera T '23-'24, Carrera 4 '20-'24, Targa 4 '21-'24)
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 388 hp (911 Carrera, Carrera T '25-, Carrera T Club Coupe '26)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 443 hp (911 Carrera S '20-'24, Carrera 4S '20-'24, Targa 4S '21-'24)
*H = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 473 hp (911 Carrera S '26-, Carrera 4S '26-, Targa 4S '26-)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 473 hp (911 Carrera GTS '22-'24, Carrera 4 GTS '22-'24, Targa 4 GTS '22-'24, Dakar '23-'24)
*B = Hybrid: 3.6L turbo [[w:Intercooler|IC]] flat-6 + electric motor, Lithium-ion battery, 532 hp (911 Carrera GTS, Carrera 4 GTS, Targa 4 GTS '25-, 911 Spirit 70 '26)
*G = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 543 hp (911 Sport Classic '23)
*D = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 572 hp (911 Turbo '21-'25)
*D = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 640 hp (911 Turbo S '21-'25)
*D = Hybrid: 3.6L twin-turbo [[w:Intercooler|IC]] flat-6 + electric motor, Lithium-ion battery, 701 hp (911 Turbo S '26-)
*C = 4.0L flat-6, 502 hp (911 GT3, GT3 Touring '22-'26)
*F = 4.0L flat-6, 518 hp (911 GT3 RS '23-'25, 911 S/T '24)
'''Carrera GT:'''
*A = 5.7L Porsche M80.01 68° V10, 605 hp (Carrera GT '04-'05)
'''918 Spyder:'''
*A = PHEV: 4.6L Porsche M18 flat-plane crank V8 + 2 electric motors (1 front, 1 rear), Lithium-ion battery, 887 total system hp (918 Spyder '15)
'''Panamera:'''
Type 970:
*A = 3.6L Porsche M46.20 (2wd)/M46.40 (4wd) 90° V6, 300 hp (Panamera, Panamera 4 '11-'13)
*A = 3.6L Porsche M46.20 (2wd)/M46.40 (4wd) 90° V6, 310 hp (Panamera, Panamera 4 '14-'16)
*D = HEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Nickel-metal hydride battery, 380 hp (Panamera S Hybrid '12-'13)
*D = PHEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Lithium-ion battery, 416 hp (Panamera S E-Hybrid '14-'16)
*B = 4.8L Porsche M48 V8, 400 hp (Panamera S, 4S '10-'13)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.60 90° V6, 420 hp (Panamera S, 4S '14-'16)
*F = 4.8L Porsche M48 V8, 430 hp (Panamera GTS '13)
*F = 4.8L Porsche M48 V8, 440 hp (Panamera GTS '14-'16)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Panamera Turbo '10-'13)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Panamera Turbo '14-'16)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Panamera Turbo S '12-'13)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 570 hp (Panamera Turbo S '15-'16)
Type 971 & 976:
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 330 hp (Panamera, Panamera 4 '17-'20)
*J = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 325 hp (Panamera, Panamera 4 '21-'23)
*A = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 348 hp (Panamera, Panamera 4 '24-)
*E = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 455 hp (Panamera 4 E-Hybrid '18-'23)
*E = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 463 hp (Panamera 4 E-Hybrid '25-)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 440 hp (Panamera 4S '17-'20)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 443 hp (Panamera 4S '21-'23)
*K = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 552 hp (Panamera 4S E-Hybrid '21-'23)
*C = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 536 hp (Panamera 4S E-Hybrid '25-)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 453 hp (Panamera GTS '19-'20)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 473 hp (Panamera GTS '21-'23)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 493 hp (Panamera GTS '25-)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 550 hp (Panamera Turbo '17-'20)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 620 hp (Panamera Turbo S '21-'23)
*F = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 670 hp (Panamera Turbo E-Hybrid '25-)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 680 hp (Panamera Turbo S E-Hybrid '18-'20)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 690 hp (Panamera Turbo S E-Hybrid '21-'23)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 771 hp (Panamera Turbo S E-Hybrid '25-)
'''Taycan:'''
*A = battery-electric, 1 rear motor, Rwd, 402 hp (71 Kwh battery) or 469 hp (83.7 Kwh battery) (Taycan '21-'24)
*A = battery-electric, 1 rear motor, Rwd, 402 hp (82.3 Kwh battery) or 429 hp (97 Kwh battery) (Taycan '25-)
*A = battery-electric, 2 motors, 4wd, 402 hp (82.3 Kwh battery) or 429 hp (97 Kwh battery) (Taycan 4 '25-)
*B = battery-electric, 2 motors, 4wd, 522 hp (71 Kwh battery) or 562 hp (83.7 Kwh battery) (Taycan 4S '20-'24)
*B = battery-electric, 2 motors, 4wd, 536 hp (82.3 Kwh battery) or 590 hp (97 Kwh battery) (Taycan 4S '25-)
*D = battery-electric, 2 motors, 4wd, 590 hp (83.7 Kwh battery) (Taycan GTS '22-'24)
*D = battery-electric, 2 motors, 4wd, 690 hp (97 Kwh battery) (Taycan GTS '25-)
*C = battery-electric, 2 motors, 4wd, 670 hp (83.7 Kwh battery) (Taycan Turbo '20-'24)
*C = battery-electric, 2 motors, 4wd, 750 hp (83.7 Kwh battery) (Taycan Turbo S '20-'24)
*C = battery-electric, 2 motors, 4wd, 871 hp (97 Kwh battery) (Taycan Turbo '25-)
*C = battery-electric, 2 motors, 4wd, 938 hp (97 Kwh battery) (Taycan Turbo S '25-)
*E = battery-electric, 2 motors, 4wd, 1019 hp (97 Kwh battery) (Taycan Turbo GT '25-)
'''Macan:'''
*A = 2.0L turbo [[w:Intercooler|IC]] Audi EA888T I4, 248 hp (Macan '17-'21)
*A = 2.0L turbo [[w:Intercooler|IC]] Audi EA888T I4, 261 hp (Macan '22-, Macan T '23-)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.30 90° V6, 340 hp (Macan S '15-'18)
*B = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 348 hp (Macan S '19-'21)
*G = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 375 hp (Macan S '22-)
*G = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.30 90° V6, 360 hp (Macan GTS '17-'18)
*G = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 375 hp (Macan GTS '20-'21)
*F = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Macan GTS '22-)
*F = 3.6L twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 400 hp (Macan Turbo '15-'18)
*F = 3.6L twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 440 hp (Macan Turbo w/Performance Package '17-'18)
*F = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Macan Turbo '20-'21)
'''Macan Electric:'''
*D = battery-electric, 1 rear motor, Rwd, 355 hp (95 Kwh battery) (Macan Electric '25-)
*A = battery-electric, 2 motors, 4wd, 402 hp (95 Kwh battery) (Macan Electric 4 '24-)
*B = battery-electric, 2 motors, 4wd, 509 hp (95 Kwh battery) (Macan Electric 4S '25-)
*E = battery-electric, 2 motors, 4wd, 563 hp (95 Kwh battery) (Macan Electric GTS '26-)
*C = battery-electric, 2 motors, 4wd, 630 hp (95 Kwh battery) (Macan Electric Turbo '24-)
'''Cayenne:'''
955/957 or 9PA:
*A = 3.2L (3189cc) VW EA390 15° VR6, 247 hp (Cayenne '04-'06)
*A = 3.6L (3598cc) VW EA390 10.6° FSI VR6, 290 hp (Cayenne '08-'10)
*B = 4.5L Porsche M48 V8, 340 hp (Cayenne S '03-'06, S Titanium Edition '06)
*B = 4.8L Porsche M48 V8, 385 hp (Cayenne S '08-'10)
*D = 4.8L Porsche M48 V8, 405 hp (Cayenne GTS '08-'10, S Transsyberia '10)
*C = 4.5L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 450 hp (Cayenne Turbo '03-'06)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Cayenne Turbo '08-'10)
*C = 4.5L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Cayenne Turbo S '06)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Cayenne Turbo S '09-'10)
958 or 92A:
*A = 3.6L (3598cc) VW EA390 10.6° VR6, 300 hp (Cayenne '11-'14, '16-'18)
*B = 4.8L Porsche M48 V8, 400 hp (Cayenne S '11-'14)
*B = 3.6L (3604cc) twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 420 hp (Cayenne S '15-'18)
*E = HEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Nickel-metal hydride battery, 380 hp (Cayenne S Hybrid '11-'14)
*E = PHEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Lithium-ion battery, 416 hp (Cayenne S E-Hybrid '15-'18)
*D = 4.8L Porsche M48 V8, 420 hp (Cayenne GTS '13-'14)
*D = 3.6L (3604cc) twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 440 hp (Cayenne GTS '16-'18)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Cayenne Turbo '11-'14)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Cayenne Turbo '15-'18)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Cayenne Turbo S '14)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 570 hp (Cayenne Turbo S '16-'18)
*F = 3.0L turbo [[w:Intercooler|IC]] Audi EA897 90° Diesel V6, 240 hp (Cayenne Diesel '13-'16)
9YA/9YB:
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 335 hp (Cayenne '19-'23)
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 348 hp (Cayenne '24-)
*E = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 455 hp (Cayenne E-Hybrid '19-'23)
*E = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 463 hp (Cayenne E-Hybrid '24-)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Cayenne S '19-'23)
*L = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 468 hp (Cayenne S '24-)
*N = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 512 hp (Cayenne S E-Hybrid '24-)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 453 hp (Cayenne GTS '21-'23)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 493 hp (Cayenne GTS '25-)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 541 hp (Cayenne Turbo '19-'23)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 670 hp (Cayenne Turbo S E-Hybrid '20-'23)
*M = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 729 hp (Cayenne Turbo E-Hybrid '24-)
*K = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 631 hp (Cayenne Coupe Turbo GT '22-'23)
*K = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 650 hp (Cayenne Coupe Turbo GT '24-)
'''Cayenne Electric:'''
*A = battery-electric, 2 motors, 4wd, 435 hp (108 Kwh battery) (Cayenne Electric '26-)
*D = battery-electric, 2 motors, 4wd, 1139 hp (108 Kwh battery) (Cayenne Electric Turbo '26-)
===Position 6, Restraint Systems:===
*1 = Seat Belts only
*2 = Passive Restraint System - Airbags (Driver and Passenger Front Airbags)
===Position 7-8, Vehicle Type Code===
{| class="wikitable"
|+Position 7
!VIN Pos. 7-8
!Complete Vehicle Type Code
!Model
!Type
|-
|92
|924
|924 (1981-1982 w/normally aspirated engine)
|924
|-
|93
|931
|924 Turbo (1981-1982)
|931
|-
|92
|924
|924S (1987-1988 w/normally aspirated engine)
|924
|-
|94
|944
|944 (1983-1991 w/normally aspirated engine)
|944
|-
|95
|951
|944 Turbo (1986-1989 & 1990 in Canada)
|951
|-
|96
|968
|968 (1992-1995)
|968
|-
|92
|928
|928 (1981-1995)
|928
|-
|98
|986
|Boxster (1997-2004)
|986
|-
|98
|987
|Boxster (2005-2009)/Cayman (2006-2009)
|987
|-
|A8
|A87
|Boxster (2010-2012)/Cayman (2010-2012)
|987
|-
|A8
|A81
|Boxster (2013-2016)/Cayman (2014-2016)
|981
|-
|A8
|A82
|718 Boxster/Cayman (2017-2025)
|982
|-
|91
|911
|911 (1981-1989 2wd w/normally aspirated engine)
|911
|-
|93
|930
|911 (1986-1989 911 Turbo)
|930
|-
|96
|964
|911 (1989-1994 Carrera 4, 1990-1994 Carrera 2, 1991-1994 Turbo)
|964
|-
|99
|993
|911 (1995-1998)
|993
|-
|99
|996
|911 (1999-2004)
|996
|-
|99
|997
|911 (2005-2009)
|997
|-
|A9
|A97
|911 (2010-2012)
|997
|-
|A9
|A91
|911 (2013-2019)
|991
|-
|A9
|A92
|911 (2020-)
|992
|-
|98
|980
|Carrera GT (2004-2005)
|980
|-
|A1
|A18
|918 Spyder (2015)
|918
|-
|A7
|A70
|Panamera (2010-2016)
|970
|-
|A7
|A71
|Panamera (2017-2023)
|971
|-
|YA
|
|Panamera (2024-)
|976
|-
|Y1
|Y1A
|Taycan (2020-)
|9J1 or <br> Y1A (sedan)/Y1B (Cross Turismo)/Y1C (Sport Turismo)
|-
|A5
|A5B
|Macan (2015-)
|95B
|-
|XA
|
|Macan Electric (2024-)
|XAB
|-
|9P
|9PA
|Cayenne (2003-2009)
|9PA
|-
|AP
|APA
|Cayenne (2010)
|9PA
|-
|A2
|A2A
|Cayenne (2011-2018)
|92A
|-
|AY
|AYA
|Cayenne (wagon: 2019-, coupe: 2020-)
|9YA (wagon)/9YB (coupe)
|-
|X1
|
|Cayenne Electric (2026-)
|E4
|}
===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:===
* S: Stuttgart-Zuffenhausen, Germany (includes: Type 937 - 924 Carrera GTS/GTR [N/A in US/Canada], a few late '91 944 S2 coupe & cabriolet [RoW-spec])
* L: Leipzig, Germany (Cayenne '03-'18, Carrera GT '04-'05, Panamera '10-, Macan '15-, Macan Electric '24-)
* D: Bratislava, Slovakia (VW plant - Cayenne '19-, Cayenne Electric '26-)
* K: Osnabrueck, Germany (ex-Karmann VW plant - Cayenne '16-'18, Boxster '13-15, Cayman '14-'16, 718 Boxster '24-'25, 718 Cayman '17-'18, '20-'21, '23-'25)
* N: Neckarsulm, Germany (Audi plant - 924, 944) (includes Type 937 - 924 Carrera GT [N/A in US/Canada])
* U: Uusikaupunki, Finland (Valmet plant - Boxster '98-'11, Cayman '06-'12)
Note: RoW=Rest of World (non-US/Canada markets)
===Position 12, 3rd Digit of Vehicle Type Code===
Note: Only applies to models with a 3-digit Vehicle Type Code. Models with a 2-digit Vehicle Type Code use pos. 12 for the serial number.
{| class="wikitable"
|+Position 12
!VIN Pos. 12
!Complete Vehicle Type Code
!Model
!Type
|-
|4
|924
|924 (1981-1982 w/normally aspirated engine)
|924
|-
|1
|931
|924 Turbo (1981-1982)
|931
|-
|4
|924
|924S (1987-1988 w/normally aspirated engine)
|924
|-
|4
|944
|944 (1983-1991 w/normally aspirated engine)
|944
|-
|1
|951
|944 Turbo (1986-1989 & 1990 in Canada)
|951
|-
|8
|968
|968 (1992-1995)
|968
|-
|8
|928
|928 (1981-1995)
|928
|-
|6
|986
|Boxster (1997-2004)
|986
|-
|7
|987
|Boxster (2005-2009)/Cayman (2006-2009)
|987
|-
|7
|A87
|Boxster (2010-2012)/Cayman (2010-2012)
|987
|-
|1
|A81
|Boxster (2013-2016)/Cayman (2014-2016)
|981
|-
|2
|A82
|718 Boxster/Cayman (2017-2025)
|982
|-
|1
|911
|911 (1981-1989 2wd w/normally aspirated engine)
|911
|-
|0
|930
|911 (1986-1989 911 Turbo)
|930
|-
|4
|964
|911 (1989-1994 Carrera 4, 1990-1994 Carrera 2, 1991-1994 Turbo)
|964
|-
|3
|993
|911 (1995-1998)
|993
|-
|6
|996
|911 (1999-2004)
|996
|-
|7
|997
|911 (2005-2009)
|997
|-
|7
|A97
|911 (2010-2012)
|997
|-
|1
|A91
|911 (2013-2019)
|991
|-
|2
|A92
|911 (2020-)
|992
|-
|0
|980
|Carrera GT (2004-2005)
|980
|-
|8
|A18
|918 Spyder (2015)
|918
|-
|0
|A70
|Panamera (2010-2016)
|970
|-
|1
|A71
|Panamera (2017-2023)
|971
|-
|A
|Y1A
|Taycan (2020-)
|9J1 or <br> Y1A (sedan)/Y1B (Cross Turismo)/Y1C (Sport Turismo)
|-
|B
|A5B
|Macan (2015-)
|95B
|-
|A
|9PA
|Cayenne (2003-2009)
|9PA
|-
|A
|APA
|Cayenne (2010)
|9PA
|-
|A
|A2A
|Cayenne (2011-2018)
|92A
|-
|A
|AYA
|Cayenne (wagon: 2019-, coupe: 2020-)
|9YA (wagon)/9YB (coupe)
|}
'''Positions 12–17 or 13–17, Serial Number'''
{{BookCat}}
l1f00vfyjzmxaaz2k8k4ab5truaq88b
4634689
4634681
2026-05-07T22:27:51Z
JustTheFacts33
3434282
/* Position 5, Engine: */
4634689
wikitext
text/x-wiki
===Positions 1–3, World Manufacturer Identifier:===
* WP0 - Porsche passenger car
* WP1 - Porsche SUV
===Position 4, Body Style:===
'''924:'''
* A = Coupe
'''944:'''
* A = Coupe
* B = Cabriolet (1989 only)
* C = Cabriolet (1990-1991)
'''968/Boxster/Cayman/718:'''
* A = Coupe
* C = Cabriolet
'''928:'''
* J = Coupe (1981-1990)
* A = Coupe (1991-1995)
'''911:'''
* A = Coupe (Except Type 930 Turbo coupe)
* B = Targa (911 - Type 964/996/997/991/992)
* C = Cabriolet (911 - Type 964/993/996/997/991/992) or Speedster (Type 964/997/991) or Roadster (Type 964)
* D = Targa (911 - Type 993)
* E = Targa or Cabriolet (911 [1981-1989] or 911 Turbo - Type 930 [1987-1989]) or Speedster (911 - 1989)
* J = Turbo Coupe (911 - Type 930 [US: 1986-1989, Canada: 1981-1989])
'''Carrera GT / 918 Spyder:'''
* C = Cabriolet
'''Panamera / Taycan:'''
* A = sedan (SWB)
* B = LWB sedan (Panamera Executive) or Cross Turismo (Taycan)
* C = Sport Turismo
'''Macan / Cayenne:'''
* A = SUV (wagon)
* B = Coupe-styled SUV (Cayenne Coupe)
===Position 5, Engine:===
'''924:'''
Type 924:
*A = 2.0L SOHC 8-valve Audi EA831 I4, 110 hp (924 '81-'82)
Type 931:
*A = 2.0L turbo SOHC 8-valve Audi EA831 I4, 154 hp (924 Turbo '81-'82)
Type 924:
*A = 2.5L SOHC 8-valve Porsche M44 I4, 147 hp (924S '87)
*A = 2.5L SOHC 8-valve Porsche M44 I4, 158 hp (924S '88)
'''944:'''
Type 944:
*A = 2.5L SOHC 8-valve Porsche M44 I4, 143 hp (944 [base model] '83-'86)
*B = 2.5L SOHC 8-valve Porsche M44 I4, 147 hp (944 [base model] '87)
*B = 2.5L SOHC 8-valve Porsche M44 I4, 158 hp (944 [base model] '88)
*A = 2.5L DOHC 16-valve Porsche M44 I4, 188 hp (944S '87-'88)
*A = 2.7L SOHC 8-valve Porsche M44 I4, 163 hp (944 [base model] '89)
*B = 3.0L DOHC 16-valve Porsche M44 I4, 208 hp (944 S2 '89 [coupe only], '90-'91 [coupe & cabriolet])
*A = 3.0L DOHC 16-valve Porsche M44 I4, 208 hp (944 S2 '89 [cabriolet only])
Type 951:
*A = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.51 I4, 217 hp (944 Turbo '86-'88)
*A = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.52 I4, 247 hp (944 Turbo S '88, Turbo '89)
*C = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.52 I4, 247 hp (944 Turbo '90 [Canada only])
'''968:'''
*A = 3.0L DOHC 16-valve Porsche M44 I4, 236 hp ('92-'95)
'''928:'''
*A = 4.5L SOHC 16-valve Porsche M28 V8, 220 hp (928 '81-'82)
*B = 4.7L SOHC 16-valve Porsche M28 V8, 234 hp (928 S '83-'84)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 288 hp (928 S '85-'86)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 316 hp (928 S4 '87-'90)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 326 hp (928 GT '89-'90)
*A = 5.0L DOHC 32-valve Porsche M28 V8, 316 hp (928 S4 '91)
*A = 5.0L DOHC 32-valve Porsche M28 V8, 326 hp (928 GT '91)
*A = 5.4L DOHC 32-valve Porsche M28 V8, 345 hp (928 GTS '93-'95)
'''Boxster/Cayman:'''
Type 986:
*A = 2.5L flat-6, 201 hp (Boxster '97-'99)
*A = 2.7L flat-6, 217 hp (Boxster '00-'02)
*A = 2.7L flat-6, 225 hp (Boxster '03-'04)
*B = 3.2L flat-6, 250 hp (Boxster S '00-'02)
*B = 3.2L flat-6, 258 hp (Boxster S '03-'04)
*B = 3.2L flat-6, 264 hp (Boxster S 50 Years of the 550 Spyder Anniversary Edition '04)
Type 987:
*A = 2.7L flat-6, 240 hp (Boxster '05-'06)
*A = 2.7L flat-6, 245 hp (Boxster '07-'08, Limited Edition '08), 245 hp (Cayman '07-'08)
*A = 2.9L flat-6, 255 hp (Boxster '09-'12), 265 hp (Cayman '09-'12)
*B = 3.2L flat-6, 280 hp (Boxster S '05-'06)
*B = 3.4L flat-6, 295 hp (Boxster S '07-'08, S Limited Edition '08), 295 hp (Cayman S '06-'08)
*B = 3.4L flat-6, 310 hp (Boxster S '09-'12), 320 hp (Cayman S '09-'12)
*B = 3.4L flat-6, 303 hp (Boxster S Porsche Design Edition 2 '08, RS 60 Spyder '08), 303 hp (Cayman S Sport '08)
*B = 3.4L flat-6, 320 hp (Boxster S Black Edition '12, Spyder '11-'12), 330 hp (Cayman S Black Edition '12, Cayman R '12)
Type 981:
*A = 2.7L flat-6, 265 hp (Boxster '13-'16, Boxster Black Edition '16), 275 hp (Cayman '14-'16)
*B = 3.4L flat-6, 315 hp (Boxster S '13-'16), 325 hp (Cayman S '14-'16)
*B = 3.4L flat-6, 330 hp (Boxster GTS '15-'16), 340 hp (Cayman GTS '15-'16)
*C = 3.8L flat-6, 375 hp (Boxster Spyder '16), 385 hp (Cayman GT4 '16)
'''718 Boxster/Cayman:'''
Type 982:
*A = 2.0L turbo [[w:Intercooler|IC]] flat-4, 300 hp <br> (718 Boxster '17-'25, 718 Boxster T '20-'23, 718 Boxster Style Edition '24-'25, 718 Cayman '17-'25, 718 Cayman T '20-'23, 718 Cayman Style Edition '24-'25)
*B = 2.5L turbo [[w:Intercooler|IC]] flat-4, 350 hp (718 Boxster S, 718 Cayman S '17-'25)
*B = 2.5L turbo [[w:Intercooler|IC]] flat-4, 365 hp (718 Boxster GTS, 718 Cayman GTS '18-'19)
*D = 4.0L flat-6, 394 hp (718 Boxster GTS 4.0 '21-'25, 718 Boxster 25 Years '21, 718 Cayman GTS 4.0 '21-'25)
*C = 4.0L flat-6, 414 hp (718 Spyder, 718 Cayman GT4 '20-'23)
*E = 4.0L flat-6, 493 hp (718 Spyder RS '24-'25, 718 Cayman GT4 RS '23-'25)
'''911:'''
Type 911: (G-Series body)
*B = 3.0L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/16), 172 hp (911 SC Coupe/Targa '81-'83, Cabriolet '83)
*B = 3.2L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/21), 200 hp (911 Carrera '84-'86)
*B = 3.2L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/25), 214 hp (911 Carrera '87-'89, Club Sport '88-'89, Speedster '89)
Type 930: (G-Series body)
*A = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled flat-6 (Engine ID: 930/60 ['81-'82], 930/66 ['83-'87]), 296 hp (911 Turbo Canada: '81-'87)<br> (Coupe: '81-'87, Targa/Cabriolet: '87)
*B = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled flat-6 (Engine ID: 930/68), 282 hp (911 Turbo US: '86-'89, Canada '88-'89) (Coupe: '86-'89, Targa/Cabriolet: '87-'89) regular or slant-nose
Type 964:
*B = 3.6L SOHC 12-valve air-cooled M64 flat-6, 247 hp (911 Carrera 2 '90-'94, Targa '90-'94, 911 America Roadster '92-'93, RS America '93-'94, Speedster '94,<br> Carrera 4 '89-'94, Carrera 4 Widebody Coupe '94, Carrera 4 Targa '90-'93)
*B = 3.6L SOHC 12-valve air-cooled M64 flat-6, 256 hp (911 Carrera Cup USA Edition '92) coupe
*A = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M30 flat-6, 315 hp (911 Turbo '91-'92) coupe
*C = 3.6L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 355 hp (911 Turbo 3.6 '94) coupe
*C = 3.6L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 380 hp (911 Turbo S 3.6 '94) coupe, flat-nose coupe
Type 993:
*A = 3.6L SOHC 12-valve air-cooled M64 flat-6, 270 hp (911 Carrera '95, Carrera 4 '95)
*A = 3.6L SOHC 12-valve air-cooled M64 flat-6, 282 hp (911 Carrera '96-'98, Targa '96-'98, Carrera S '97-'98, Carrera 4 '96-'98, Carrera 4S '96-'98)
*C = 3.6L twin-turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 400 hp (911 Turbo '96-'97) coupe
*C = 3.6L twin-turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 424 hp (911 Turbo S '97) coupe
Type 996:
*A = 3.4L DOHC 24-valve water-cooled flat-6, 296 hp (911 Carrera '99, Carrera 4 '99)
*A = 3.4L flat-6, 300 hp (911 Carrera '00-'01, Carrera 4 '00-'01)
*A = 3.6L flat-6, 320 hp (911 Carrera '02-'04, Carrera Cabriolet '05, Targa '02-'05, Carrera 4 '02-'04, Carrera 4S '03-'05)
*A = 3.6L flat-6, 345 hp (911 Carrera 40th Anniversary Edition '04) coupe
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 415 hp (911 Turbo '01-'05) (Coupe: '01-'05, Cabriolet: '04-'05)
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 444 hp (911 Turbo S '05) (Coupe/Cabriolet)
*C = 3.6L flat-6, 381 hp (911 GT3 '04-'05) coupe
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 456 hp (911 GT2 '02-'03) coupe
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 477 hp (911 GT2 '04) coupe
Type 997:
*A = 3.6L flat-6, 325 hp (911 Carrera '05-'08, Carrera 4 '06-'08, Targa 4 '07-'08)
*A = 3.6L flat-6, 345 hp (911 Carrera '09-'12, Carrera Black Edition coupe/cabriolet '12, Carrera 4 '09-'12, Targa 4 '09-'12)
*B = 3.8L flat-6, 355 hp (911 Carrera S '05-'08, Carrera 4S '06-'08, Targa 4S '07-'08)
*B = 3.8L flat-6, 385 hp (911 Carrera S '09-'12, Carrera 4S '09-'12, Targa 4S '09-'12)
*B = 3.8L flat-6, 381 hp (911 Carrera S Club Coupe '06)
*B = 3.8L flat-6, 408 hp (911 Carrera GTS '11-'12, Carrera 4 GTS '12, Speedster '11)
*D = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 480 hp (911 Turbo '07-'09) (Coupe: '07-'09, Cabriolet: '08-'09)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 500 hp (911 Turbo '10-'13) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 530 hp (911 Turbo S '11-'13) (Coupe/Cabriolet), (911 Turbo S Cabriolet Edition 918 Spyder '12)
*C = 3.6L flat-6, 415 hp (911 GT3 '07-'08) coupe
*C = 3.8L flat-6, 435 hp (911 GT3 '10-'11) coupe
*C = 3.6L flat-6, 415 hp (911 GT3 RS '07-'08) coupe
*C = 3.8L flat-6, 450 hp (911 GT3 RS '10-'11) coupe
*F = 4.0L flat-6, 500 hp (911 GT3 RS 4.0 '11) coupe
*D = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 530 hp (911 GT2 '08-'09) coupe
*E = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 620 hp (911 GT2 RS '11) coupe
Type 991.1:
*A = 3.4L flat-6, 350 hp (911 Carrera '12-'16, Carrera 4 '13-'16, Targa 4 '14-'16)
*B = 3.8L flat-6, 400 hp (911 Carrera S '12-'16, Carrera 4S '13-'16, Targa 4S '14-'16, 911 50th Anniversary Edition coupe '14)
*B = 3.8L flat-6, 430 hp (911 Carrera GTS '15-'16, Carrera 4 GTS '15-'16, Targa 4 GTS '16)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 520 hp (911 Turbo '14-'16) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 560 hp (911 Turbo S '14-'16) (Coupe/Cabriolet)
*C = 3.8L flat-6, 475 hp (911 GT3 '14-'15) coupe
*F = 4.0L flat-6, 500 hp (911 GT3 RS '16, 911 R '16) coupe
Type 991.2:
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 370 hp (911 Carrera '17-'19, Carrera T '18-'19, Carrera 4 '17-'19, Targa 4 '17-'19)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 420 hp (911 Carrera S '17-'19, Carrera 4S '17-'19, Targa 4S '17-'19)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 450 hp (911 Carrera GTS '17-'19, Carrera 4 GTS '17-'19, Targa 4 GTS '17-'19)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 540 hp (911 Turbo '17-'19) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 580 hp (911 Turbo S '17-'19) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 607 hp (911 Turbo S Exclusive Series - Coupe '18, Cabriolet '19)
*C = 4.0L flat-6, 500 hp (911 GT3, GT3 Touring '18-'19) coupe
*F = 4.0L flat-6, 502 hp (911 Speedster '19)
*F = 4.0L flat-6, 520 hp (911 GT3 RS '19) coupe
*E = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 690 hp (911 GT2 RS '18-'19) coupe
Type 992:
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 379 hp (911 Carrera '20-'24, Carrera T '23-'24, Carrera 4 '20-'24, Targa 4 '21-'24)
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 388 hp (911 Carrera, Carrera T '25-, Carrera T Club Coupe '26)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 443 hp (911 Carrera S '20-'24, Carrera 4S '20-'24, Targa 4S '21-'24)
*H = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 473 hp (911 Carrera S '26-, Carrera 4S '26-, Targa 4S '26-)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 473 hp (911 Carrera GTS '22-'24, Carrera 4 GTS '22-'24, Targa 4 GTS '22-'24, Dakar coupe '23-'24)
*B = Hybrid: 3.6L turbo [[w:Intercooler|IC]] flat-6 + electric motor, Lithium-ion battery, 532 hp (911 Carrera GTS, Carrera 4 GTS, Targa 4 GTS '25-, 911 Spirit 70 cabriolet '26)
*G = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 543 hp (911 Sport Classic '23) coupe
*D = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 572 hp (911 Turbo '21-'25) (Coupe/Cabriolet)
*D = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 640 hp (911 Turbo S '21-'25) (Coupe/Cabriolet), (911 Turbo 50 Years coupe '25)
*D = Hybrid: 3.6L twin-turbo [[w:Intercooler|IC]] flat-6 + electric motor, Lithium-ion battery, 701 hp (911 Turbo S '26-) (Coupe/Cabriolet)
*C = 4.0L flat-6, 502 hp (911 GT3, GT3 Touring '22-'26) coupe
*F = 4.0L flat-6, 518 hp (911 GT3 RS '23-'25, 911 S/T '24) coupe
'''Carrera GT:'''
*A = 5.7L Porsche M80.01 68° V10, 605 hp (Carrera GT '04-'05)
'''918 Spyder:'''
*A = PHEV: 4.6L Porsche M18 flat-plane crank V8 + 2 electric motors (1 front, 1 rear), Lithium-ion battery, 887 total system hp (918 Spyder '15)
'''Panamera:'''
Type 970:
*A = 3.6L Porsche M46.20 (2wd)/M46.40 (4wd) 90° V6, 300 hp (Panamera, Panamera 4 '11-'13)
*A = 3.6L Porsche M46.20 (2wd)/M46.40 (4wd) 90° V6, 310 hp (Panamera, Panamera 4 '14-'16)
*D = HEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Nickel-metal hydride battery, 380 hp (Panamera S Hybrid '12-'13)
*D = PHEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Lithium-ion battery, 416 hp (Panamera S E-Hybrid '14-'16)
*B = 4.8L Porsche M48 V8, 400 hp (Panamera S, 4S '10-'13)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.60 90° V6, 420 hp (Panamera S, 4S '14-'16)
*F = 4.8L Porsche M48 V8, 430 hp (Panamera GTS '13)
*F = 4.8L Porsche M48 V8, 440 hp (Panamera GTS '14-'16)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Panamera Turbo '10-'13)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Panamera Turbo '14-'16)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Panamera Turbo S '12-'13)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 570 hp (Panamera Turbo S '15-'16)
Type 971 & 976:
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 330 hp (Panamera, Panamera 4 '17-'20)
*J = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 325 hp (Panamera, Panamera 4 '21-'23)
*A = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 348 hp (Panamera, Panamera 4 '24-)
*E = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 455 hp (Panamera 4 E-Hybrid '18-'23)
*E = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 463 hp (Panamera 4 E-Hybrid '25-)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 440 hp (Panamera 4S '17-'20)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 443 hp (Panamera 4S '21-'23)
*K = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 552 hp (Panamera 4S E-Hybrid '21-'23)
*C = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 536 hp (Panamera 4S E-Hybrid '25-)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 453 hp (Panamera GTS '19-'20)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 473 hp (Panamera GTS '21-'23)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 493 hp (Panamera GTS '25-)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 550 hp (Panamera Turbo '17-'20)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 620 hp (Panamera Turbo S '21-'23)
*F = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 670 hp (Panamera Turbo E-Hybrid '25-)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 680 hp (Panamera Turbo S E-Hybrid '18-'20)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 690 hp (Panamera Turbo S E-Hybrid '21-'23)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 771 hp (Panamera Turbo S E-Hybrid '25-)
'''Taycan:'''
*A = battery-electric, 1 rear motor, Rwd, 402 hp (71 Kwh battery) or 469 hp (83.7 Kwh battery) (Taycan '21-'24)
*A = battery-electric, 1 rear motor, Rwd, 402 hp (82.3 Kwh battery) or 429 hp (97 Kwh battery) (Taycan '25-)
*A = battery-electric, 2 motors, 4wd, 402 hp (82.3 Kwh battery) or 429 hp (97 Kwh battery) (Taycan 4 '25-)
*B = battery-electric, 2 motors, 4wd, 522 hp (71 Kwh battery) or 562 hp (83.7 Kwh battery) (Taycan 4S '20-'24)
*B = battery-electric, 2 motors, 4wd, 536 hp (82.3 Kwh battery) or 590 hp (97 Kwh battery) (Taycan 4S '25-)
*D = battery-electric, 2 motors, 4wd, 590 hp (83.7 Kwh battery) (Taycan GTS '22-'24)
*D = battery-electric, 2 motors, 4wd, 690 hp (97 Kwh battery) (Taycan GTS '25-)
*C = battery-electric, 2 motors, 4wd, 670 hp (83.7 Kwh battery) (Taycan Turbo '20-'24)
*C = battery-electric, 2 motors, 4wd, 750 hp (83.7 Kwh battery) (Taycan Turbo S '20-'24)
*C = battery-electric, 2 motors, 4wd, 871 hp (97 Kwh battery) (Taycan Turbo '25-)
*C = battery-electric, 2 motors, 4wd, 938 hp (97 Kwh battery) (Taycan Turbo S '25-)
*E = battery-electric, 2 motors, 4wd, 1019 hp (97 Kwh battery) (Taycan Turbo GT '25-)
'''Macan:'''
*A = 2.0L turbo [[w:Intercooler|IC]] Audi EA888T I4, 248 hp (Macan '17-'21)
*A = 2.0L turbo [[w:Intercooler|IC]] Audi EA888T I4, 261 hp (Macan '22-, Macan T '23-)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.30 90° V6, 340 hp (Macan S '15-'18)
*B = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 348 hp (Macan S '19-'21)
*G = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 375 hp (Macan S '22-)
*G = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.30 90° V6, 360 hp (Macan GTS '17-'18)
*G = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 375 hp (Macan GTS '20-'21)
*F = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Macan GTS '22-)
*F = 3.6L twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 400 hp (Macan Turbo '15-'18)
*F = 3.6L twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 440 hp (Macan Turbo w/Performance Package '17-'18)
*F = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Macan Turbo '20-'21)
'''Macan Electric:'''
*D = battery-electric, 1 rear motor, Rwd, 355 hp (95 Kwh battery) (Macan Electric '25-)
*A = battery-electric, 2 motors, 4wd, 402 hp (95 Kwh battery) (Macan Electric 4 '24-)
*B = battery-electric, 2 motors, 4wd, 509 hp (95 Kwh battery) (Macan Electric 4S '25-)
*E = battery-electric, 2 motors, 4wd, 563 hp (95 Kwh battery) (Macan Electric GTS '26-)
*C = battery-electric, 2 motors, 4wd, 630 hp (95 Kwh battery) (Macan Electric Turbo '24-)
'''Cayenne:'''
955/957 or 9PA:
*A = 3.2L (3189cc) VW EA390 15° VR6, 247 hp (Cayenne '04-'06)
*A = 3.6L (3598cc) VW EA390 10.6° FSI VR6, 290 hp (Cayenne '08-'10)
*B = 4.5L Porsche M48 V8, 340 hp (Cayenne S '03-'06, S Titanium Edition '06)
*B = 4.8L Porsche M48 V8, 385 hp (Cayenne S '08-'10)
*D = 4.8L Porsche M48 V8, 405 hp (Cayenne GTS '08-'10, S Transsyberia '10)
*C = 4.5L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 450 hp (Cayenne Turbo '03-'06)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Cayenne Turbo '08-'10)
*C = 4.5L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Cayenne Turbo S '06)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Cayenne Turbo S '09-'10)
958 or 92A:
*A = 3.6L (3598cc) VW EA390 10.6° VR6, 300 hp (Cayenne '11-'14, '16-'18)
*B = 4.8L Porsche M48 V8, 400 hp (Cayenne S '11-'14)
*B = 3.6L (3604cc) twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 420 hp (Cayenne S '15-'18)
*E = HEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Nickel-metal hydride battery, 380 hp (Cayenne S Hybrid '11-'14)
*E = PHEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Lithium-ion battery, 416 hp (Cayenne S E-Hybrid '15-'18)
*D = 4.8L Porsche M48 V8, 420 hp (Cayenne GTS '13-'14)
*D = 3.6L (3604cc) twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 440 hp (Cayenne GTS '16-'18)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Cayenne Turbo '11-'14)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Cayenne Turbo '15-'18)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Cayenne Turbo S '14)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 570 hp (Cayenne Turbo S '16-'18)
*F = 3.0L turbo [[w:Intercooler|IC]] Audi EA897 90° Diesel V6, 240 hp (Cayenne Diesel '13-'16)
9YA/9YB:
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 335 hp (Cayenne '19-'23)
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 348 hp (Cayenne '24-)
*E = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 455 hp (Cayenne E-Hybrid '19-'23)
*E = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 463 hp (Cayenne E-Hybrid '24-)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Cayenne S '19-'23)
*L = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 468 hp (Cayenne S '24-)
*N = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 512 hp (Cayenne S E-Hybrid '24-)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 453 hp (Cayenne GTS '21-'23)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 493 hp (Cayenne GTS '25-)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 541 hp (Cayenne Turbo '19-'23)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 670 hp (Cayenne Turbo S E-Hybrid '20-'23)
*M = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 729 hp (Cayenne Turbo E-Hybrid '24-)
*K = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 631 hp (Cayenne Coupe Turbo GT '22-'23)
*K = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 650 hp (Cayenne Coupe Turbo GT '24-)
'''Cayenne Electric:'''
*A = battery-electric, 2 motors, 4wd, 435 hp (108 Kwh battery) (Cayenne Electric '26-)
*D = battery-electric, 2 motors, 4wd, 1139 hp (108 Kwh battery) (Cayenne Electric Turbo '26-)
===Position 6, Restraint Systems:===
*1 = Seat Belts only
*2 = Passive Restraint System - Airbags (Driver and Passenger Front Airbags)
===Position 7-8, Vehicle Type Code===
{| class="wikitable"
|+Position 7
!VIN Pos. 7-8
!Complete Vehicle Type Code
!Model
!Type
|-
|92
|924
|924 (1981-1982 w/normally aspirated engine)
|924
|-
|93
|931
|924 Turbo (1981-1982)
|931
|-
|92
|924
|924S (1987-1988 w/normally aspirated engine)
|924
|-
|94
|944
|944 (1983-1991 w/normally aspirated engine)
|944
|-
|95
|951
|944 Turbo (1986-1989 & 1990 in Canada)
|951
|-
|96
|968
|968 (1992-1995)
|968
|-
|92
|928
|928 (1981-1995)
|928
|-
|98
|986
|Boxster (1997-2004)
|986
|-
|98
|987
|Boxster (2005-2009)/Cayman (2006-2009)
|987
|-
|A8
|A87
|Boxster (2010-2012)/Cayman (2010-2012)
|987
|-
|A8
|A81
|Boxster (2013-2016)/Cayman (2014-2016)
|981
|-
|A8
|A82
|718 Boxster/Cayman (2017-2025)
|982
|-
|91
|911
|911 (1981-1989 2wd w/normally aspirated engine)
|911
|-
|93
|930
|911 (1986-1989 911 Turbo)
|930
|-
|96
|964
|911 (1989-1994 Carrera 4, 1990-1994 Carrera 2, 1991-1994 Turbo)
|964
|-
|99
|993
|911 (1995-1998)
|993
|-
|99
|996
|911 (1999-2004)
|996
|-
|99
|997
|911 (2005-2009)
|997
|-
|A9
|A97
|911 (2010-2012)
|997
|-
|A9
|A91
|911 (2013-2019)
|991
|-
|A9
|A92
|911 (2020-)
|992
|-
|98
|980
|Carrera GT (2004-2005)
|980
|-
|A1
|A18
|918 Spyder (2015)
|918
|-
|A7
|A70
|Panamera (2010-2016)
|970
|-
|A7
|A71
|Panamera (2017-2023)
|971
|-
|YA
|
|Panamera (2024-)
|976
|-
|Y1
|Y1A
|Taycan (2020-)
|9J1 or <br> Y1A (sedan)/Y1B (Cross Turismo)/Y1C (Sport Turismo)
|-
|A5
|A5B
|Macan (2015-)
|95B
|-
|XA
|
|Macan Electric (2024-)
|XAB
|-
|9P
|9PA
|Cayenne (2003-2009)
|9PA
|-
|AP
|APA
|Cayenne (2010)
|9PA
|-
|A2
|A2A
|Cayenne (2011-2018)
|92A
|-
|AY
|AYA
|Cayenne (wagon: 2019-, coupe: 2020-)
|9YA (wagon)/9YB (coupe)
|-
|X1
|
|Cayenne Electric (2026-)
|E4
|}
===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:===
* S: Stuttgart-Zuffenhausen, Germany (includes: Type 937 - 924 Carrera GTS/GTR [N/A in US/Canada], a few late '91 944 S2 coupe & cabriolet [RoW-spec])
* L: Leipzig, Germany (Cayenne '03-'18, Carrera GT '04-'05, Panamera '10-, Macan '15-, Macan Electric '24-)
* D: Bratislava, Slovakia (VW plant - Cayenne '19-, Cayenne Electric '26-)
* K: Osnabrueck, Germany (ex-Karmann VW plant - Cayenne '16-'18, Boxster '13-15, Cayman '14-'16, 718 Boxster '24-'25, 718 Cayman '17-'18, '20-'21, '23-'25)
* N: Neckarsulm, Germany (Audi plant - 924, 944) (includes Type 937 - 924 Carrera GT [N/A in US/Canada])
* U: Uusikaupunki, Finland (Valmet plant - Boxster '98-'11, Cayman '06-'12)
Note: RoW=Rest of World (non-US/Canada markets)
===Position 12, 3rd Digit of Vehicle Type Code===
Note: Only applies to models with a 3-digit Vehicle Type Code. Models with a 2-digit Vehicle Type Code use pos. 12 for the serial number.
{| class="wikitable"
|+Position 12
!VIN Pos. 12
!Complete Vehicle Type Code
!Model
!Type
|-
|4
|924
|924 (1981-1982 w/normally aspirated engine)
|924
|-
|1
|931
|924 Turbo (1981-1982)
|931
|-
|4
|924
|924S (1987-1988 w/normally aspirated engine)
|924
|-
|4
|944
|944 (1983-1991 w/normally aspirated engine)
|944
|-
|1
|951
|944 Turbo (1986-1989 & 1990 in Canada)
|951
|-
|8
|968
|968 (1992-1995)
|968
|-
|8
|928
|928 (1981-1995)
|928
|-
|6
|986
|Boxster (1997-2004)
|986
|-
|7
|987
|Boxster (2005-2009)/Cayman (2006-2009)
|987
|-
|7
|A87
|Boxster (2010-2012)/Cayman (2010-2012)
|987
|-
|1
|A81
|Boxster (2013-2016)/Cayman (2014-2016)
|981
|-
|2
|A82
|718 Boxster/Cayman (2017-2025)
|982
|-
|1
|911
|911 (1981-1989 2wd w/normally aspirated engine)
|911
|-
|0
|930
|911 (1986-1989 911 Turbo)
|930
|-
|4
|964
|911 (1989-1994 Carrera 4, 1990-1994 Carrera 2, 1991-1994 Turbo)
|964
|-
|3
|993
|911 (1995-1998)
|993
|-
|6
|996
|911 (1999-2004)
|996
|-
|7
|997
|911 (2005-2009)
|997
|-
|7
|A97
|911 (2010-2012)
|997
|-
|1
|A91
|911 (2013-2019)
|991
|-
|2
|A92
|911 (2020-)
|992
|-
|0
|980
|Carrera GT (2004-2005)
|980
|-
|8
|A18
|918 Spyder (2015)
|918
|-
|0
|A70
|Panamera (2010-2016)
|970
|-
|1
|A71
|Panamera (2017-2023)
|971
|-
|A
|Y1A
|Taycan (2020-)
|9J1 or <br> Y1A (sedan)/Y1B (Cross Turismo)/Y1C (Sport Turismo)
|-
|B
|A5B
|Macan (2015-)
|95B
|-
|A
|9PA
|Cayenne (2003-2009)
|9PA
|-
|A
|APA
|Cayenne (2010)
|9PA
|-
|A
|A2A
|Cayenne (2011-2018)
|92A
|-
|A
|AYA
|Cayenne (wagon: 2019-, coupe: 2020-)
|9YA (wagon)/9YB (coupe)
|}
'''Positions 12–17 or 13–17, Serial Number'''
{{BookCat}}
qlmd6wr1qsj5oqxr3eurmak952s3mvv
4634690
4634689
2026-05-07T22:31:30Z
JustTheFacts33
3434282
/* Position 4, Body Style: */
4634690
wikitext
text/x-wiki
===Positions 1–3, World Manufacturer Identifier:===
* WP0 - Porsche passenger car
* WP1 - Porsche SUV
===Position 4, Body Style:===
'''924:'''
* A = Coupe
'''944:'''
* A = Coupe
* B = Cabriolet (1989 only)
* C = Cabriolet (1990-1991)
'''968/Boxster/Cayman/718:'''
* A = Coupe
* C = Cabriolet
'''928:'''
* J = Coupe (1981-1990)
* A = Coupe (1991-1995)
'''911:'''
* A = Coupe (Except Type 930 Turbo coupe)
* B = Targa (911 - Type 964/996/997/991/992)
* C = Cabriolet (911 - Type 964/993/996/997/991/992) or Speedster (Type 964/997/991) or Roadster (Type 964)
* D = Targa (911 - Type 993)
* E = Targa or Cabriolet (911 [1981-1989] or 911 Turbo - Type 930 [1987-1989]) or Speedster (911 - 1989)
* J = Turbo Coupe (911 - Type 930 [US: 1986-1989, Canada: 1981-1989])
'''Carrera GT / 918 Spyder:'''
* C = Cabriolet
'''Panamera / Taycan:'''
* A = sedan (SWB)
* B = LWB sedan (Panamera Executive) or Cross Turismo (Taycan)
* C = Sport Turismo
'''Macan / Cayenne:'''
* A = SUV (wagon)
* B = Coupe-styled SUV (Cayenne Coupe or Cayenne Electric Coupe)
===Position 5, Engine:===
'''924:'''
Type 924:
*A = 2.0L SOHC 8-valve Audi EA831 I4, 110 hp (924 '81-'82)
Type 931:
*A = 2.0L turbo SOHC 8-valve Audi EA831 I4, 154 hp (924 Turbo '81-'82)
Type 924:
*A = 2.5L SOHC 8-valve Porsche M44 I4, 147 hp (924S '87)
*A = 2.5L SOHC 8-valve Porsche M44 I4, 158 hp (924S '88)
'''944:'''
Type 944:
*A = 2.5L SOHC 8-valve Porsche M44 I4, 143 hp (944 [base model] '83-'86)
*B = 2.5L SOHC 8-valve Porsche M44 I4, 147 hp (944 [base model] '87)
*B = 2.5L SOHC 8-valve Porsche M44 I4, 158 hp (944 [base model] '88)
*A = 2.5L DOHC 16-valve Porsche M44 I4, 188 hp (944S '87-'88)
*A = 2.7L SOHC 8-valve Porsche M44 I4, 163 hp (944 [base model] '89)
*B = 3.0L DOHC 16-valve Porsche M44 I4, 208 hp (944 S2 '89 [coupe only], '90-'91 [coupe & cabriolet])
*A = 3.0L DOHC 16-valve Porsche M44 I4, 208 hp (944 S2 '89 [cabriolet only])
Type 951:
*A = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.51 I4, 217 hp (944 Turbo '86-'88)
*A = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.52 I4, 247 hp (944 Turbo S '88, Turbo '89)
*C = 2.5L turbo [[w:Intercooler|IC]] SOHC 8-valve Porsche M44.52 I4, 247 hp (944 Turbo '90 [Canada only])
'''968:'''
*A = 3.0L DOHC 16-valve Porsche M44 I4, 236 hp ('92-'95)
'''928:'''
*A = 4.5L SOHC 16-valve Porsche M28 V8, 220 hp (928 '81-'82)
*B = 4.7L SOHC 16-valve Porsche M28 V8, 234 hp (928 S '83-'84)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 288 hp (928 S '85-'86)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 316 hp (928 S4 '87-'90)
*B = 5.0L DOHC 32-valve Porsche M28 V8, 326 hp (928 GT '89-'90)
*A = 5.0L DOHC 32-valve Porsche M28 V8, 316 hp (928 S4 '91)
*A = 5.0L DOHC 32-valve Porsche M28 V8, 326 hp (928 GT '91)
*A = 5.4L DOHC 32-valve Porsche M28 V8, 345 hp (928 GTS '93-'95)
'''Boxster/Cayman:'''
Type 986:
*A = 2.5L flat-6, 201 hp (Boxster '97-'99)
*A = 2.7L flat-6, 217 hp (Boxster '00-'02)
*A = 2.7L flat-6, 225 hp (Boxster '03-'04)
*B = 3.2L flat-6, 250 hp (Boxster S '00-'02)
*B = 3.2L flat-6, 258 hp (Boxster S '03-'04)
*B = 3.2L flat-6, 264 hp (Boxster S 50 Years of the 550 Spyder Anniversary Edition '04)
Type 987:
*A = 2.7L flat-6, 240 hp (Boxster '05-'06)
*A = 2.7L flat-6, 245 hp (Boxster '07-'08, Limited Edition '08), 245 hp (Cayman '07-'08)
*A = 2.9L flat-6, 255 hp (Boxster '09-'12), 265 hp (Cayman '09-'12)
*B = 3.2L flat-6, 280 hp (Boxster S '05-'06)
*B = 3.4L flat-6, 295 hp (Boxster S '07-'08, S Limited Edition '08), 295 hp (Cayman S '06-'08)
*B = 3.4L flat-6, 310 hp (Boxster S '09-'12), 320 hp (Cayman S '09-'12)
*B = 3.4L flat-6, 303 hp (Boxster S Porsche Design Edition 2 '08, RS 60 Spyder '08), 303 hp (Cayman S Sport '08)
*B = 3.4L flat-6, 320 hp (Boxster S Black Edition '12, Spyder '11-'12), 330 hp (Cayman S Black Edition '12, Cayman R '12)
Type 981:
*A = 2.7L flat-6, 265 hp (Boxster '13-'16, Boxster Black Edition '16), 275 hp (Cayman '14-'16)
*B = 3.4L flat-6, 315 hp (Boxster S '13-'16), 325 hp (Cayman S '14-'16)
*B = 3.4L flat-6, 330 hp (Boxster GTS '15-'16), 340 hp (Cayman GTS '15-'16)
*C = 3.8L flat-6, 375 hp (Boxster Spyder '16), 385 hp (Cayman GT4 '16)
'''718 Boxster/Cayman:'''
Type 982:
*A = 2.0L turbo [[w:Intercooler|IC]] flat-4, 300 hp <br> (718 Boxster '17-'25, 718 Boxster T '20-'23, 718 Boxster Style Edition '24-'25, 718 Cayman '17-'25, 718 Cayman T '20-'23, 718 Cayman Style Edition '24-'25)
*B = 2.5L turbo [[w:Intercooler|IC]] flat-4, 350 hp (718 Boxster S, 718 Cayman S '17-'25)
*B = 2.5L turbo [[w:Intercooler|IC]] flat-4, 365 hp (718 Boxster GTS, 718 Cayman GTS '18-'19)
*D = 4.0L flat-6, 394 hp (718 Boxster GTS 4.0 '21-'25, 718 Boxster 25 Years '21, 718 Cayman GTS 4.0 '21-'25)
*C = 4.0L flat-6, 414 hp (718 Spyder, 718 Cayman GT4 '20-'23)
*E = 4.0L flat-6, 493 hp (718 Spyder RS '24-'25, 718 Cayman GT4 RS '23-'25)
'''911:'''
Type 911: (G-Series body)
*B = 3.0L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/16), 172 hp (911 SC Coupe/Targa '81-'83, Cabriolet '83)
*B = 3.2L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/21), 200 hp (911 Carrera '84-'86)
*B = 3.2L SOHC 12-valve air-cooled flat-6 (Engine ID: 930/25), 214 hp (911 Carrera '87-'89, Club Sport '88-'89, Speedster '89)
Type 930: (G-Series body)
*A = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled flat-6 (Engine ID: 930/60 ['81-'82], 930/66 ['83-'87]), 296 hp (911 Turbo Canada: '81-'87)<br> (Coupe: '81-'87, Targa/Cabriolet: '87)
*B = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled flat-6 (Engine ID: 930/68), 282 hp (911 Turbo US: '86-'89, Canada '88-'89) (Coupe: '86-'89, Targa/Cabriolet: '87-'89) regular or slant-nose
Type 964:
*B = 3.6L SOHC 12-valve air-cooled M64 flat-6, 247 hp (911 Carrera 2 '90-'94, Targa '90-'94, 911 America Roadster '92-'93, RS America '93-'94, Speedster '94,<br> Carrera 4 '89-'94, Carrera 4 Widebody Coupe '94, Carrera 4 Targa '90-'93)
*B = 3.6L SOHC 12-valve air-cooled M64 flat-6, 256 hp (911 Carrera Cup USA Edition '92) coupe
*A = 3.3L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M30 flat-6, 315 hp (911 Turbo '91-'92) coupe
*C = 3.6L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 355 hp (911 Turbo 3.6 '94) coupe
*C = 3.6L turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 380 hp (911 Turbo S 3.6 '94) coupe, flat-nose coupe
Type 993:
*A = 3.6L SOHC 12-valve air-cooled M64 flat-6, 270 hp (911 Carrera '95, Carrera 4 '95)
*A = 3.6L SOHC 12-valve air-cooled M64 flat-6, 282 hp (911 Carrera '96-'98, Targa '96-'98, Carrera S '97-'98, Carrera 4 '96-'98, Carrera 4S '96-'98)
*C = 3.6L twin-turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 400 hp (911 Turbo '96-'97) coupe
*C = 3.6L twin-turbo [[w:Intercooler|IC]] SOHC 12-valve air-cooled M64 flat-6, 424 hp (911 Turbo S '97) coupe
Type 996:
*A = 3.4L DOHC 24-valve water-cooled flat-6, 296 hp (911 Carrera '99, Carrera 4 '99)
*A = 3.4L flat-6, 300 hp (911 Carrera '00-'01, Carrera 4 '00-'01)
*A = 3.6L flat-6, 320 hp (911 Carrera '02-'04, Carrera Cabriolet '05, Targa '02-'05, Carrera 4 '02-'04, Carrera 4S '03-'05)
*A = 3.6L flat-6, 345 hp (911 Carrera 40th Anniversary Edition '04) coupe
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 415 hp (911 Turbo '01-'05) (Coupe: '01-'05, Cabriolet: '04-'05)
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 444 hp (911 Turbo S '05) (Coupe/Cabriolet)
*C = 3.6L flat-6, 381 hp (911 GT3 '04-'05) coupe
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 456 hp (911 GT2 '02-'03) coupe
*B = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 477 hp (911 GT2 '04) coupe
Type 997:
*A = 3.6L flat-6, 325 hp (911 Carrera '05-'08, Carrera 4 '06-'08, Targa 4 '07-'08)
*A = 3.6L flat-6, 345 hp (911 Carrera '09-'12, Carrera Black Edition coupe/cabriolet '12, Carrera 4 '09-'12, Targa 4 '09-'12)
*B = 3.8L flat-6, 355 hp (911 Carrera S '05-'08, Carrera 4S '06-'08, Targa 4S '07-'08)
*B = 3.8L flat-6, 385 hp (911 Carrera S '09-'12, Carrera 4S '09-'12, Targa 4S '09-'12)
*B = 3.8L flat-6, 381 hp (911 Carrera S Club Coupe '06)
*B = 3.8L flat-6, 408 hp (911 Carrera GTS '11-'12, Carrera 4 GTS '12, Speedster '11)
*D = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 480 hp (911 Turbo '07-'09) (Coupe: '07-'09, Cabriolet: '08-'09)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 500 hp (911 Turbo '10-'13) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 530 hp (911 Turbo S '11-'13) (Coupe/Cabriolet), (911 Turbo S Cabriolet Edition 918 Spyder '12)
*C = 3.6L flat-6, 415 hp (911 GT3 '07-'08) coupe
*C = 3.8L flat-6, 435 hp (911 GT3 '10-'11) coupe
*C = 3.6L flat-6, 415 hp (911 GT3 RS '07-'08) coupe
*C = 3.8L flat-6, 450 hp (911 GT3 RS '10-'11) coupe
*F = 4.0L flat-6, 500 hp (911 GT3 RS 4.0 '11) coupe
*D = 3.6L twin-turbo [[w:Intercooler|IC]] flat-6, 530 hp (911 GT2 '08-'09) coupe
*E = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 620 hp (911 GT2 RS '11) coupe
Type 991.1:
*A = 3.4L flat-6, 350 hp (911 Carrera '12-'16, Carrera 4 '13-'16, Targa 4 '14-'16)
*B = 3.8L flat-6, 400 hp (911 Carrera S '12-'16, Carrera 4S '13-'16, Targa 4S '14-'16, 911 50th Anniversary Edition coupe '14)
*B = 3.8L flat-6, 430 hp (911 Carrera GTS '15-'16, Carrera 4 GTS '15-'16, Targa 4 GTS '16)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 520 hp (911 Turbo '14-'16) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 560 hp (911 Turbo S '14-'16) (Coupe/Cabriolet)
*C = 3.8L flat-6, 475 hp (911 GT3 '14-'15) coupe
*F = 4.0L flat-6, 500 hp (911 GT3 RS '16, 911 R '16) coupe
Type 991.2:
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 370 hp (911 Carrera '17-'19, Carrera T '18-'19, Carrera 4 '17-'19, Targa 4 '17-'19)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 420 hp (911 Carrera S '17-'19, Carrera 4S '17-'19, Targa 4S '17-'19)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 450 hp (911 Carrera GTS '17-'19, Carrera 4 GTS '17-'19, Targa 4 GTS '17-'19)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 540 hp (911 Turbo '17-'19) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 580 hp (911 Turbo S '17-'19) (Coupe/Cabriolet)
*D = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 607 hp (911 Turbo S Exclusive Series - Coupe '18, Cabriolet '19)
*C = 4.0L flat-6, 500 hp (911 GT3, GT3 Touring '18-'19) coupe
*F = 4.0L flat-6, 502 hp (911 Speedster '19)
*F = 4.0L flat-6, 520 hp (911 GT3 RS '19) coupe
*E = 3.8L twin-turbo [[w:Intercooler|IC]] flat-6, 690 hp (911 GT2 RS '18-'19) coupe
Type 992:
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 379 hp (911 Carrera '20-'24, Carrera T '23-'24, Carrera 4 '20-'24, Targa 4 '21-'24)
*A = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 388 hp (911 Carrera, Carrera T '25-, Carrera T Club Coupe '26)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 443 hp (911 Carrera S '20-'24, Carrera 4S '20-'24, Targa 4S '21-'24)
*H = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 473 hp (911 Carrera S '26-, Carrera 4S '26-, Targa 4S '26-)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] flat-6, 473 hp (911 Carrera GTS '22-'24, Carrera 4 GTS '22-'24, Targa 4 GTS '22-'24, Dakar coupe '23-'24)
*B = Hybrid: 3.6L turbo [[w:Intercooler|IC]] flat-6 + electric motor, Lithium-ion battery, 532 hp (911 Carrera GTS, Carrera 4 GTS, Targa 4 GTS '25-, 911 Spirit 70 cabriolet '26)
*G = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 543 hp (911 Sport Classic '23) coupe
*D = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 572 hp (911 Turbo '21-'25) (Coupe/Cabriolet)
*D = 3.7L twin-turbo [[w:Intercooler|IC]] flat-6, 640 hp (911 Turbo S '21-'25) (Coupe/Cabriolet), (911 Turbo 50 Years coupe '25)
*D = Hybrid: 3.6L twin-turbo [[w:Intercooler|IC]] flat-6 + electric motor, Lithium-ion battery, 701 hp (911 Turbo S '26-) (Coupe/Cabriolet)
*C = 4.0L flat-6, 502 hp (911 GT3, GT3 Touring '22-'26) coupe
*F = 4.0L flat-6, 518 hp (911 GT3 RS '23-'25, 911 S/T '24) coupe
'''Carrera GT:'''
*A = 5.7L Porsche M80.01 68° V10, 605 hp (Carrera GT '04-'05)
'''918 Spyder:'''
*A = PHEV: 4.6L Porsche M18 flat-plane crank V8 + 2 electric motors (1 front, 1 rear), Lithium-ion battery, 887 total system hp (918 Spyder '15)
'''Panamera:'''
Type 970:
*A = 3.6L Porsche M46.20 (2wd)/M46.40 (4wd) 90° V6, 300 hp (Panamera, Panamera 4 '11-'13)
*A = 3.6L Porsche M46.20 (2wd)/M46.40 (4wd) 90° V6, 310 hp (Panamera, Panamera 4 '14-'16)
*D = HEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Nickel-metal hydride battery, 380 hp (Panamera S Hybrid '12-'13)
*D = PHEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Lithium-ion battery, 416 hp (Panamera S E-Hybrid '14-'16)
*B = 4.8L Porsche M48 V8, 400 hp (Panamera S, 4S '10-'13)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.60 90° V6, 420 hp (Panamera S, 4S '14-'16)
*F = 4.8L Porsche M48 V8, 430 hp (Panamera GTS '13)
*F = 4.8L Porsche M48 V8, 440 hp (Panamera GTS '14-'16)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Panamera Turbo '10-'13)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Panamera Turbo '14-'16)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Panamera Turbo S '12-'13)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 570 hp (Panamera Turbo S '15-'16)
Type 971 & 976:
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 330 hp (Panamera, Panamera 4 '17-'20)
*J = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 325 hp (Panamera, Panamera 4 '21-'23)
*A = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 348 hp (Panamera, Panamera 4 '24-)
*E = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 455 hp (Panamera 4 E-Hybrid '18-'23)
*E = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 463 hp (Panamera 4 E-Hybrid '25-)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 440 hp (Panamera 4S '17-'20)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 443 hp (Panamera 4S '21-'23)
*K = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 552 hp (Panamera 4S E-Hybrid '21-'23)
*C = PHEV: 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6 + electric motor, Lithium-ion battery, 536 hp (Panamera 4S E-Hybrid '25-)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 453 hp (Panamera GTS '19-'20)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 473 hp (Panamera GTS '21-'23)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 493 hp (Panamera GTS '25-)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 550 hp (Panamera Turbo '17-'20)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 620 hp (Panamera Turbo S '21-'23)
*F = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 670 hp (Panamera Turbo E-Hybrid '25-)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 680 hp (Panamera Turbo S E-Hybrid '18-'20)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 690 hp (Panamera Turbo S E-Hybrid '21-'23)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 771 hp (Panamera Turbo S E-Hybrid '25-)
'''Taycan:'''
*A = battery-electric, 1 rear motor, Rwd, 402 hp (71 Kwh battery) or 469 hp (83.7 Kwh battery) (Taycan '21-'24)
*A = battery-electric, 1 rear motor, Rwd, 402 hp (82.3 Kwh battery) or 429 hp (97 Kwh battery) (Taycan '25-)
*A = battery-electric, 2 motors, 4wd, 402 hp (82.3 Kwh battery) or 429 hp (97 Kwh battery) (Taycan 4 '25-)
*B = battery-electric, 2 motors, 4wd, 522 hp (71 Kwh battery) or 562 hp (83.7 Kwh battery) (Taycan 4S '20-'24)
*B = battery-electric, 2 motors, 4wd, 536 hp (82.3 Kwh battery) or 590 hp (97 Kwh battery) (Taycan 4S '25-)
*D = battery-electric, 2 motors, 4wd, 590 hp (83.7 Kwh battery) (Taycan GTS '22-'24)
*D = battery-electric, 2 motors, 4wd, 690 hp (97 Kwh battery) (Taycan GTS '25-)
*C = battery-electric, 2 motors, 4wd, 670 hp (83.7 Kwh battery) (Taycan Turbo '20-'24)
*C = battery-electric, 2 motors, 4wd, 750 hp (83.7 Kwh battery) (Taycan Turbo S '20-'24)
*C = battery-electric, 2 motors, 4wd, 871 hp (97 Kwh battery) (Taycan Turbo '25-)
*C = battery-electric, 2 motors, 4wd, 938 hp (97 Kwh battery) (Taycan Turbo S '25-)
*E = battery-electric, 2 motors, 4wd, 1019 hp (97 Kwh battery) (Taycan Turbo GT '25-)
'''Macan:'''
*A = 2.0L turbo [[w:Intercooler|IC]] Audi EA888T I4, 248 hp (Macan '17-'21)
*A = 2.0L turbo [[w:Intercooler|IC]] Audi EA888T I4, 261 hp (Macan '22-, Macan T '23-)
*B = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.30 90° V6, 340 hp (Macan S '15-'18)
*B = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 348 hp (Macan S '19-'21)
*G = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 375 hp (Macan S '22-)
*G = 3.0L twin-turbo [[w:Intercooler|IC]] Porsche M46.30 90° V6, 360 hp (Macan GTS '17-'18)
*G = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 375 hp (Macan GTS '20-'21)
*F = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Macan GTS '22-)
*F = 3.6L twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 400 hp (Macan Turbo '15-'18)
*F = 3.6L twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 440 hp (Macan Turbo w/Performance Package '17-'18)
*F = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Macan Turbo '20-'21)
'''Macan Electric:'''
*D = battery-electric, 1 rear motor, Rwd, 355 hp (95 Kwh battery) (Macan Electric '25-)
*A = battery-electric, 2 motors, 4wd, 402 hp (95 Kwh battery) (Macan Electric 4 '24-)
*B = battery-electric, 2 motors, 4wd, 509 hp (95 Kwh battery) (Macan Electric 4S '25-)
*E = battery-electric, 2 motors, 4wd, 563 hp (95 Kwh battery) (Macan Electric GTS '26-)
*C = battery-electric, 2 motors, 4wd, 630 hp (95 Kwh battery) (Macan Electric Turbo '24-)
'''Cayenne:'''
955/957 or 9PA:
*A = 3.2L (3189cc) VW EA390 15° VR6, 247 hp (Cayenne '04-'06)
*A = 3.6L (3598cc) VW EA390 10.6° FSI VR6, 290 hp (Cayenne '08-'10)
*B = 4.5L Porsche M48 V8, 340 hp (Cayenne S '03-'06, S Titanium Edition '06)
*B = 4.8L Porsche M48 V8, 385 hp (Cayenne S '08-'10)
*D = 4.8L Porsche M48 V8, 405 hp (Cayenne GTS '08-'10, S Transsyberia '10)
*C = 4.5L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 450 hp (Cayenne Turbo '03-'06)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Cayenne Turbo '08-'10)
*C = 4.5L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Cayenne Turbo S '06)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Cayenne Turbo S '09-'10)
958 or 92A:
*A = 3.6L (3598cc) VW EA390 10.6° VR6, 300 hp (Cayenne '11-'14, '16-'18)
*B = 4.8L Porsche M48 V8, 400 hp (Cayenne S '11-'14)
*B = 3.6L (3604cc) twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 420 hp (Cayenne S '15-'18)
*E = HEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Nickel-metal hydride battery, 380 hp (Cayenne S Hybrid '11-'14)
*E = PHEV: 3.0L supercharged [[w:Intercooler|IC]] Audi EA837 90° V6 + electric motor, Lithium-ion battery, 416 hp (Cayenne S E-Hybrid '15-'18)
*D = 4.8L Porsche M48 V8, 420 hp (Cayenne GTS '13-'14)
*D = 3.6L (3604cc) twin-turbo [[w:Intercooler|IC]] Porsche M46.35 90° V6, 440 hp (Cayenne GTS '16-'18)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 500 hp (Cayenne Turbo '11-'14)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 520 hp (Cayenne Turbo '15-'18)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 550 hp (Cayenne Turbo S '14)
*C = 4.8L twin-turbo [[w:Intercooler|IC]] Porsche M48 V8, 570 hp (Cayenne Turbo S '16-'18)
*F = 3.0L turbo [[w:Intercooler|IC]] Audi EA897 90° Diesel V6, 240 hp (Cayenne Diesel '13-'16)
9YA/9YB:
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 335 hp (Cayenne '19-'23)
*A = 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6, 348 hp (Cayenne '24-)
*E = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 455 hp (Cayenne E-Hybrid '19-'23)
*E = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 463 hp (Cayenne E-Hybrid '24-)
*B = 2.9L twin-turbo [[w:Intercooler|IC]] Audi-Porsche EA839TT 90° V6, 434 hp (Cayenne S '19-'23)
*L = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 468 hp (Cayenne S '24-)
*N = PHEV: 3.0L turbo [[w:Intercooler|IC]] Audi-Porsche EA839T 90° V6 + electric motor, Lithium-ion battery, 512 hp (Cayenne S E-Hybrid '24-)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 453 hp (Cayenne GTS '21-'23)
*G = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 493 hp (Cayenne GTS '25-)
*F = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 541 hp (Cayenne Turbo '19-'23)
*H = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 670 hp (Cayenne Turbo S E-Hybrid '20-'23)
*M = PHEV: 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8 + electric motor, Lithium-ion battery, 729 hp (Cayenne Turbo E-Hybrid '24-)
*K = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 631 hp (Cayenne Coupe Turbo GT '22-'23)
*K = 4.0L twin-turbo [[w:Intercooler|IC]] Porsche-Audi EA825TT V8, 650 hp (Cayenne Coupe Turbo GT '24-)
'''Cayenne Electric:'''
*A = battery-electric, 2 motors, 4wd, 435 hp (108 Kwh battery) (Cayenne Electric '26-)
*D = battery-electric, 2 motors, 4wd, 1139 hp (108 Kwh battery) (Cayenne Electric Turbo '26-)
===Position 6, Restraint Systems:===
*1 = Seat Belts only
*2 = Passive Restraint System - Airbags (Driver and Passenger Front Airbags)
===Position 7-8, Vehicle Type Code===
{| class="wikitable"
|+Position 7
!VIN Pos. 7-8
!Complete Vehicle Type Code
!Model
!Type
|-
|92
|924
|924 (1981-1982 w/normally aspirated engine)
|924
|-
|93
|931
|924 Turbo (1981-1982)
|931
|-
|92
|924
|924S (1987-1988 w/normally aspirated engine)
|924
|-
|94
|944
|944 (1983-1991 w/normally aspirated engine)
|944
|-
|95
|951
|944 Turbo (1986-1989 & 1990 in Canada)
|951
|-
|96
|968
|968 (1992-1995)
|968
|-
|92
|928
|928 (1981-1995)
|928
|-
|98
|986
|Boxster (1997-2004)
|986
|-
|98
|987
|Boxster (2005-2009)/Cayman (2006-2009)
|987
|-
|A8
|A87
|Boxster (2010-2012)/Cayman (2010-2012)
|987
|-
|A8
|A81
|Boxster (2013-2016)/Cayman (2014-2016)
|981
|-
|A8
|A82
|718 Boxster/Cayman (2017-2025)
|982
|-
|91
|911
|911 (1981-1989 2wd w/normally aspirated engine)
|911
|-
|93
|930
|911 (1986-1989 911 Turbo)
|930
|-
|96
|964
|911 (1989-1994 Carrera 4, 1990-1994 Carrera 2, 1991-1994 Turbo)
|964
|-
|99
|993
|911 (1995-1998)
|993
|-
|99
|996
|911 (1999-2004)
|996
|-
|99
|997
|911 (2005-2009)
|997
|-
|A9
|A97
|911 (2010-2012)
|997
|-
|A9
|A91
|911 (2013-2019)
|991
|-
|A9
|A92
|911 (2020-)
|992
|-
|98
|980
|Carrera GT (2004-2005)
|980
|-
|A1
|A18
|918 Spyder (2015)
|918
|-
|A7
|A70
|Panamera (2010-2016)
|970
|-
|A7
|A71
|Panamera (2017-2023)
|971
|-
|YA
|
|Panamera (2024-)
|976
|-
|Y1
|Y1A
|Taycan (2020-)
|9J1 or <br> Y1A (sedan)/Y1B (Cross Turismo)/Y1C (Sport Turismo)
|-
|A5
|A5B
|Macan (2015-)
|95B
|-
|XA
|
|Macan Electric (2024-)
|XAB
|-
|9P
|9PA
|Cayenne (2003-2009)
|9PA
|-
|AP
|APA
|Cayenne (2010)
|9PA
|-
|A2
|A2A
|Cayenne (2011-2018)
|92A
|-
|AY
|AYA
|Cayenne (wagon: 2019-, coupe: 2020-)
|9YA (wagon)/9YB (coupe)
|-
|X1
|
|Cayenne Electric (2026-)
|E4
|}
===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:===
* S: Stuttgart-Zuffenhausen, Germany (includes: Type 937 - 924 Carrera GTS/GTR [N/A in US/Canada], a few late '91 944 S2 coupe & cabriolet [RoW-spec])
* L: Leipzig, Germany (Cayenne '03-'18, Carrera GT '04-'05, Panamera '10-, Macan '15-, Macan Electric '24-)
* D: Bratislava, Slovakia (VW plant - Cayenne '19-, Cayenne Electric '26-)
* K: Osnabrueck, Germany (ex-Karmann VW plant - Cayenne '16-'18, Boxster '13-15, Cayman '14-'16, 718 Boxster '24-'25, 718 Cayman '17-'18, '20-'21, '23-'25)
* N: Neckarsulm, Germany (Audi plant - 924, 944) (includes Type 937 - 924 Carrera GT [N/A in US/Canada])
* U: Uusikaupunki, Finland (Valmet plant - Boxster '98-'11, Cayman '06-'12)
Note: RoW=Rest of World (non-US/Canada markets)
===Position 12, 3rd Digit of Vehicle Type Code===
Note: Only applies to models with a 3-digit Vehicle Type Code. Models with a 2-digit Vehicle Type Code use pos. 12 for the serial number.
{| class="wikitable"
|+Position 12
!VIN Pos. 12
!Complete Vehicle Type Code
!Model
!Type
|-
|4
|924
|924 (1981-1982 w/normally aspirated engine)
|924
|-
|1
|931
|924 Turbo (1981-1982)
|931
|-
|4
|924
|924S (1987-1988 w/normally aspirated engine)
|924
|-
|4
|944
|944 (1983-1991 w/normally aspirated engine)
|944
|-
|1
|951
|944 Turbo (1986-1989 & 1990 in Canada)
|951
|-
|8
|968
|968 (1992-1995)
|968
|-
|8
|928
|928 (1981-1995)
|928
|-
|6
|986
|Boxster (1997-2004)
|986
|-
|7
|987
|Boxster (2005-2009)/Cayman (2006-2009)
|987
|-
|7
|A87
|Boxster (2010-2012)/Cayman (2010-2012)
|987
|-
|1
|A81
|Boxster (2013-2016)/Cayman (2014-2016)
|981
|-
|2
|A82
|718 Boxster/Cayman (2017-2025)
|982
|-
|1
|911
|911 (1981-1989 2wd w/normally aspirated engine)
|911
|-
|0
|930
|911 (1986-1989 911 Turbo)
|930
|-
|4
|964
|911 (1989-1994 Carrera 4, 1990-1994 Carrera 2, 1991-1994 Turbo)
|964
|-
|3
|993
|911 (1995-1998)
|993
|-
|6
|996
|911 (1999-2004)
|996
|-
|7
|997
|911 (2005-2009)
|997
|-
|7
|A97
|911 (2010-2012)
|997
|-
|1
|A91
|911 (2013-2019)
|991
|-
|2
|A92
|911 (2020-)
|992
|-
|0
|980
|Carrera GT (2004-2005)
|980
|-
|8
|A18
|918 Spyder (2015)
|918
|-
|0
|A70
|Panamera (2010-2016)
|970
|-
|1
|A71
|Panamera (2017-2023)
|971
|-
|A
|Y1A
|Taycan (2020-)
|9J1 or <br> Y1A (sedan)/Y1B (Cross Turismo)/Y1C (Sport Turismo)
|-
|B
|A5B
|Macan (2015-)
|95B
|-
|A
|9PA
|Cayenne (2003-2009)
|9PA
|-
|A
|APA
|Cayenne (2010)
|9PA
|-
|A
|A2A
|Cayenne (2011-2018)
|92A
|-
|A
|AYA
|Cayenne (wagon: 2019-, coupe: 2020-)
|9YA (wagon)/9YB (coupe)
|}
'''Positions 12–17 or 13–17, Serial Number'''
{{BookCat}}
12krpjlu4um8zhfxo2xeyle9ouxplkm
Chess Variants/Infinite Chess
0
482812
4634736
4632212
2026-05-08T07:10:53Z
Sammy2012
3074780
/* History */
4634736
wikitext
text/x-wiki
[[File:Infinite chess.png|thumb|Starting position of the most basic version of infinite chess]]
== Introduction ==
'''Infinite Chess''' refers to a family of chess variants played on a board of infinite size.
== History ==
Standard chess is played on a board of eight by eight squares, but the history of chess includes chess variants played on boards of many sizes. For example, the game of [[Chess Variants/Courier Chess|Courier chess]], played in Germany in the 12th century, was played on a board of 12 by 8 squares, and the medieval game of Tamerlane chess was played on a board of 10 by 11 squares. In addition, the many variants of shogi, the Japanese cousin of chess, were played on board of varying sizes - the largest of these being taikyoku shōgi, which was played in the mid-16th century and features a 36 by 36 board with 402 pieces per player.
The basic idea of chess on an infinite board has been proposed several times throughout the 20th and early 21st centuries. The first known reference to such a variant was by Hungarian mathematician Dénes Kőnig in 1927 - in an essay about the graph theory theorem now known as Kőnig's lemma, Kőnig included a footnote about a variant of chess played on an infinite board.
Several other people proposed different version of infinite chess over the following decades, both as a model for mathematical study and an actual, playable game. Most recently, Internet user Naviary created an online version of infinite chess in 2022.
== Rules ==
As its name suggests, infinite chess is played on a board that is unbounded and stretches infinitely in all directions. The infinite size of the board makes algebraic notation untenable, so squares are instead labelled using an XY coordinate system - for example, in the diagram above the white king starts on square (-3, 1).
There are many different versions of infinite chess, which mainly differ in the exact movement of the pieces and which exact pieces are used. This page will cover four of the most notable versions.
=== Kőnig's infinite chess ===
As already stated above, this was the first version of infinite chess as proposed by Dénes Kőnig. Rules are the same of the standard game with one exception - the rooks, bishops and queen can only move up to seven squares in one move.
=== Converse's infinite chess ===
This version of infinite chess was proposed by Tim Converse of the University of Chicago, although the exact years of the variant's proposal is unknown. Unlike Kőnig's variant, the bishops, rooks and queen are allowed to move as many squares as they want provided there are no obstructions in their path.
=== Ji's infinite chess ===
Chinese chess player Jianying Ji proposed this version of infinite chess in December 2000. Compared to Converse's variant it makes three changes to the rules:
# The knights are replaced with nightriders. The nightrider moves like a knight, but it may keep making knight jumps in the same direction until it reaches an obstacle.
# A pawn promotes when it reaches a rank beyond which there are no enemy pieces.
# After a piece moves, the player must be able to draw an 8 by 8 square of squares which contains both the piece they moved and at least one enemy piece. If they cannot do this, the move is illegal.
=== Chess on an infinite plane ===
[[File:Chess on an Infinite Plane (starting setup of pieces).png|thumb|326x326px|Starting position of chess on an infinite plane]]
Proposed by one V. Reinhart in 2017, chess on an infinite plane is one of the more complex versions of infinite chess. Unlike other infinite chess variants it does not reuse the standard game's opening setup - it instead adds additional pieces for both variety and to hopefully give one player enough material to force a checkmate in the endgame. Additional pawns are also added - some of these are position in special rearward formations called "jäger units" that can create the threat of additional promoted pieces.
The variant includes two each of the following new pieces:
* Chancellor - combines the move of the rook and the knight. It can slide forward, backward or sideays like a rook or jump like a knight, but not both in one move.
* Guard - moves like a king, but is not royal and can capture and be captured just like any other piece.
* Hawk - jumps two or three squares forward, backward, sideways or diagonally.
The pawns promote at rank 8 (for White) and rank 1 (for Black). There is also no castling for 50-move rule.
All other rules are the same as the standard game.
== Sub-variants ==
Chess on an infinite plane has two major sub-variants:
* '''Trappist-1''' adds a new piece called the huygens. The huygens may jump X squares forward, backward or sideways, where X may be any prime number larger than three. They are initially positioned to protect the rearmost pawns in the jäger units.
* '''Formation chess''' grants each player a large number of knights, usually twelve or more. If four knights join together into a 2x2 square formation, they gain the collective ability to move as a queen. The formation must stop if it reaches an obstacle, and it that obstacle is an enemy piece the formation may capture that piece, but no others. If the formation is broken up or one knight is captured, the other three knights immediately resume their normal movement powers.
{{BookCat}}
kum1zh7ze5rtgcbtpry4fhouy86s6e3
User talk:SHE-LOVES-BRIAN
3
483121
4634711
4634492
2026-05-08T02:33:54Z
Kittycataclysm
3371989
/* Welcome to the Cookbook */ Reply
4634711
wikitext
text/x-wiki
== Welcome to the Cookbook ==
{{mbox
| type =
| image = [[File:Foodlogo2.svg|40px]]
| imageright =
| style =
| textstyle =
| text = Hello and thank you for your recent contribution to the [[Cookbook:Table of Contents|Wikibooks Cookbook]]! When adding to the Cookbook, please make sure all content conforms to [[Cookbook:Policy|Cookbook policy]], including the [[Cookbook:Manual of Style|manual of style]] and standard page templates. Feel free to let me know if you need any help or have any questions! {{#ifeq: |||<br>'''Additional details:''' }}
| small =
| smallimage =
| smallimageright =
| smalltext =
}}
—[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:43, 4 May 2026 (UTC)
:thank you [[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] ([[User talk:SHE-LOVES-BRIAN|discuss]] • [[Special:Contributions/SHE-LOVES-BRIAN|contribs]]) 14:13, 5 May 2026 (UTC)
::@[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] I notice that you are rapidly adding many recipes, but so far they don't meet the cookbook requirements—could you please fix these recipes before adding more? Let me know if you have questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:50, 5 May 2026 (UTC)
:can you pls give me an example of the requirements or where i made a mistake [[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] ([[User talk:SHE-LOVES-BRIAN|discuss]] • [[Special:Contributions/SHE-LOVES-BRIAN|contribs]]) 11:21, 6 May 2026 (UTC)
::@[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] I have noted the problems with each recipe in the box at the top of its page, and the requirements are all described at [[Cookbook:Manual of Style]] and [[Cookbook:Policy/Recipe template]]. You will need to fix the recipes, but I can help you with one of them to help you understand what I mean. One of the most important things you're missing is quantities, since these are needed for someone to replicate the recipe. Could you start by adding quantities to [[Cookbook:Nigerian Miyan Giyada]], and I can then help with the formatting? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:50, 6 May 2026 (UTC)
:::@[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] thank you for adding the quantities to [[Cookbook:Nigerian Miyan Giyada]]—I reviewed it and [[Special:Diff/4634710|made the minimum required cookbook formatting adjustments]] for you to use as a reference. However, the recipe is still incomplete for reasons I listed in the box at the top of the page. Additionally, I see that you are still adding new recipes with similar problems as the existing incomplete ones. Please complete all the recipes before continuing to add new ones. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:33, 8 May 2026 (UTC)
9d55l69a7vga9txcg7nsinj304skq2m
Cookbook:Nigerian Ila Alasepo
102
483145
4634717
4634361
2026-05-08T02:48:26Z
SHB2000
3332924
SHB2000 moved page [[Cookbook:Nigerian ILA ALASEPO]] to [[Cookbook:Nigerian Ila Alasepo]] without leaving a redirect
4634361
wikitext
text/x-wiki
{{Incomplete recipe|reason=formatting errors, excessive capitalization, missing quantities, missing categories, missing template, missing appropriate linking, ingredients not in order}}
Ila alasepo is a traditional Nigerian soup popular among the [[Yoruba]] people of southwestern Nigeria.
It is an okra-based soup made with chopped or blended okra, cooked together with palm oil, assorted meats, fish, and local spices. The name “ila alasẹpo” loosely means “okra mixed together,” reflecting how all the ingredients are combined in one pot.
The soup has a slightly slippery texture, which is characteristic of okra dishes, and a rich, [[Cookbook:Savory|savory]] taste. It is usually eaten with swallows like [[Cookbook:Amala Ọgẹdẹ (Nigerian Plantain Fufu)|amala]], [[Cookbook:Eba (Cassava Flake Swallow)|eba]], or [[Cookbook:Pounded Yam|pounded yam]], making it a common and well-loved meal in many Yoruba homes.
== INGREDIENTS ==
* [[File:Okro soup with beef and Seafoods.jpg|thumb]][[Cookbook:Okra|Fresh okra]]
* [[Cookbook:Palm Oil|Palm oil]]
* [[Cookbook:Meat|Assorted meats (beef, goat meat)]]
* [[Cookbook:Fish|Fish (fresh or dry)]]
* Stockfish (optional)
* Ground crayfish
* [[Cookbook:Pepper|Pepper (Scotch bonnet)]]
* [[Cookbook:Onion|Onions]]
* Seasoning cubes
* [[Cookbook:Salt|Salt]]
== PROCEDURE ==
# '''Prepare the okra''' Wash and chop or grate the okra into small pieces.
# '''Cook the meat and fish''' Season assorted meats and fish with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
# '''Add palm oil''' Pour palm oil into the pot of cooked meat and allow it to heat.
# '''Add pepper and crayfish''' Stir in pepper and ground crayfish for flavor.
# '''Add the okra''' Add the chopped okra and stir well.
# '''Cook briefly''' Allow it to cook for a few minutes (do not overcook, so it keeps its texture).
# '''Adjust seasoning''' Taste and add salt or seasoning if needed.
# '''Serve hot''' Serve with swallows like amala, eba, or pounded yam.
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-8
| Time = 30 MINUTES
| Difficulty = 2
}}
5lu4vaqhzmg384r57hll1inmjrflf1j
4634718
4634717
2026-05-08T02:48:51Z
SHB2000
3332924
4634718
wikitext
text/x-wiki
{{Incomplete recipe|reason=formatting errors, excessive capitalization, missing quantities, missing categories, missing template, missing appropriate linking, ingredients not in order}}
Ila alasepo is a traditional Nigerian soup popular among the [[Yoruba]] people of southwestern Nigeria.
It is an okra-based soup made with chopped or blended okra, cooked together with palm oil, assorted meats, fish, and local spices. The name “ila alasẹpo” loosely means “okra mixed together,” reflecting how all the ingredients are combined in one pot.
The soup has a slightly slippery texture, which is characteristic of okra dishes, and a rich, [[Cookbook:Savory|savory]] taste. It is usually eaten with swallows like [[Cookbook:Amala Ọgẹdẹ (Nigerian Plantain Fufu)|amala]], [[Cookbook:Eba (Cassava Flake Swallow)|eba]], or [[Cookbook:Pounded Yam|pounded yam]], making it a common and well-loved meal in many Yoruba homes.
== Ingredients ==
* [[File:Okro soup with beef and Seafoods.jpg|thumb]][[Cookbook:Okra|Fresh okra]]
* [[Cookbook:Palm Oil|Palm oil]]
* [[Cookbook:Meat|Assorted meats (beef, goat meat)]]
* [[Cookbook:Fish|Fish (fresh or dry)]]
* Stockfish (optional)
* Ground crayfish
* [[Cookbook:Pepper|Pepper (Scotch bonnet)]]
* [[Cookbook:Onion|Onions]]
* Seasoning cubes
* [[Cookbook:Salt|Salt]]
== Procedure ==
# '''Prepare the okra''' Wash and chop or grate the okra into small pieces.
# '''Cook the meat and fish''' Season assorted meats and fish with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
# '''Add palm oil''' Pour palm oil into the pot of cooked meat and allow it to heat.
# '''Add pepper and crayfish''' Stir in pepper and ground crayfish for flavor.
# '''Add the okra''' Add the chopped okra and stir well.
# '''Cook briefly''' Allow it to cook for a few minutes (do not overcook, so it keeps its texture).
# '''Adjust seasoning''' Taste and add salt or seasoning if needed.
# '''Serve hot''' Serve with swallows like amala, eba, or pounded yam.
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-8
| Time = 30 MINUTES
| Difficulty = 2
}}
m4pojwoy9pfnuztlp0bfgpgocouo208
4634719
4634718
2026-05-08T02:49:17Z
SHB2000
3332924
/* Procedure */
4634719
wikitext
text/x-wiki
{{Incomplete recipe|reason=formatting errors, excessive capitalization, missing quantities, missing categories, missing template, missing appropriate linking, ingredients not in order}}
Ila alasepo is a traditional Nigerian soup popular among the [[Yoruba]] people of southwestern Nigeria.
It is an okra-based soup made with chopped or blended okra, cooked together with palm oil, assorted meats, fish, and local spices. The name “ila alasẹpo” loosely means “okra mixed together,” reflecting how all the ingredients are combined in one pot.
The soup has a slightly slippery texture, which is characteristic of okra dishes, and a rich, [[Cookbook:Savory|savory]] taste. It is usually eaten with swallows like [[Cookbook:Amala Ọgẹdẹ (Nigerian Plantain Fufu)|amala]], [[Cookbook:Eba (Cassava Flake Swallow)|eba]], or [[Cookbook:Pounded Yam|pounded yam]], making it a common and well-loved meal in many Yoruba homes.
== Ingredients ==
* [[File:Okro soup with beef and Seafoods.jpg|thumb]][[Cookbook:Okra|Fresh okra]]
* [[Cookbook:Palm Oil|Palm oil]]
* [[Cookbook:Meat|Assorted meats (beef, goat meat)]]
* [[Cookbook:Fish|Fish (fresh or dry)]]
* Stockfish (optional)
* Ground crayfish
* [[Cookbook:Pepper|Pepper (Scotch bonnet)]]
* [[Cookbook:Onion|Onions]]
* Seasoning cubes
* [[Cookbook:Salt|Salt]]
== Procedure ==
# '''Prepare the okra''' Wash and chop or grate the okra into small pieces.
# '''Cook the meat and fish''' Season assorted meats and fish with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
# '''Add palm oil''' Pour palm oil into the pot of cooked meat and allow it to heat.
# '''Add pepper and crayfish''' Stir in pepper and ground crayfish for flavor.
# '''Add the okra''' Add the chopped okra and stir well.
# '''Cook briefly''' Allow it to cook for a few minutes (do not overcook, so it keeps its texture).
# '''Adjust seasoning''' Taste and add salt or seasoning if needed.
# '''Serve hot''' Serve with swallows like amala, eba, or pounded yam.
{{Recipe summary
| Category = Dinner recipe
| Cuisine = Nigerian
| Servings = 4-8
| Time = 30 minutes
| Difficulty = 2
}}
o0ehix2h3v3q7xeaxaslllokze4iehn
Cookbook:Nigerian Miyan Zogale
102
483146
4634720
4634360
2026-05-08T02:51:01Z
SHB2000
3332924
/* INGREDIENTS */
4634720
wikitext
text/x-wiki
{{Incomplete recipe|reason=formatting errors, excessive capitalization, missing quantities, missing categories, missing template, ingredients not in order}}
Miyan zogale is a traditional Nigerian soup popular in northern Nigeria, especially among the Hausa people.
It is made mainly from '''moringa leaves (zogale)''', which are highly nutritious and known for their health benefits. The soup is cooked with ingredients like groundnut paste, spices, and sometimes meat or fish, giving it a rich, slightly nutty flavor.
Miyan zogale has a light but hearty texture and is usually served with northern swallows like tuwo (such as [[Cookbook:Tuwo Shinkafa (Nigerian Mashed Rice)|tuwo shinkafa]] [[Cookbook:Tuwon Dawa (Nigerian Sorghum Swallow)|Tuwo dawa]]). It is valued not only for its taste but also for its nutritional value, making it a common and important meal in many northern Nigerian homes.
== Ingredients ==
* [[Cookbook:Moringa|Fresh moringa leaves]] (zogale)
* [[Cookbook:Groundnut|Groundnut paste]] (peanut paste)
* [[Cookbook:Meat|Meat or fish]] (optional)
* [[Cookbook:Onion|Onions]]
* [[Cookbook:Pepper|Pepper]]
* [[Cookbook:Herbs and Spices|Seasoning cubes]]
* [[Cookbook:Salt|Salt]]
* [[Cookbook:Palm Oil|Palm oil or vegetable oil]]
== PROCEDURE ==
* '''Prepare the moringa leaves''' Wash the fresh moringa leaves thoroughly and set aside.
* '''Cook the meat or fish''' Season with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
* '''Add groundnut paste''' Add groundnut paste to the pot and allow it to dissolve and cook in the stock.
* '''Add oil and pepper''' Add palm oil or vegetable oil, along with pepper, and stir well.
* '''Add the moringa leaves''' Put in the moringa leaves and mix gently.
* '''Cook briefly''' Allow it to cook for a few minutes so the leaves soften but remain green.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve with tuwo such as tuwo shinkafa or tuwo dawa.
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 2-4
| Time = 40 MINUTES
| Difficulty = 2
}}
n04zu6euuzmvyvmyf5mm3dhc2g94zu7
4634721
4634720
2026-05-08T02:51:10Z
SHB2000
3332924
/* PROCEDURE */
4634721
wikitext
text/x-wiki
{{Incomplete recipe|reason=formatting errors, excessive capitalization, missing quantities, missing categories, missing template, ingredients not in order}}
Miyan zogale is a traditional Nigerian soup popular in northern Nigeria, especially among the Hausa people.
It is made mainly from '''moringa leaves (zogale)''', which are highly nutritious and known for their health benefits. The soup is cooked with ingredients like groundnut paste, spices, and sometimes meat or fish, giving it a rich, slightly nutty flavor.
Miyan zogale has a light but hearty texture and is usually served with northern swallows like tuwo (such as [[Cookbook:Tuwo Shinkafa (Nigerian Mashed Rice)|tuwo shinkafa]] [[Cookbook:Tuwon Dawa (Nigerian Sorghum Swallow)|Tuwo dawa]]). It is valued not only for its taste but also for its nutritional value, making it a common and important meal in many northern Nigerian homes.
== Ingredients ==
* [[Cookbook:Moringa|Fresh moringa leaves]] (zogale)
* [[Cookbook:Groundnut|Groundnut paste]] (peanut paste)
* [[Cookbook:Meat|Meat or fish]] (optional)
* [[Cookbook:Onion|Onions]]
* [[Cookbook:Pepper|Pepper]]
* [[Cookbook:Herbs and Spices|Seasoning cubes]]
* [[Cookbook:Salt|Salt]]
* [[Cookbook:Palm Oil|Palm oil or vegetable oil]]
== Procedure ==
* '''Prepare the moringa leaves''' Wash the fresh moringa leaves thoroughly and set aside.
* '''Cook the meat or fish''' Season with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
* '''Add groundnut paste''' Add groundnut paste to the pot and allow it to dissolve and cook in the stock.
* '''Add oil and pepper''' Add palm oil or vegetable oil, along with pepper, and stir well.
* '''Add the moringa leaves''' Put in the moringa leaves and mix gently.
* '''Cook briefly''' Allow it to cook for a few minutes so the leaves soften but remain green.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve with tuwo such as tuwo shinkafa or tuwo dawa.
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 2-4
| Time = 40 MINUTES
| Difficulty = 2
}}
45x7ud68gesojpvz2xd45tj39lmuvi5
4634722
4634721
2026-05-08T02:51:25Z
SHB2000
3332924
/* Procedure */
4634722
wikitext
text/x-wiki
{{Incomplete recipe|reason=formatting errors, excessive capitalization, missing quantities, missing categories, missing template, ingredients not in order}}
Miyan zogale is a traditional Nigerian soup popular in northern Nigeria, especially among the Hausa people.
It is made mainly from '''moringa leaves (zogale)''', which are highly nutritious and known for their health benefits. The soup is cooked with ingredients like groundnut paste, spices, and sometimes meat or fish, giving it a rich, slightly nutty flavor.
Miyan zogale has a light but hearty texture and is usually served with northern swallows like tuwo (such as [[Cookbook:Tuwo Shinkafa (Nigerian Mashed Rice)|tuwo shinkafa]] [[Cookbook:Tuwon Dawa (Nigerian Sorghum Swallow)|Tuwo dawa]]). It is valued not only for its taste but also for its nutritional value, making it a common and important meal in many northern Nigerian homes.
== Ingredients ==
* [[Cookbook:Moringa|Fresh moringa leaves]] (zogale)
* [[Cookbook:Groundnut|Groundnut paste]] (peanut paste)
* [[Cookbook:Meat|Meat or fish]] (optional)
* [[Cookbook:Onion|Onions]]
* [[Cookbook:Pepper|Pepper]]
* [[Cookbook:Herbs and Spices|Seasoning cubes]]
* [[Cookbook:Salt|Salt]]
* [[Cookbook:Palm Oil|Palm oil or vegetable oil]]
== Procedure ==
* '''Prepare the moringa leaves''' Wash the fresh moringa leaves thoroughly and set aside.
* '''Cook the meat or fish''' Season with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
* '''Add groundnut paste''' Add groundnut paste to the pot and allow it to dissolve and cook in the stock.
* '''Add oil and pepper''' Add palm oil or vegetable oil, along with pepper, and stir well.
* '''Add the moringa leaves''' Put in the moringa leaves and mix gently.
* '''Cook briefly''' Allow it to cook for a few minutes so the leaves soften but remain green.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve with tuwo such as tuwo shinkafa or tuwo dawa.
{{Recipe summary
| Category = Dinner recipes
| Cuisine = Nigerian
| Servings = 2-4
| Time = 40 minutes
| Difficulty = 2
}}
4oprzllxulf17jpwtujt65e4y4ql5gt
4634723
4634722
2026-05-08T02:51:42Z
SHB2000
3332924
SHB2000 moved page [[Cookbook:NIGERIAN MIYAN ZOGALE]] to [[Cookbook:Nigerian Miyan Zogale]] without leaving a redirect
4634722
wikitext
text/x-wiki
{{Incomplete recipe|reason=formatting errors, excessive capitalization, missing quantities, missing categories, missing template, ingredients not in order}}
Miyan zogale is a traditional Nigerian soup popular in northern Nigeria, especially among the Hausa people.
It is made mainly from '''moringa leaves (zogale)''', which are highly nutritious and known for their health benefits. The soup is cooked with ingredients like groundnut paste, spices, and sometimes meat or fish, giving it a rich, slightly nutty flavor.
Miyan zogale has a light but hearty texture and is usually served with northern swallows like tuwo (such as [[Cookbook:Tuwo Shinkafa (Nigerian Mashed Rice)|tuwo shinkafa]] [[Cookbook:Tuwon Dawa (Nigerian Sorghum Swallow)|Tuwo dawa]]). It is valued not only for its taste but also for its nutritional value, making it a common and important meal in many northern Nigerian homes.
== Ingredients ==
* [[Cookbook:Moringa|Fresh moringa leaves]] (zogale)
* [[Cookbook:Groundnut|Groundnut paste]] (peanut paste)
* [[Cookbook:Meat|Meat or fish]] (optional)
* [[Cookbook:Onion|Onions]]
* [[Cookbook:Pepper|Pepper]]
* [[Cookbook:Herbs and Spices|Seasoning cubes]]
* [[Cookbook:Salt|Salt]]
* [[Cookbook:Palm Oil|Palm oil or vegetable oil]]
== Procedure ==
* '''Prepare the moringa leaves''' Wash the fresh moringa leaves thoroughly and set aside.
* '''Cook the meat or fish''' Season with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
* '''Add groundnut paste''' Add groundnut paste to the pot and allow it to dissolve and cook in the stock.
* '''Add oil and pepper''' Add palm oil or vegetable oil, along with pepper, and stir well.
* '''Add the moringa leaves''' Put in the moringa leaves and mix gently.
* '''Cook briefly''' Allow it to cook for a few minutes so the leaves soften but remain green.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve with tuwo such as tuwo shinkafa or tuwo dawa.
{{Recipe summary
| Category = Dinner recipes
| Cuisine = Nigerian
| Servings = 2-4
| Time = 40 minutes
| Difficulty = 2
}}
4oprzllxulf17jpwtujt65e4y4ql5gt
Cookbook:Nigerian Miyan Giyada
102
483151
4634710
4634634
2026-05-08T02:25:44Z
Kittycataclysm
3371989
minimum formatting requirements but still incomplete
4634710
wikitext
text/x-wiki
{{Recipe summary
| Cuisine = Nigerian
| Difficulty = 3
}}{{Incomplete recipe|reason=tomatoes aren't included in the procedure, missing some instructions}}
{{Recipe}}
Miyan gyada is a traditional Nigerian soup popular in northern Nigeria, especially among the Hausa people.
It is made from groundnuts (peanuts), which are blended into a paste and cooked to form a rich, creamy [[Cookbook:Soup|soup]]. The dish is usually prepared with meat or fish, vegetables, and local spices, giving it a deep, nutty flavor.
Miyan gyada has a thick, smooth texture and is highly nutritious and filling. It is commonly served with northern swallows like tuwo shinkafa or tuwo dawa and is an important part of northern Nigerian cuisine.
== Ingredients ==
* 500 g [[Cookbook:Meat|meat]] or [[Cookbook:Fish|fish]]
* 1 medium [[Cookbook:Onion|onion]]
* 2 [[Cookbook:Dehydrated Broth|seasoning cubes]]
* [[Cookbook:Salt|Salt]] to taste
* 2 [[Cookbook:Cup|cups]] [[Cookbook:Peanut|groundnuts/peanuts]] or groundnut paste
* 3–4 [[Cookbook:Scotch Bonnet Chile|Scotch bonnet peppers]]
* 2–3 [[Cookbook:Tablespoon|tablespoons]] [[Cookbook:Palm Oil|palm oil]] or [[Cookbook:Vegetable Oil|vegetable oil]]
* 2 cups leafy vegetables (e.g. [[Cookbook:Spinach|spinach]] or [[Cookbook:Fluted Pumpkin|ugu]] leaf)
* 4–5 cups water or meat [[Cookbook:Broth and Stock|stock]]
* 2 medium [[Cookbook:Tomato|tomatoes]] (optional)
== Procedure ==
# Season with onions, salt, and seasoning cubes, then [[Cookbook:Boiling|boil]] until tender. Keep the stock.
# Blend groundnuts (or use ready paste) until smooth.
# Add the paste into the pot and allow it to cook, stirring to prevent burning.
# Add pepper and a little palm oil or vegetable oil, then mix well.
# Add your leafy vegetables and stir.
# Allow the soup to cook until it thickens and oil begins to rise to the top. The soup should be thick, creamy, and rich with a nutty flavor.
# Taste and add salt or seasoning if needed.
# Serve with swallows like tuwo shinkafa or Tuwo dawa.
[[Category:Recipes for soup]]
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Recipes using fish]]
[[Category:Recipes using onion]]
[[Category:Recipes using dehydrated broth]]
[[Category:Recipes using salt]]
[[Category:Recipes using peanut]]
[[Category:Recipes using chile]]
[[Category:Recipes using spinach]]
[[Category:Recipes using fluted pumpkin]]
[[Category:Recipes using tomato]]
az93z3wc7t9khtupu7nup05d7kbwklj
Cookbook:Nigerian Ukpo Ogede
102
483160
4634728
4634496
2026-05-08T02:53:55Z
SHB2000
3332924
SHB2000 moved page [[Cookbook:NIGERIAN UKPO OGEDE]] to [[Cookbook:Nigerian Ukpo Ogede]] without leaving a redirect
4634496
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing quantities, excessive capitalization, missing categories, missing header template}}
Ukpo ogede is a traditional Nigerian dish popular among the Igbo people of southeastern Nigeria.
It is made from ripe [[Cookbook:Plantain|plantains]] that are mashed or blended into a smooth paste, then mixed with ingredients like [[Cookbook:Palm Oil|palm oil]], [[Cookbook:Herbs and Spices|pepper, onions]], and sometimes fish or crayfish. The mixture is wrapped in leaves (such as banana leaves) or placed in containers and steamed until it becomes firm.
Ukpo ogede has a soft, moist texture and a slightly sweet, savory taste due to the ripe plantain. It is often eaten as a main meal or snack and is valued for its rich flavor and traditional preparation method.
== INGREDIENTS ==
[[File:Plantain Moin Moin.jpg|thumb]]
The main ingredients for Ukpo ogede include:
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Palm oil]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Ground crayfish]]
* [[Cookbook:Ingredients|Fish (fresh or dry) or meat (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
* [[Cookbook:Ingredients|Leaves (banana leaves) or nylon for wrapping]]
{{Recipe summary
| Category = Snack recipes
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 1 Hour
| Difficulty = 3
}}
These ingredients give it its soft texture and rich, slightly sweet and savory flavor.
== INGREDIENTS ==
# '''Prepare the plantains''' Peel the ripe plantains and mash or blend them into a smooth paste.
# '''Mix ingredients''' Add palm oil, chopped onions, pepper, ground crayfish, seasoning cubes, and salt. Mix well.
# '''Add protein (optional)''' Add pieces of fish or meat and combine thoroughly.
# '''Prepare wrapping''' Wash banana leaves (or use nylon) and get them ready for wrapping.
# '''Wrap the mixture''' Scoop portions of the mixture into the leaves and wrap securely.
# '''Steam''' Place the wraps in a pot with a little water and steam for about 45–60 minutes.
# '''Check doneness''' It should be firm and well-cooked through.
# '''Serve''' Serve hot as a meal or snack.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Cookbook]]
jqs0v87wncznsuojmsb69c682x6phrz
4634729
4634728
2026-05-08T02:54:26Z
SHB2000
3332924
/* INGREDIENTS */
4634729
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing quantities, excessive capitalization, missing categories, missing header template}}
Ukpo ogede is a traditional Nigerian dish popular among the Igbo people of southeastern Nigeria.
It is made from ripe [[Cookbook:Plantain|plantains]] that are mashed or blended into a smooth paste, then mixed with ingredients like [[Cookbook:Palm Oil|palm oil]], [[Cookbook:Herbs and Spices|pepper, onions]], and sometimes fish or crayfish. The mixture is wrapped in leaves (such as banana leaves) or placed in containers and steamed until it becomes firm.
Ukpo ogede has a soft, moist texture and a slightly sweet, savory taste due to the ripe plantain. It is often eaten as a main meal or snack and is valued for its rich flavor and traditional preparation method.
== Ingredients ==
[[File:Plantain Moin Moin.jpg|thumb]]
The main ingredients for Ukpo ogede include:
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Palm oil]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Ground crayfish]]
* [[Cookbook:Ingredients|Fish (fresh or dry) or meat (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
* [[Cookbook:Ingredients|Leaves (banana leaves) or nylon for wrapping]]
{{Recipe summary
| Category = Snack recipes
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 1 Hour
| Difficulty = 3
}}
These ingredients give it its soft texture and rich, slightly sweet and savory flavor.
== INGREDIENTS ==
# '''Prepare the plantains''' Peel the ripe plantains and mash or blend them into a smooth paste.
# '''Mix ingredients''' Add palm oil, chopped onions, pepper, ground crayfish, seasoning cubes, and salt. Mix well.
# '''Add protein (optional)''' Add pieces of fish or meat and combine thoroughly.
# '''Prepare wrapping''' Wash banana leaves (or use nylon) and get them ready for wrapping.
# '''Wrap the mixture''' Scoop portions of the mixture into the leaves and wrap securely.
# '''Steam''' Place the wraps in a pot with a little water and steam for about 45–60 minutes.
# '''Check doneness''' It should be firm and well-cooked through.
# '''Serve''' Serve hot as a meal or snack.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Cookbook]]
ld3sr6dh4vugbf4yp0v0wt2fd9fzbvf
4634730
4634729
2026-05-08T02:54:38Z
SHB2000
3332924
/* Ingredients */
4634730
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing quantities, excessive capitalization, missing categories, missing header template}}
Ukpo ogede is a traditional Nigerian dish popular among the Igbo people of southeastern Nigeria.
It is made from ripe [[Cookbook:Plantain|plantains]] that are mashed or blended into a smooth paste, then mixed with ingredients like [[Cookbook:Palm Oil|palm oil]], [[Cookbook:Herbs and Spices|pepper, onions]], and sometimes fish or crayfish. The mixture is wrapped in leaves (such as banana leaves) or placed in containers and steamed until it becomes firm.
Ukpo ogede has a soft, moist texture and a slightly sweet, savory taste due to the ripe plantain. It is often eaten as a main meal or snack and is valued for its rich flavor and traditional preparation method.
== Ingredients ==
[[File:Plantain Moin Moin.jpg|thumb]]
The main ingredients for Ukpo ogede include:
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Palm oil]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Ground crayfish]]
* [[Cookbook:Ingredients|Fish (fresh or dry) or meat (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
* [[Cookbook:Ingredients|Leaves (banana leaves) or nylon for wrapping]]
{{Recipe summary
| Category = Snack recipes
| Cuisine = Nigerian
| Servings = 4-6
| Time = 1 hour
| Difficulty = 3
}}
These ingredients give it its soft texture and rich, slightly sweet and savory flavor.
== INGREDIENTS ==
# '''Prepare the plantains''' Peel the ripe plantains and mash or blend them into a smooth paste.
# '''Mix ingredients''' Add palm oil, chopped onions, pepper, ground crayfish, seasoning cubes, and salt. Mix well.
# '''Add protein (optional)''' Add pieces of fish or meat and combine thoroughly.
# '''Prepare wrapping''' Wash banana leaves (or use nylon) and get them ready for wrapping.
# '''Wrap the mixture''' Scoop portions of the mixture into the leaves and wrap securely.
# '''Steam''' Place the wraps in a pot with a little water and steam for about 45–60 minutes.
# '''Check doneness''' It should be firm and well-cooked through.
# '''Serve''' Serve hot as a meal or snack.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Cookbook]]
bcxq10ysltdkvyn12j691j1exc9z3rx
4634731
4634730
2026-05-08T02:54:55Z
SHB2000
3332924
/* Ingredients */ ce
4634731
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing quantities, excessive capitalization, missing categories, missing header template}}
Ukpo ogede is a traditional Nigerian dish popular among the Igbo people of southeastern Nigeria.
It is made from ripe [[Cookbook:Plantain|plantains]] that are mashed or blended into a smooth paste, then mixed with ingredients like [[Cookbook:Palm Oil|palm oil]], [[Cookbook:Herbs and Spices|pepper, onions]], and sometimes fish or crayfish. The mixture is wrapped in leaves (such as banana leaves) or placed in containers and steamed until it becomes firm.
Ukpo ogede has a soft, moist texture and a slightly sweet, savory taste due to the ripe plantain. It is often eaten as a main meal or snack and is valued for its rich flavor and traditional preparation method.
== Ingredients ==
[[File:Plantain Moin Moin.jpg|thumb]]
The main ingredients for Ukpo ogede include:
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Palm oil]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Ground crayfish]]
* [[Cookbook:Ingredients|Fish (fresh or dry) or meat (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
* [[Cookbook:Ingredients|Leaves (banana leaves) or nylon for wrapping]]
{{Recipe summary
| Category = Snack recipes
| Cuisine = Nigerian
| Servings = 4-6
| Time = 1 hour
| Difficulty = 3
}}
These ingredients give it a soft texture and rich, slightly sweet and savory flavor.
== INGREDIENTS ==
# '''Prepare the plantains''' Peel the ripe plantains and mash or blend them into a smooth paste.
# '''Mix ingredients''' Add palm oil, chopped onions, pepper, ground crayfish, seasoning cubes, and salt. Mix well.
# '''Add protein (optional)''' Add pieces of fish or meat and combine thoroughly.
# '''Prepare wrapping''' Wash banana leaves (or use nylon) and get them ready for wrapping.
# '''Wrap the mixture''' Scoop portions of the mixture into the leaves and wrap securely.
# '''Steam''' Place the wraps in a pot with a little water and steam for about 45–60 minutes.
# '''Check doneness''' It should be firm and well-cooked through.
# '''Serve''' Serve hot as a meal or snack.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Cookbook]]
0ic0uzn34ppowiau6aktx60336gxova
4634732
4634731
2026-05-08T02:55:05Z
SHB2000
3332924
/* INGREDIENTS */
4634732
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing quantities, excessive capitalization, missing categories, missing header template}}
Ukpo ogede is a traditional Nigerian dish popular among the Igbo people of southeastern Nigeria.
It is made from ripe [[Cookbook:Plantain|plantains]] that are mashed or blended into a smooth paste, then mixed with ingredients like [[Cookbook:Palm Oil|palm oil]], [[Cookbook:Herbs and Spices|pepper, onions]], and sometimes fish or crayfish. The mixture is wrapped in leaves (such as banana leaves) or placed in containers and steamed until it becomes firm.
Ukpo ogede has a soft, moist texture and a slightly sweet, savory taste due to the ripe plantain. It is often eaten as a main meal or snack and is valued for its rich flavor and traditional preparation method.
== Ingredients ==
[[File:Plantain Moin Moin.jpg|thumb]]
The main ingredients for Ukpo ogede include:
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Palm oil]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Ground crayfish]]
* [[Cookbook:Ingredients|Fish (fresh or dry) or meat (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
* [[Cookbook:Ingredients|Leaves (banana leaves) or nylon for wrapping]]
{{Recipe summary
| Category = Snack recipes
| Cuisine = Nigerian
| Servings = 4-6
| Time = 1 hour
| Difficulty = 3
}}
These ingredients give it a soft texture and rich, slightly sweet and savory flavor.
== Ingredients ==
# '''Prepare the plantains''' Peel the ripe plantains and mash or blend them into a smooth paste.
# '''Mix ingredients''' Add palm oil, chopped onions, pepper, ground crayfish, seasoning cubes, and salt. Mix well.
# '''Add protein (optional)''' Add pieces of fish or meat and combine thoroughly.
# '''Prepare wrapping''' Wash banana leaves (or use nylon) and get them ready for wrapping.
# '''Wrap the mixture''' Scoop portions of the mixture into the leaves and wrap securely.
# '''Steam''' Place the wraps in a pot with a little water and steam for about 45–60 minutes.
# '''Check doneness''' It should be firm and well-cooked through.
# '''Serve''' Serve hot as a meal or snack.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Cookbook]]
khg44jlhi8g1p8kyp46r6gt07ihky20
Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...Na5
0
483161
4634737
4634438
2026-05-08T07:25:49Z
JCrue
2226064
/* 3...Na5? · Pollock defence */ Typo
4634737
wikitext
text/x-wiki
{{Chess Opening Theory/Position
|name=Pollock defence
|eco=[[Chess/ECOC|C60]]
|parent=[[../|Spanish game]]
}}
== 3...Na5? · Pollock defence ==
{{Chess/sideline}}
An unusual and poor move, Black moves their knight again in the opening and leaves their pawn undefended.
When facing moves like this, White should think carefully before taking the free material. A famous trap in the Italian game, the [[Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Nd4|Blackburne shilling gambit]], begins 3...Nd4, where Black undefends e5 intending to answer Nxe5? with ...Qg5!, attacking the knight and the vulnerable g2-pawn at the same time.<ref>3...Nd4 in the Spanish is called Bird's defence and conceals the same trap, though since ...Nd4 also attacks White's bishop, even players unfamiliar with the trap tend to find the better move, 4. Nxd4.</ref>
Here after 3...Na5 it's not so clear if White can't take the pawn. '''4. Nxe5''' Qg5 (which has the additional feature of pinning the knight to the bishop) 5. d4 Qxg2 and either 6. Rf1 Qxe4+ 7. Be3, or better is 6. Qf3! Qxf3 7. Nxf3 {{chess/not|+}}. A better implementation of this trap is [[../3...Nb4|3...Nb4?!]], where if White takes on e5, at the end of the variation Black has ...Nxc2+!
If the idea isn't 4...Qg5, Black may try 4...c6, driving the bishop away. 5. Ba4 b5 6. Bb3 Nxb3 7. axb3 {{chess/not|++}} is fine for White, or they might try 5. Be2 and see if Black allows their knight to become trapped at the edge of the board (e.g. 5...d6 6. Nf3 Nf6 7. b4! {{chess/not|+++}}).
=== History ===
[[w:William H. K. Pollock|William H. K. Pollock]] (1859―1896) was an English chess master and surgeon. He won Irish Chess Association Masters in 1885, competed in the 6th American Chess Congress, and represented Canada at [[w:Hastings 1895 chess tournament|Hastings 1895]] before dying of tuberculosis the following year. He played 3...Na5 in the New York Chess Association tournament of 1893<ref>[https://www.chessgames.com/perl/chessgame?gid=2913883 Frere v Pollock, 1893. Chessgames.com]</ref> and in a casual game against [[w:Amos Burn|Amos Burn]].<ref>[https://www.chessgames.com/perl/chessgame?gid=2675131 Burn v Pollock, 1887. Chessgames.com]</ref>
{{chessMid}}
== References ==
{{reflist}}
{{ChessFooter}}
a4hvalqty433zbvugjetlbb1z804kfi
Cookbook:Nigerian Gizdodo
102
483164
4634724
4634469
2026-05-08T02:52:03Z
SHB2000
3332924
SHB2000 moved page [[Cookbook:NIGERIAN GIZDODO]] to [[Cookbook:Nigerian Gizdodo]] without leaving a redirect
4634469
wikitext
text/x-wiki
{{Incomplete recipe|reason=excessive capitalization, missing quantities, missing categories, missing recipe templates, missing appropriate linking}}
Gizdodo is a popular Nigerian dish that combines fried plantain (dodo) and spiced gizzard (giz), creating a flavorful and satisfying meal.
It is widely enjoyed across Nigeria and is especially common at parties, restaurants, and gatherings. The dish is prepared by frying ripe plantains until golden, cooking gizzard until tender, and then mixing both in a rich pepper sauce made with tomatoes, [[Cookbook:Herbs and Spices|onions, and spices.]]
Gizdodo has a perfect balance of sweet and spicy flavors—the sweetness of the plantain complements the savory, slightly chewy [[Cookbook:Meat|gizzard]] and the spicy sauce. It is often served as a side dish, [[Cookbook:Snacks|snack]], or party food, making it a favorite in Nigerian cuisine.
[[File:Chinwe Uzoma kitchen & Lifestyle - How to make gizdodo - This is so GOOD!!! Chinwe Uzoma Kitchen & Lifestyle.png|thumb]]
== INGREDIENTS ==
* [[Cookbook:Ingredients|Gizzard]]
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Vegetable oil (for frying)]]{{Recipe summary
| Category = SNACK RECIPES
| Cuisine = NIGERIAN
| Servings = 3-5
| Time = 45 MINUTES
| Difficulty = 3
}}
* [[Cookbook:Ingredients|Tomatoes]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Bell peppers (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
== PROCEDURE ==
Here’s how to prepare Gizdodo:
# '''Cook the gizzard''' Wash and season the gizzard with onions, salt, and seasoning cubes, then boil until tender.
# '''Fry the gizzard''' Once cooked, lightly fry the gizzard until slightly crispy and set aside.
# '''Fry the plantains''' Peel and slice ripe plantains, then fry until golden brown. Set aside.
# '''Prepare the sauce''' Blend tomatoes, peppers, and onions, then fry the mixture in oil until it thickens.
# '''Season the sauce''' Add seasoning cubes and salt, and allow it to cook well.
# '''Combine everything''' Add the fried gizzard and plantains into the sauce and mix thoroughly.
# '''Simmer briefly''' Let it cook for a few minutes so all flavors combine.
# '''Serve''' Serve hot as a side dish or snack.
It should be a perfect mix of sweet, spicy, and savory flavors.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Snack recipes]]
[[Category:Nigerian beverages]]
qh7vd8oi96prvuu7zjet16ixt1qu2wr
4634725
4634724
2026-05-08T02:52:26Z
SHB2000
3332924
4634725
wikitext
text/x-wiki
{{Incomplete recipe|reason=excessive capitalization, missing quantities, missing categories, missing recipe templates, missing appropriate linking}}
Gizdodo is a popular Nigerian dish that combines fried plantain (dodo) and spiced gizzard (giz), creating a flavorful and satisfying meal.
It is widely enjoyed across Nigeria and is especially common at parties, restaurants, and gatherings. The dish is prepared by frying ripe plantains until golden, cooking gizzard until tender, and then mixing both in a rich pepper sauce made with tomatoes, [[Cookbook:Herbs and Spices|onions, and spices.]]
Gizdodo has a perfect balance of sweet and spicy flavors – the sweetness of the plantain complements the savory, slightly chewy [[Cookbook:Meat|gizzard]] and the spicy sauce. It is often served as a side dish, [[Cookbook:Snacks|snack]], or party food, making it a favorite in Nigerian cuisine.
[[File:Chinwe Uzoma kitchen & Lifestyle - How to make gizdodo - This is so GOOD!!! Chinwe Uzoma Kitchen & Lifestyle.png|thumb]]
== Ingredients ==
* [[Cookbook:Ingredients|Gizzard]]
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Vegetable oil (for frying)]]{{Recipe summary
| Category = SNACK RECIPES
| Cuisine = NIGERIAN
| Servings = 3-5
| Time = 45 MINUTES
| Difficulty = 3
}}
* [[Cookbook:Ingredients|Tomatoes]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Bell peppers (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
== PROCEDURE ==
Here’s how to prepare Gizdodo:
# '''Cook the gizzard''' Wash and season the gizzard with onions, salt, and seasoning cubes, then boil until tender.
# '''Fry the gizzard''' Once cooked, lightly fry the gizzard until slightly crispy and set aside.
# '''Fry the plantains''' Peel and slice ripe plantains, then fry until golden brown. Set aside.
# '''Prepare the sauce''' Blend tomatoes, peppers, and onions, then fry the mixture in oil until it thickens.
# '''Season the sauce''' Add seasoning cubes and salt, and allow it to cook well.
# '''Combine everything''' Add the fried gizzard and plantains into the sauce and mix thoroughly.
# '''Simmer briefly''' Let it cook for a few minutes so all flavors combine.
# '''Serve''' Serve hot as a side dish or snack.
It should be a perfect mix of sweet, spicy, and savory flavors.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Snack recipes]]
[[Category:Nigerian beverages]]
q3ttxsl76uuozq2xbizu7isjmg4cu37
4634726
4634725
2026-05-08T02:52:36Z
SHB2000
3332924
/* PROCEDURE */
4634726
wikitext
text/x-wiki
{{Incomplete recipe|reason=excessive capitalization, missing quantities, missing categories, missing recipe templates, missing appropriate linking}}
Gizdodo is a popular Nigerian dish that combines fried plantain (dodo) and spiced gizzard (giz), creating a flavorful and satisfying meal.
It is widely enjoyed across Nigeria and is especially common at parties, restaurants, and gatherings. The dish is prepared by frying ripe plantains until golden, cooking gizzard until tender, and then mixing both in a rich pepper sauce made with tomatoes, [[Cookbook:Herbs and Spices|onions, and spices.]]
Gizdodo has a perfect balance of sweet and spicy flavors – the sweetness of the plantain complements the savory, slightly chewy [[Cookbook:Meat|gizzard]] and the spicy sauce. It is often served as a side dish, [[Cookbook:Snacks|snack]], or party food, making it a favorite in Nigerian cuisine.
[[File:Chinwe Uzoma kitchen & Lifestyle - How to make gizdodo - This is so GOOD!!! Chinwe Uzoma Kitchen & Lifestyle.png|thumb]]
== Ingredients ==
* [[Cookbook:Ingredients|Gizzard]]
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Vegetable oil (for frying)]]{{Recipe summary
| Category = SNACK RECIPES
| Cuisine = NIGERIAN
| Servings = 3-5
| Time = 45 MINUTES
| Difficulty = 3
}}
* [[Cookbook:Ingredients|Tomatoes]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Bell peppers (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
== Procedure ==
Here’s how to prepare Gizdodo:
# '''Cook the gizzard''' Wash and season the gizzard with onions, salt, and seasoning cubes, then boil until tender.
# '''Fry the gizzard''' Once cooked, lightly fry the gizzard until slightly crispy and set aside.
# '''Fry the plantains''' Peel and slice ripe plantains, then fry until golden brown. Set aside.
# '''Prepare the sauce''' Blend tomatoes, peppers, and onions, then fry the mixture in oil until it thickens.
# '''Season the sauce''' Add seasoning cubes and salt, and allow it to cook well.
# '''Combine everything''' Add the fried gizzard and plantains into the sauce and mix thoroughly.
# '''Simmer briefly''' Let it cook for a few minutes so all flavors combine.
# '''Serve''' Serve hot as a side dish or snack.
It should be a perfect mix of sweet, spicy, and savory flavors.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Snack recipes]]
[[Category:Nigerian beverages]]
lvnq9ht7z1jttsonyknfsfbl372hel7
4634727
4634726
2026-05-08T02:53:01Z
SHB2000
3332924
4634727
wikitext
text/x-wiki
{{Incomplete recipe|reason=excessive capitalization, missing quantities, missing categories, missing recipe templates, missing appropriate linking}}
Gizdodo is a popular Nigerian dish that combines fried plantain (dodo) and spiced gizzard (giz), creating a flavorful and satisfying meal.
It is widely enjoyed across Nigeria and is especially common at parties, restaurants, and gatherings. The dish is prepared by frying ripe plantains until golden, cooking gizzard until tender, and then mixing both in a rich pepper sauce made with tomatoes, [[Cookbook:Herbs and Spices|onions, and spices.]]
Gizdodo has a perfect balance of sweet and spicy flavors – the sweetness of the plantain complements the savory, slightly chewy [[Cookbook:Meat|gizzard]] and the spicy sauce. It is often served as a side dish, [[Cookbook:Snacks|snack]], or party food, making it a favorite in Nigerian cuisine.
[[File:Chinwe Uzoma kitchen & Lifestyle - How to make gizdodo - This is so GOOD!!! Chinwe Uzoma Kitchen & Lifestyle.png|thumb]]
== Ingredients ==
* [[Cookbook:Ingredients|Gizzard]]
* [[Cookbook:Ingredients|Ripe plantains]]
* [[Cookbook:Ingredients|Vegetable oil (for frying)]]{{Recipe summary
| Category = Snack recipes
| Cuisine = Nigerian
| Servings = 3-5
| Time = 45 minutes
| Difficulty = 3
}}
* [[Cookbook:Ingredients|Tomatoes]]
* [[Cookbook:Ingredients|Onions]]
* [[Cookbook:Ingredients|Pepper (Scotch bonnet)]]
* [[Cookbook:Ingredients|Bell peppers (optional)]]
* [[Cookbook:Ingredients|Seasoning cubes]]
* [[Cookbook:Ingredients|Salt]]
== Procedure ==
Here’s how to prepare Gizdodo:
# '''Cook the gizzard''' Wash and season the gizzard with onions, salt, and seasoning cubes, then boil until tender.
# '''Fry the gizzard''' Once cooked, lightly fry the gizzard until slightly crispy and set aside.
# '''Fry the plantains''' Peel and slice ripe plantains, then fry until golden brown. Set aside.
# '''Prepare the sauce''' Blend tomatoes, peppers, and onions, then fry the mixture in oil until it thickens.
# '''Season the sauce''' Add seasoning cubes and salt, and allow it to cook well.
# '''Combine everything''' Add the fried gizzard and plantains into the sauce and mix thoroughly.
# '''Simmer briefly''' Let it cook for a few minutes so all flavors combine.
# '''Serve''' Serve hot as a side dish or snack.
It should be a perfect mix of sweet, spicy, and savory flavors.
[[Category:Nigerian recipes]]
[[Category:Recipes using meat]]
[[Category:Snack recipes]]
[[Category:Nigerian beverages]]
dcmprz0chs3rvugp4lhcx3ix5jylpo7
Cookbook:Nigerian Ikwoko (native seafood porridge)
102
483184
4634696
4634635
2026-05-08T01:23:15Z
SHB2000
3332924
SHB2000 moved page [[Cookbook:NIGERIAN IKWOKO (NATIVE SEAFOOD PORRIDGE)]] to [[Cookbook:Nigerian Ikwoko (native seafood porridge)]] without leaving a redirect: why is this in ALL CAPS
4634635
wikitext
text/x-wiki
Ikwọkọ is a traditional Nigerian seafood dish associated with the Ijaw people of the [[wikipedia:Nigeria|Niger Delta region]]. It is especially popular in riverine communities where seafood is a major part of daily life and culture.
The dish is typically prepared with a mixture of fresh seafood such as [[Cookbook:Fish|fish, crab, shrimp, periwinkle, or crayfish]], cooked together in a rich, flavorful broth with palm oil, pepper, and local spices. Depending on the community and method of preparation, it may have a thick, [[Cookbook:Porridge|porridge]]-like consistency.
Ikwọkọ is valued for its rich taste, nutritional value, and strong connection to the fishing traditions of the Niger Delta. It is often prepared for family meals, celebrations, and cultural gatherings, making it both a delicacy and an important cultural dish in southern Nigerian cuisine.
== INGREDIENTS ==
[[File:Ijaw Culture For Full Grown Women - Observers.jpg|thumb]]
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 60 MINUTES
| Difficulty = 3
}}
The main ingredients for Ikwọkọ include
* [[Cookbook:Fish|1 medium fresh fish]]
* [[Cookbook:Fish|2 medium crabs]]
* [[Cookbook:Fish|1 cup shrimp or prawns]]
* [[Cookbook:Fish|1 cup periwinkle]]
* [[Cookbook:Fish|2 tablespoons ground crayfish]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Ingredients|3–5 Scotch bonnet peppers]]
* [[Cookbook:Ingredients|1 medium onion]]
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|1 teaspoon local spices]]
* [[Cookbook:Ingredients|3–4 cups water or seafood stock]]
These ingredients give the dish its rich seafood flavor and traditional Niger Delta taste.
== PROCEDURE ==
Here’s how to prepare Ikwọkọ:
# '''Prepare the seafood''' Wash and clean the fish, crab, shrimp, and periwinkle thoroughly.
# '''Season and cook the seafood''' Place the seafood in a pot with onions, salt, seasoning cubes, and a little water or stock. Cook gently until partly tender.
# '''Add palm oil''' Pour in palm oil and allow it to combine with the seafood stock.
# '''Add pepper and spices''' Add pepper, crayfish, and local spices, then stir well.
# '''Simmer the mixture''' Allow everything to cook together so the flavors blend properly.
# '''Adjust thickness''' Add a little more water or let it reduce depending on how thick you want the porridge.
# '''Taste and season''' Add extra salt or seasoning if needed.
# '''Serve hot''' Serve as a rich seafood meal, often enjoyed on its own.
The dish should be flavorful, slightly thick, spicy, and rich with seafood taste.
[[Category:Nigerian recipes]]
[[Category:Wikibook cookbook]]
[[Category:Recipes using fish]]
[[Category:Traditional recipes]]
r8jzm8ebbrs3k5n318didstz8tbzvcg
4634697
4634696
2026-05-08T01:23:36Z
SHB2000
3332924
4634697
wikitext
text/x-wiki
Ikwọkọ is a traditional Nigerian seafood dish associated with the Ijaw people of the [[wikipedia:Nigeria|Niger Delta region]]. It is especially popular in riverine communities where seafood is a major part of daily life and culture.
The dish is typically prepared with a mixture of fresh seafood such as [[Cookbook:Fish|fish, crab, shrimp, periwinkle, or crayfish]], cooked together in a rich, flavorful broth with palm oil, pepper, and local spices. Depending on the community and method of preparation, it may have a thick, [[Cookbook:Porridge|porridge]]-like consistency.
Ikwọkọ is valued for its rich taste, nutritional value, and strong connection to the fishing traditions of the Niger Delta. It is often prepared for family meals, celebrations, and cultural gatherings, making it both a delicacy and an important cultural dish in southern Nigerian cuisine.
== Ingredients ==
[[File:Ijaw Culture For Full Grown Women - Observers.jpg|thumb]]
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 60 MINUTES
| Difficulty = 3
}}
The main ingredients for Ikwọkọ include
* [[Cookbook:Fish|1 medium fresh fish]]
* [[Cookbook:Fish|2 medium crabs]]
* [[Cookbook:Fish|1 cup shrimp or prawns]]
* [[Cookbook:Fish|1 cup periwinkle]]
* [[Cookbook:Fish|2 tablespoons ground crayfish]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Ingredients|3–5 Scotch bonnet peppers]]
* [[Cookbook:Ingredients|1 medium onion]]
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|1 teaspoon local spices]]
* [[Cookbook:Ingredients|3–4 cups water or seafood stock]]
These ingredients give the dish its rich seafood flavor and traditional Niger Delta taste.
== Procedure ==
Here’s how to prepare Ikwọkọ:
# '''Prepare the seafood''' Wash and clean the fish, crab, shrimp, and periwinkle thoroughly.
# '''Season and cook the seafood''' Place the seafood in a pot with onions, salt, seasoning cubes, and a little water or stock. Cook gently until partly tender.
# '''Add palm oil''' Pour in palm oil and allow it to combine with the seafood stock.
# '''Add pepper and spices''' Add pepper, crayfish, and local spices, then stir well.
# '''Simmer the mixture''' Allow everything to cook together so the flavors blend properly.
# '''Adjust thickness''' Add a little more water or let it reduce depending on how thick you want the porridge.
# '''Taste and season''' Add extra salt or seasoning if needed.
# '''Serve hot''' Serve as a rich seafood meal, often enjoyed on its own.
The dish should be flavorful, slightly thick, spicy, and rich with seafood taste.
[[Category:Nigerian recipes]]
[[Category:Wikibook cookbook]]
[[Category:Recipes using fish]]
[[Category:Traditional recipes]]
nvflj0cd5nsfvacl41zz6b595okgidn
4634707
4634697
2026-05-08T02:13:41Z
Kittycataclysm
3371989
incomplete flag
4634707
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing/incorrect linking, missing/incorrect categories, missing header template, stylistic adjustments needed}}
Ikwọkọ is a traditional Nigerian seafood dish associated with the Ijaw people of the [[wikipedia:Nigeria|Niger Delta region]]. It is especially popular in riverine communities where seafood is a major part of daily life and culture.
The dish is typically prepared with a mixture of fresh seafood such as [[Cookbook:Fish|fish, crab, shrimp, periwinkle, or crayfish]], cooked together in a rich, flavorful broth with palm oil, pepper, and local spices. Depending on the community and method of preparation, it may have a thick, [[Cookbook:Porridge|porridge]]-like consistency.
Ikwọkọ is valued for its rich taste, nutritional value, and strong connection to the fishing traditions of the Niger Delta. It is often prepared for family meals, celebrations, and cultural gatherings, making it both a delicacy and an important cultural dish in southern Nigerian cuisine.
== Ingredients ==
[[File:Ijaw Culture For Full Grown Women - Observers.jpg|thumb]]
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 60 MINUTES
| Difficulty = 3
}}
The main ingredients for Ikwọkọ include
* [[Cookbook:Fish|1 medium fresh fish]]
* [[Cookbook:Fish|2 medium crabs]]
* [[Cookbook:Fish|1 cup shrimp or prawns]]
* [[Cookbook:Fish|1 cup periwinkle]]
* [[Cookbook:Fish|2 tablespoons ground crayfish]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Ingredients|3–5 Scotch bonnet peppers]]
* [[Cookbook:Ingredients|1 medium onion]]
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|1 teaspoon local spices]]
* [[Cookbook:Ingredients|3–4 cups water or seafood stock]]
These ingredients give the dish its rich seafood flavor and traditional Niger Delta taste.
== Procedure ==
Here’s how to prepare Ikwọkọ:
# '''Prepare the seafood''' Wash and clean the fish, crab, shrimp, and periwinkle thoroughly.
# '''Season and cook the seafood''' Place the seafood in a pot with onions, salt, seasoning cubes, and a little water or stock. Cook gently until partly tender.
# '''Add palm oil''' Pour in palm oil and allow it to combine with the seafood stock.
# '''Add pepper and spices''' Add pepper, crayfish, and local spices, then stir well.
# '''Simmer the mixture''' Allow everything to cook together so the flavors blend properly.
# '''Adjust thickness''' Add a little more water or let it reduce depending on how thick you want the porridge.
# '''Taste and season''' Add extra salt or seasoning if needed.
# '''Serve hot''' Serve as a rich seafood meal, often enjoyed on its own.
The dish should be flavorful, slightly thick, spicy, and rich with seafood taste.
[[Category:Nigerian recipes]]
[[Category:Wikibook cookbook]]
[[Category:Recipes using fish]]
[[Category:Traditional recipes]]
o1sipwopp8hiywy5bhmsy2cljavu0d5
Cookbook:Nigerian Achicha Ede (Cocoyam Porridge)
102
483185
4634638
2026-05-07T12:14:15Z
SHE-LOVES-BRIAN
3581157
Created page with "Achicha ede is a traditional Igbo people dish made from cocoyam cooked with [[Cookbook:Ingredients|palm oil, vegetables, and local seasonings]]. It is a flavorful and culturally important comfort food in southeastern Nigeria. == INGREDIENTS == {{Recipe summary | Category = DINNER RECIPES | Cuisine = NIGERIAN | Servings = 4-6 | Time = 40 MINUTES | Difficulty = 3 }} * [[Cookbook:Cocoyam|4 cups dried cocoyam flakes or cocoyam pieces]] * [[Cookbook:Palm Oil|1 cup palm oil]..."
4634638
wikitext
text/x-wiki
Achicha ede is a traditional Igbo people dish made from cocoyam cooked with [[Cookbook:Ingredients|palm oil, vegetables, and local seasonings]]. It is a flavorful and culturally important comfort food in southeastern Nigeria.
== INGREDIENTS ==
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 40 MINUTES
| Difficulty = 3
}}
* [[Cookbook:Cocoyam|4 cups dried cocoyam flakes or cocoyam pieces]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Shellfish|2 tablespoons ground crayfish]]
* 1 cup ugba (oil bean slices)
* [[Cookbook:Pepper|2–3 Scotch bonnet peppers]]
* [[Cookbook:Onion|1 medium onion]]
* 2 cups leafy vegetables (ugu or scent leaves)
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|3–4 cups water]]
* [[Cookbook:Ingredients|Dry fish or stockfish (optional)]]
== PROCEDURE ==
* '''Soak the cocoyam flakes''' Wash and soak the dried cocoyam flakes in warm water until they soften slightly.
* '''Prepare the fish (optional)''' Wash and boil dry fish or stockfish until soft.
* '''Cook the base''' In a pot, add water, palm oil, onions, pepper, crayfish, seasoning cubes, and the fish. Bring to a boil.
* '''Add the cocoyam''' Add the soaked cocoyam flakes and stir gently.
* '''Cook until soft''' Allow it to cook until the cocoyam becomes tender and absorbs the flavors.
* '''Add ugba and vegetables''' Stir in the ugba and leafy vegetables.
* '''Simmer briefly''' Let it cook for a few more minutes so everything combines well.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve as a complete traditional meal.
[[Category:Recipes using fish]]
[[Category:Nigerian recipes]]
[[Category:Traditional recipes]]
[[Category:Cookbook pages needing images]]
rtpwi3nxlqt6efkg7xqpt49xkjrh5ku
4634708
4634638
2026-05-08T02:14:24Z
Kittycataclysm
3371989
incomplete flag
4634708
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing/incorrect linking, missing/incorrect categories, missing header template, excessive capitalization, stylistic adjustments needed}}
Achicha ede is a traditional Igbo people dish made from cocoyam cooked with [[Cookbook:Ingredients|palm oil, vegetables, and local seasonings]]. It is a flavorful and culturally important comfort food in southeastern Nigeria.
== INGREDIENTS ==
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 40 MINUTES
| Difficulty = 3
}}
* [[Cookbook:Cocoyam|4 cups dried cocoyam flakes or cocoyam pieces]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Shellfish|2 tablespoons ground crayfish]]
* 1 cup ugba (oil bean slices)
* [[Cookbook:Pepper|2–3 Scotch bonnet peppers]]
* [[Cookbook:Onion|1 medium onion]]
* 2 cups leafy vegetables (ugu or scent leaves)
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|3–4 cups water]]
* [[Cookbook:Ingredients|Dry fish or stockfish (optional)]]
== PROCEDURE ==
* '''Soak the cocoyam flakes''' Wash and soak the dried cocoyam flakes in warm water until they soften slightly.
* '''Prepare the fish (optional)''' Wash and boil dry fish or stockfish until soft.
* '''Cook the base''' In a pot, add water, palm oil, onions, pepper, crayfish, seasoning cubes, and the fish. Bring to a boil.
* '''Add the cocoyam''' Add the soaked cocoyam flakes and stir gently.
* '''Cook until soft''' Allow it to cook until the cocoyam becomes tender and absorbs the flavors.
* '''Add ugba and vegetables''' Stir in the ugba and leafy vegetables.
* '''Simmer briefly''' Let it cook for a few more minutes so everything combines well.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve as a complete traditional meal.
[[Category:Recipes using fish]]
[[Category:Nigerian recipes]]
[[Category:Traditional recipes]]
[[Category:Cookbook pages needing images]]
54qgth4gwahef0k5x1fccajcyegbzwe
4634714
4634708
2026-05-08T02:43:37Z
SHB2000
3332924
SHB2000 moved page [[Cookbook:NIGERIAN ACHICHA EDE (COCOYAM PORRIDGE)]] to [[Cookbook:Nigerian Achicha Ede (Cocoyam Porridge)]] without leaving a redirect
4634708
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing/incorrect linking, missing/incorrect categories, missing header template, excessive capitalization, stylistic adjustments needed}}
Achicha ede is a traditional Igbo people dish made from cocoyam cooked with [[Cookbook:Ingredients|palm oil, vegetables, and local seasonings]]. It is a flavorful and culturally important comfort food in southeastern Nigeria.
== INGREDIENTS ==
{{Recipe summary
| Category = DINNER RECIPES
| Cuisine = NIGERIAN
| Servings = 4-6
| Time = 40 MINUTES
| Difficulty = 3
}}
* [[Cookbook:Cocoyam|4 cups dried cocoyam flakes or cocoyam pieces]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Shellfish|2 tablespoons ground crayfish]]
* 1 cup ugba (oil bean slices)
* [[Cookbook:Pepper|2–3 Scotch bonnet peppers]]
* [[Cookbook:Onion|1 medium onion]]
* 2 cups leafy vegetables (ugu or scent leaves)
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|3–4 cups water]]
* [[Cookbook:Ingredients|Dry fish or stockfish (optional)]]
== PROCEDURE ==
* '''Soak the cocoyam flakes''' Wash and soak the dried cocoyam flakes in warm water until they soften slightly.
* '''Prepare the fish (optional)''' Wash and boil dry fish or stockfish until soft.
* '''Cook the base''' In a pot, add water, palm oil, onions, pepper, crayfish, seasoning cubes, and the fish. Bring to a boil.
* '''Add the cocoyam''' Add the soaked cocoyam flakes and stir gently.
* '''Cook until soft''' Allow it to cook until the cocoyam becomes tender and absorbs the flavors.
* '''Add ugba and vegetables''' Stir in the ugba and leafy vegetables.
* '''Simmer briefly''' Let it cook for a few more minutes so everything combines well.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve as a complete traditional meal.
[[Category:Recipes using fish]]
[[Category:Nigerian recipes]]
[[Category:Traditional recipes]]
[[Category:Cookbook pages needing images]]
54qgth4gwahef0k5x1fccajcyegbzwe
4634715
4634714
2026-05-08T02:47:00Z
SHB2000
3332924
/* INGREDIENTS */ please...no all caps
4634715
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing/incorrect linking, missing/incorrect categories, missing header template, excessive capitalization, stylistic adjustments needed}}
Achicha ede is a traditional Igbo people dish made from cocoyam cooked with [[Cookbook:Ingredients|palm oil, vegetables, and local seasonings]]. It is a flavorful and culturally important comfort food in southeastern Nigeria.
== Ingredients ==
{{Recipe summary
| Category = Dinner recipes
| Cuisine = Nigerian
| Servings = 4-6
| Time = 40 minutes
| Difficulty = 3
}}
* [[Cookbook:Cocoyam|4 cups dried cocoyam flakes or cocoyam pieces]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Shellfish|2 tablespoons ground crayfish]]
* 1 cup ugba (oil bean slices)
* [[Cookbook:Pepper|2–3 Scotch bonnet peppers]]
* [[Cookbook:Onion|1 medium onion]]
* 2 cups leafy vegetables (ugu or scent leaves)
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|3–4 cups water]]
* [[Cookbook:Ingredients|Dry fish or stockfish (optional)]]
== PROCEDURE ==
* '''Soak the cocoyam flakes''' Wash and soak the dried cocoyam flakes in warm water until they soften slightly.
* '''Prepare the fish (optional)''' Wash and boil dry fish or stockfish until soft.
* '''Cook the base''' In a pot, add water, palm oil, onions, pepper, crayfish, seasoning cubes, and the fish. Bring to a boil.
* '''Add the cocoyam''' Add the soaked cocoyam flakes and stir gently.
* '''Cook until soft''' Allow it to cook until the cocoyam becomes tender and absorbs the flavors.
* '''Add ugba and vegetables''' Stir in the ugba and leafy vegetables.
* '''Simmer briefly''' Let it cook for a few more minutes so everything combines well.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve as a complete traditional meal.
[[Category:Recipes using fish]]
[[Category:Nigerian recipes]]
[[Category:Traditional recipes]]
[[Category:Cookbook pages needing images]]
bmu91dub3vqd193q7ct7ob476k84xsb
4634716
4634715
2026-05-08T02:47:11Z
SHB2000
3332924
/* PROCEDURE */
4634716
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing/incorrect linking, missing/incorrect categories, missing header template, excessive capitalization, stylistic adjustments needed}}
Achicha ede is a traditional Igbo people dish made from cocoyam cooked with [[Cookbook:Ingredients|palm oil, vegetables, and local seasonings]]. It is a flavorful and culturally important comfort food in southeastern Nigeria.
== Ingredients ==
{{Recipe summary
| Category = Dinner recipes
| Cuisine = Nigerian
| Servings = 4-6
| Time = 40 minutes
| Difficulty = 3
}}
* [[Cookbook:Cocoyam|4 cups dried cocoyam flakes or cocoyam pieces]]
* [[Cookbook:Palm Oil|1 cup palm oil]]
* [[Cookbook:Shellfish|2 tablespoons ground crayfish]]
* 1 cup ugba (oil bean slices)
* [[Cookbook:Pepper|2–3 Scotch bonnet peppers]]
* [[Cookbook:Onion|1 medium onion]]
* 2 cups leafy vegetables (ugu or scent leaves)
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|3–4 cups water]]
* [[Cookbook:Ingredients|Dry fish or stockfish (optional)]]
== Procedure ==
* '''Soak the cocoyam flakes''' Wash and soak the dried cocoyam flakes in warm water until they soften slightly.
* '''Prepare the fish (optional)''' Wash and boil dry fish or stockfish until soft.
* '''Cook the base''' In a pot, add water, palm oil, onions, pepper, crayfish, seasoning cubes, and the fish. Bring to a boil.
* '''Add the cocoyam''' Add the soaked cocoyam flakes and stir gently.
* '''Cook until soft''' Allow it to cook until the cocoyam becomes tender and absorbs the flavors.
* '''Add ugba and vegetables''' Stir in the ugba and leafy vegetables.
* '''Simmer briefly''' Let it cook for a few more minutes so everything combines well.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Serve hot''' Serve as a complete traditional meal.
[[Category:Recipes using fish]]
[[Category:Nigerian recipes]]
[[Category:Traditional recipes]]
[[Category:Cookbook pages needing images]]
4qzt0lyg9pghjsef2aomkcgrl6simt2
Cookbook:Achi Jollof
102
483186
4634639
2026-05-07T12:23:04Z
SHE-LOVES-BRIAN
3581157
Created page with "Achi jollof is a traditional Nigerian delicacy associated with the Igbo people of southeastern Nigeria. The dish is prepared using '''achi powder''', a local thickening ingredient made from the seeds of the achi tree. Unlike regular jollof rice, Achi jollof is a thick, richly seasoned meal with a soft, smooth texture created by the achi powder. It is often cooked with palm oil, pepper, crayfish, fish or meat, and local spices, giving it a deep savory flavor and rich aro..."
4634639
wikitext
text/x-wiki
Achi jollof is a traditional Nigerian delicacy associated with the Igbo people of southeastern Nigeria. The dish is prepared using '''achi powder''', a local thickening ingredient made from the seeds of the achi tree.
Unlike regular jollof rice, Achi jollof is a thick, richly seasoned meal with a soft, smooth texture created by the achi powder. It is often cooked with palm oil, pepper, crayfish, fish or meat, and local spices, giving it a deep savory flavor and rich aroma.
The dish is valued for its traditional taste and cultural importance, especially in rural communities where indigenous ingredients are commonly used. Achi jollof is often enjoyed as a hearty meal during family gatherings and traditional occasions.
{{Recipe summary
| Category = Dinner recipes
| Cuisine = Nigerian
| Servings = 4-6
| Time = 60 minutes
| Difficulty = 3
}}
== INGRDIENTS ==
* [[Cookbook:Ingredients|1 cup achi powder]]
* [[Cookbook:Ingredients|500 g meat or fish]]
* [[Cookbook:Ingredients|1 cup palm oil]]
* [[Cookbook:Ingredients|2 tablespoons ground crayfish]]
* [[Cookbook:Ingredients|3–4 Scotch bonnet peppers]]
* [[Cookbook:Ingredients|1 medium onion]]
* [[Cookbook:Ingredients|2 cups leafy vegetables (optional)]]
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|4–5 cups water or stock]]
* [[Cookbook:Ingredients|Stockfish or dry fish (optional)]]
== PROCEDURE ==
* '''Cook the meat or fish''' Season the meat or fish with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
* '''Prepare the achi mixture''' Mix the achi powder with a little cold water to form a smooth paste without lumps.
* '''Prepare the base''' In a pot, add palm oil, pepper, crayfish, and the cooked meat or fish with stock.
* '''Add the achi paste''' Gradually pour in the achi mixture while stirring continuously.
* '''Cook until thickened''' Allow it to cook and thicken into a smooth consistency.
* '''Add vegetables (optional)''' Stir in leafy vegetables if using.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Simmer briefly''' Let it cook for a few more minutes so the flavors combine well.
* '''Serve hot''' Serve as a hearty traditional meal.
[[Category:Recipes using meat]]
[[Category:Recipes using fish]]
[[Category:Nigerian recipes]]
[[Category:Traditional recipes]]
8sbda44fr70oloc6qbjlnlypv2br85v
4634713
4634639
2026-05-08T02:42:48Z
SHB2000
3332924
SHB2000 moved page [[Cookbook:ACHI JOLLOF]] to [[Cookbook:Achi Jollof]] without leaving a redirect: no need to be in ALL CAPS
4634639
wikitext
text/x-wiki
Achi jollof is a traditional Nigerian delicacy associated with the Igbo people of southeastern Nigeria. The dish is prepared using '''achi powder''', a local thickening ingredient made from the seeds of the achi tree.
Unlike regular jollof rice, Achi jollof is a thick, richly seasoned meal with a soft, smooth texture created by the achi powder. It is often cooked with palm oil, pepper, crayfish, fish or meat, and local spices, giving it a deep savory flavor and rich aroma.
The dish is valued for its traditional taste and cultural importance, especially in rural communities where indigenous ingredients are commonly used. Achi jollof is often enjoyed as a hearty meal during family gatherings and traditional occasions.
{{Recipe summary
| Category = Dinner recipes
| Cuisine = Nigerian
| Servings = 4-6
| Time = 60 minutes
| Difficulty = 3
}}
== INGRDIENTS ==
* [[Cookbook:Ingredients|1 cup achi powder]]
* [[Cookbook:Ingredients|500 g meat or fish]]
* [[Cookbook:Ingredients|1 cup palm oil]]
* [[Cookbook:Ingredients|2 tablespoons ground crayfish]]
* [[Cookbook:Ingredients|3–4 Scotch bonnet peppers]]
* [[Cookbook:Ingredients|1 medium onion]]
* [[Cookbook:Ingredients|2 cups leafy vegetables (optional)]]
* [[Cookbook:Ingredients|2 seasoning cubes]]
* [[Cookbook:Ingredients|Salt to taste]]
* [[Cookbook:Ingredients|4–5 cups water or stock]]
* [[Cookbook:Ingredients|Stockfish or dry fish (optional)]]
== PROCEDURE ==
* '''Cook the meat or fish''' Season the meat or fish with onions, salt, and seasoning cubes, then boil until tender. Keep the stock.
* '''Prepare the achi mixture''' Mix the achi powder with a little cold water to form a smooth paste without lumps.
* '''Prepare the base''' In a pot, add palm oil, pepper, crayfish, and the cooked meat or fish with stock.
* '''Add the achi paste''' Gradually pour in the achi mixture while stirring continuously.
* '''Cook until thickened''' Allow it to cook and thicken into a smooth consistency.
* '''Add vegetables (optional)''' Stir in leafy vegetables if using.
* '''Adjust seasoning''' Taste and add salt or seasoning if needed.
* '''Simmer briefly''' Let it cook for a few more minutes so the flavors combine well.
* '''Serve hot''' Serve as a hearty traditional meal.
[[Category:Recipes using meat]]
[[Category:Recipes using fish]]
[[Category:Nigerian recipes]]
[[Category:Traditional recipes]]
8sbda44fr70oloc6qbjlnlypv2br85v
Cookbook:Nigerian Palm wine
102
483187
4634642
2026-05-07T12:36:31Z
Itzv1ktor
3581155
Created Article
4634642
wikitext
text/x-wiki
Palm wine is a popular traditional drink widely consumed across Nigeria and many parts of West Africa.It is produced from the natural sap of palm trees such as the oil palm and raffia palm.It is usually sweet, milky-white, and low in alcohol, but it ferments naturally within a few hours, gradually becoming stronger and more sour in taste.The longer palm wine ferments the more alcholic it gets.
== Process of making palm wine: ==
== Materials needed: ==
* Sharp tapping knife or cutlass.
* Rope or climbing equipment.
* Collection container ( e.g Plastic container or Gourd)
* [[File:Palm Wine in Its Traditional Pot.jpg|thumb]]Funnel or bamboo tube.
* Clean storage bottles or containers.
{{Recipe summary
| Time = 2 weeks
| Difficulty = 4
}}
Select a healthy and matured tree e.g:
* Oil palm
* Raffia palm
* The tapper clears branches around the top of the tree to gain access to the tapping point.
* The flower stalk is usually cut.
* The top part near the crown may be prepared for sap extraction.
* The tapper makes a careful incision into the tree or flower stalk using a sharp knife.
* Sap begins to drip slowly.
* A container is attached beneath the cut to collect the liquid.
* The cut is refreshed daily to maintain sap flow. This process may continue for several weeks
* .Fresh sap is usually collected Early morning and Evening
* The fresh liquid collected should be Whitish in colour and Sweet in the mouth.
By this stage,fermentation starts almost immediately because natural yeast in the air and container acts on the sugars.
* '''0-2 hours:''' Very sweet, little alcohol
* '''3–6 hours:''' Slightly alcoholic and fizzy
* '''12–24 hours:''' Stronger alcohol content and sour taste.
* Use a clean cloth to strain the wine to remove Dirt,Palm particles,Insects etc.
* Keep refrigerated or chilled.
* Store in airtight bottles.
[[Category:Nigerian beverages]]
[[Category:Traditional Beverages]]
4x82tark9p0d2jrlmodw52hns2ymg0d
4634706
4634642
2026-05-08T02:10:45Z
Kittycataclysm
3371989
incomplete flag
4634706
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing appropriate linking, doesn't match cookbook formatting, missing/incorrect categories, missing recipe templates}}
Palm wine is a popular traditional drink widely consumed across Nigeria and many parts of West Africa.It is produced from the natural sap of palm trees such as the oil palm and raffia palm.It is usually sweet, milky-white, and low in alcohol, but it ferments naturally within a few hours, gradually becoming stronger and more sour in taste.The longer palm wine ferments the more alcholic it gets.
== Process of making palm wine: ==
== Materials needed: ==
* Sharp tapping knife or cutlass.
* Rope or climbing equipment.
* Collection container ( e.g Plastic container or Gourd)
* [[File:Palm Wine in Its Traditional Pot.jpg|thumb]]Funnel or bamboo tube.
* Clean storage bottles or containers.
{{Recipe summary
| Time = 2 weeks
| Difficulty = 4
}}
Select a healthy and matured tree e.g:
* Oil palm
* Raffia palm
* The tapper clears branches around the top of the tree to gain access to the tapping point.
* The flower stalk is usually cut.
* The top part near the crown may be prepared for sap extraction.
* The tapper makes a careful incision into the tree or flower stalk using a sharp knife.
* Sap begins to drip slowly.
* A container is attached beneath the cut to collect the liquid.
* The cut is refreshed daily to maintain sap flow. This process may continue for several weeks
* .Fresh sap is usually collected Early morning and Evening
* The fresh liquid collected should be Whitish in colour and Sweet in the mouth.
By this stage,fermentation starts almost immediately because natural yeast in the air and container acts on the sugars.
* '''0-2 hours:''' Very sweet, little alcohol
* '''3–6 hours:''' Slightly alcoholic and fizzy
* '''12–24 hours:''' Stronger alcohol content and sour taste.
* Use a clean cloth to strain the wine to remove Dirt,Palm particles,Insects etc.
* Keep refrigerated or chilled.
* Store in airtight bottles.
[[Category:Nigerian beverages]]
[[Category:Traditional Beverages]]
bhqv45vjj775cppqidhl5rxsoq8hvad
User talk:~2026-27588-54
3
483188
4634646
2026-05-07T13:45:00Z
MathXplore
3097823
Notifying author of speedy deletion nomination
4634646
wikitext
text/x-wiki
== I have added a tag to a page you created ==
Hi! I'm MathXplore, and I recently reviewed your page, [[:YashTheSoni]]. 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>Out of scope</strong></blockquote> If you believe that your page should not be deleted, please post a message on [[Talk:YashTheSoni|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:45, 7 May 2026 (UTC)
ne1q7s3qygpklvhufsnwscpmii35e6g
User:Golgbachev/sandbox
2
483189
4634655
2026-05-07T15:18:59Z
Golgbachev
3581703
Article creation (AfroCuisine 2026)
4634655
wikitext
text/x-wiki
= Koki Beans =
Koki beans, also known simply as ''Koki'', are a traditional steamed bean pudding commonly prepared in Cameroon and several regions of Central and West Africa. The dish is made from peeled beans blended into a smooth paste and mixed with palm oil, spices, and optional ingredients such as smoked fish or crayfish. The mixture is then wrapped, usually in banana leaves, and steamed until firm.
Koki is appreciated for its rich flavor, soft texture, and high nutritional value. It is frequently served during family meals, ceremonies, festivals, and social gatherings. In many communities, Koki is traditionally eaten with boiled plantains, cassava, cocoyams, or pap made from fermented maize.
The dish remains an important part of African culinary heritage and continues to be prepared both with traditional methods and modern kitchen equipment.
= Ingredients =
The following ingredients are commonly used to prepare Koki beans.
== Main Ingredients ==
* 500 g black-eyed peas or cowpeas
* 150 ml red palm oil
* 1 medium onion
* 1 or 2 chili peppers
* Salt to taste
* Water as needed
== Optional Ingredients ==
* Smoked fish
* Crayfish or dried shrimp
* Garlic
* Seasoning cubes
* Vegetable oil
* Fresh herbs
== Wrapping Materials ==
* Banana leaves
* Aluminum foil or heat-resistant containers if banana leaves are unavailable
----
== Procedure ==
==== Step 1: Soak the Beans ====
Wash the beans thoroughly and soak them in water for several hours or overnight. Soaking softens the beans and makes peeling easier.
==== Step 2: Remove the Skins ====
Rub the soaked beans between the hands to separate the skins from the seeds. Rinse several times with clean water until most of the skins are removed.
==== Step 3: Blend the Mixture ====
Blend the peeled beans together with onion, chili peppers, and a small amount of water until a smooth paste is obtained. The texture should be thick but soft enough to mix easily.
==== Step 4: Add Palm Oil and Seasoning ====
Transfer the bean paste into a bowl. Add red palm oil and salt, then mix thoroughly. Optional ingredients such as crayfish, smoked fish, or seasoning cubes may also be added at this stage.
==== Step 5: Prepare the Wrapping ====
Wash banana leaves and pass them briefly over heat to soften them. Fold the leaves into small containers or packets.
==== Step 6: Fill the Wrappers ====
Pour the bean mixture into the prepared banana leaf packets and close them securely to prevent water from entering during steaming.
==== Step 7: Steam the Koki ====
Arrange the wrapped portions in a large pot with a small amount of water at the bottom. Steam for approximately 1 to 2 hours, adding water when necessary to prevent the pot from drying out.
==== Step 8: Serve ====
Allow the Koki to cool slightly before serving. It may be eaten alone or accompanied by boiled plantains, cassava, sweet potatoes, or pap.
== Notes ==
* Traditional Koki is usually prepared with red palm oil, which gives the dish its characteristic orange color.
* Banana leaves contribute aroma and help maintain moisture during cooking.
* The texture of Koki should be firm but soft when fully cooked.
* Cooking time may vary depending on the size of the portions and the intensity of the heat.
* Electric blenders and modern steamers are commonly used today, although traditional preparation methods remain popular.
== Tips ==
* Use freshly soaked beans for a smoother texture.
* Blend the beans thoroughly to avoid coarse particles in the final dish.
* Avoid adding excessive water, as the mixture may become too soft during steaming.
* Stir the batter well after adding palm oil to distribute the color evenly.
* Check the water level regularly while steaming to avoid burning the pot.
* If banana leaves are unavailable, use heat-resistant bowls or aluminum foil as substitutes.
= Variations =
* Smoked Fish Koki: Smoked fish may be mixed into the batter for additional flavor and protein
* Crayfish Koki: Ground crayfish or dried shrimp can be added to create a richer taste commonly appreciated in coastal regions.
* Vegetarian Version: A vegetarian version may be prepared without fish or seafood while maintaining the traditional seasoning and spices.
* Low-Oil Version: Some modern recipes reduce the quantity of palm oil for dietary preferences while preserving the general texture of the dish.
3eh6d0h1qk86k9l230ib64vqni85zm6
4634656
4634655
2026-05-07T15:40:54Z
Golgbachev
3581703
Add infobox (AfroCuisine 2026)
4634656
wikitext
text/x-wiki
= Koki Beans =
Koki beans, also knowc simply as ''Koki'', are a [[Traditional Abacus and Bead Arithmetic/Division/Guide to traditional division (帰除法)|traditional]] steamed bean pudding [[Common Lisp/First steps/Installation|commonly]] prepared in Cameroon and several regions of Central and West Africa. The dish is made from peeled beans blended into a smooth paste and mixed with palm oil, spices, and optional ingredients such as smoked fish or crayfish. The mixture is then wrapped, usually in banana leaves, and steamed until firm.
{{Recipe summary
| Name = {{subst:Koki beans}}
| Category = Food
| Cuisine = Cameroon
| Origin = West African dish,
| Servings = 4
| Difficulty = 3
| Image = Koki Beans.jpg
}}
Koki is appreciated for its rich flavor, soft texture, and high nutritional value. It is frequently served during family meals, ceremonies, festivals, and social gatherings. In many communities, Koki is traditionally eaten with boiled plantains, cassava, cocoyams, or pap made from fermented maize.
The dish remains an important part of African culinary heritage and continues to be prepared both with traditional methods and modern kitchen equipment.
== Main Ingredients ==
* 500 g black-eyed peas or cowpeas
* 150 ml red palm oil
* 1 medium onion
* 1 or 2 chili peppers
* Salt to taste
* Water as needed
== Optional Ingredients ==
* Smoked fish
* Crayfish or dried shrimp
* Garlic
* Seasoning cubes
* Vegetable oil
* Fresh herbs
== Wrapping Materials ==
* Banana leaves
* Aluminum foil or heat-resistant containers if banana leaves are unavailable
== Procedure ==
==== Step 1: Soak the Beans ====
Wash the beans thoroughly and soak them in water for several hours or overnight. Soaking softens the beans and makes peeling easier.
==== Step 2: Remove the Skins ====
Rub the soaked beans between the hands to separate the skins from the seeds. Rinse several times with clean water until most of the skins are removed.
==== Step 3: Blend the Mixture ====
Blend the peeled beans together with onion, chili peppers, and a small amount of water until a smooth paste is obtained. The texture should be thick but soft enough to mix easily.
==== Step 4: Add Palm Oil and Seasoning ====
Transfer the bean paste into a bowl. Add red palm oil and salt, then mix thoroughly. Optional ingredients such as crayfish, smoked fish, or seasoning cubes may also be added at this stage.
==== Step 5: Prepare the Wrapping ====
Wash banana leaves and pass them briefly over heat to soften them. Fold the leaves into small containers or packets.
==== Step 6: Fill the Wrappers ====
Pour the bean mixture into the prepared banana leaf packets and close them securely to prevent water from entering during steaming.
==== Step 7: Steam the Koki ====
Arrange the wrapped portions in a large pot with a small amount of water at the bottom. Steam for approximately 1 to 2 hours, adding water when necessary to prevent the pot from drying out.
==== Step 8: Serve ====
Allow the Koki to cool slightly before serving. It may be eaten alone or accompanied by boiled plantains, cassava, sweet potatoes, or pap.
== Notes ==
* Traditional Koki is usually prepared with red palm oil, which gives the dish its characteristic orange color.
* Banana leaves contribute aroma and help maintain moisture during cooking.
* The texture of Koki should be firm but soft when fully cooked.
* Cooking time may vary depending on the size of the portions and the intensity of the heat.
* Electric blenders and modern steamers are commonly used today, although traditional preparation methods remain popular.
== Tips ==
* Use freshly soaked beans for a smoother texture.
* Blend the beans thoroughly to avoid coarse particles in the final dish.
* Avoid adding excessive water, as the mixture may become too soft during steaming.
* Stir the batter well after adding palm oil to distribute the color evenly.
* Check the water level regularly while steaming to avoid burning the pot.
* If banana leaves are unavailable, use heat-resistant bowls or aluminum foil as substitutes.
== Variations ==
* Smoked Fish Koki: Smoked fish may be mixed into the batter for additional flavor and protein
* Crayfish Koki: Ground crayfish or dried shrimp can be added to create a richer taste commonly appreciated in coastal regions.
* Vegetarian Version: A vegetarian version may be prepared without fish or seafood while maintaining the traditional seasoning and spices.
* Low-Oil Version: Some modern recipes reduce the quantity of palm oil for dietary preferences while preserving the general texture of the dish.
ltknhwyld39wprw415l1u5jq2pn23iv
Indonesian/Grammar/Noun
0
483190
4634657
2026-05-07T15:46:49Z
~2026-27685-14
3581944
Added the noun page
4634657
wikitext
text/x-wiki
Nouns in [[wikipedia:Indonesian_language|Bahasa Indonesia]] are similar to nouns in [[wikipedia:English_language|english]] and almost every other language as it follows basic principles of nouns and corresponds to class of nouns used in various languages around the world.
== Classes ==
=== Concrete nouns (Nomina Konkret) ===
Things, living or not, that we can see, feel, or touch.
Examples with sentences (Contoh dengan kalimat):
* Meja (Table); Ada banyak buku di atas '''meja''' itu. (There are a lot of books on that '''table'''.)
* Binatang (Animal); '''Binatang''' yang baru saja kita lihat tadi sangat besar. (The '''animal''' we just saw was very big.)
* Buku (Book); Saya punya beberapa '''buku''' di kamar saya. (I have some '''books''' in my room.)
* Rumah (House); Saya memiliki '''rumah''' yang lumayan kecil. (I have a fairly small '''house'''.)
* Pensil (Pencil); '''Pensil'''nya dipatahkan temannya. (His/her '''pencil''' was broken by his/her friend.)
=== Abstract nouns (Nomina Abstrak) ===
The opposite of common nouns; something we cannot see, feel, or touch.
Examples with sentences (Contoh dengan kalimat):
* Udara (Air); '''Udara''' pagi ini sangat segar. (The '''air''' this morning is very fresh.)
* Ilmu (Knowledge); Mungkin kelas ini akan memberikanmu sedikit '''ilmu'''. (Perhaps this class will give you some '''knowledge'''.)
* Cinta (Love); '''Cinta''' adalah topik yang sangat rumit. ('''Love''' is a very complex topic.)
* Keberanian* (Bravery); '''Keberanian'''nya harus diakui. (His '''bravery''' should be acknowledged.)
* Keadilan* (Justice); Apakah '''keadilan''' masih ada di negara ini? (Does '''justice''' still exist in this country?)
* Ide (Idea); '''Ide'''mu sangat bagus! (Great '''idea'''!)
<nowiki>*</nowiki>'''Adjectives'''. Both words originate respectively from base words ''berani'' (brave) and ''adil'' (fair) and will change into and be able to be used as a noun if used with circumfixes (in this case, ''Ke-...-an). Using circumfixes will make the noun a derived noun (nomina turunan).''
=== 'Special'/proper nouns (Nomina Khusus) ===
For specific things, such as names of people, places and countries, institutions, and so on. Proper nouns will always start with capital letters.
Examples (Contoh):
Meli, Udin ('''names of people'''), Jakarta, Kuala Lumpur, Beijing ('''cities'''), Indonesia, Belanda, Amerika Serikat, Afrika Selatan ('''Countries'''), Universitas Indonesia, Pertamina, Wikibooks ('''Institutions and companies''')
=== Common nouns (Nomina umum) ===
For non-specific or broadly definable things; can be anything such as occupations, places (not followed by name), animals, and so on.
Examples with sentences (Contoh dengan kalimat):
* Siswa (Student); Dia masih menjadi '''siswa''' di sekolah itu. (He/she is still a '''student''' at that school.)
* Stasiun (Station); Saya menunggunya di '''stasiun''' itu, namun sayangnya ia tak kunjung datang. (I waited for her at that '''station''', but she unfortunately never came.)
* Sungai (River); Arus di '''sungai''' ini sangat kencang! (The current on this '''river''' is really fast!)
* Kucing (Cat); '''Kucing'''mu lucu sekali. (Your '''cat''' is so cute.)
* Peraturan (Rules); Ada '''peraturan''' tak tertulis yang harus anda ketahui. (There is an '''unwritten''' rule you have to know.)
=== Collective nouns (Nomina Kolektif) ===
Nouns that refer to things or people in a group.
Examples with sentences (Contoh dengan kalimat):
* Peserta (participants)*; Banyak '''peserta''' yang mengikuti acara tersebut. (Many '''participants''' took part in the event.)
* Masyarakat (people; society); '''Masyakarat''' di sini cukup harmonis. (The '''people''' here are mostly harmonic.)
* Panitia (Committee); '''Panitia''' pada lomba ini ternyata disuap. (Apparently the '''committee''' on this competition was bribed.)
* Kawanan (Flock/herd); '''Kawanan''' sapi itu sedang makan rumput. (The '''herd''' of cows are grazing on a meadow.)
* Armada (Fleet); '''Armada''' bus kami sangat lengkap. (Our '''fleet''' of buses are very complete.)
* Semua (All); Apakah kalian '''semua''' bisa tenang? (Can '''all''' of you calm down please?)
<nowiki>*</nowiki>'Peserta' can mean both ''participant'' (singular) and ''participants'' (plural) depending on context and use.
== Types ==
=== Base nouns (Nomina dasar) ===
Nouns in their purest form without alterations.
=== Derived nouns (Nomina turunan) ===
Nouns with alterations.
==== a. Duplicate/repeated nouns (Nomina Reduplikasi) ====
Nouns that are repeated to show plurality; more than one thing
===== Full duplication =====
The entire word gets repeated twice.
Examples (Contoh):
* Meja-meja (Tables)
* Buku-buku (Books)
* Rumah-rumah (Houses)
* Sayur-mayur (Vegetables)
===== Partial duplication =====
The word gets "partially" repeated; a prefix corresponding to the first letter of the base word, added with an e (e.g., Be-, Pe-, Re-, etc).
* Bebatuan (Stones)
* Pepohonan (Trees)
* Rerumputan (Grass (plural))
==== b. Compound nouns (Nomina Majemuk) ====
Nouns that will differ in meaning if joined together, and vice versa.
Examples (Contoh):
* Rumah sakit (Hospital, lit. ''sick house''); without the word 'Sakit', 'Rumah' will mean ''house''. Without 'Rumah', 'Sakit' will mean ''sick''.
* Tanah air (Homeland, lit. ''land water''); If separated, the word 'Tanah' means ''land'', while the word 'Air' means ''water''.
* Mata pelajaran (Subject(s), lit. ''eye lesson''); 'Mata' itself means ''eye'', while 'Pelajaran' means ''lesson''.
* Uang muka (Down payment, lit. ''money face''); 'Uang' means ''money'', while 'muka' means ''face''.
==== c. Affixated nouns (Nomina berafiks) ====
Nouns with prefixes and suffixes (circumfixes). Verbs and adjectives can also be changed into a noun with these circumfixes by replacing verb/adjective-exclusive prefixes with prefixes for nouns, with several words requiring an additional suffix (-an) to have a meaning.
Prefixes
* Pe- (Pe-; Pen-; Per-; Pem-; Peng-)
* Pra-
* Ke-
* Ter-
Suffixes
* -an (-an; -wan)
* -anda (-anda; -nda)
Examples (Contoh):
===== Pe- and its variants =====
* Permainan (Game(s)); Pe(r) + (ber)main (verb, means ''play'') + an
* Pemantik (lighter); Pe + (me)mantik (verb, ''to light something up'')
* Penyelam (Diver); Pe + (me)nyelam (verb, ''to dive'')
* Penghalus (Smoother); Pe(ng) + halus (adjective, ''smooth'')
* Pemalu* (Shy (person)); Pe + malu (adjective, ''shy'')
* Penjual (Seller/merchant); Pe(n) + (men)jual (verb, ''to sell'')
* Perawat (Nurse); Pe + (me)rawat (verb, ''to take care of'')
* Pegunungan (Mountain(s)/mountain range); Pe + gunung (noun, ''mountain'') + an
* Pemandangan (View/landscape); Pe + (me)mandang (verb, ''to view'') + an
* Peradaban (Society); Pe(r) + adab (noun, ''manners'') + an
* Perempatan (Intersection); Pe(r) + empat (four) + an
<nowiki>*</nowiki>Pemalu may still be used in an adjective context (e.g., Dia '''pemalu'''. (she is '''shy'''.))
===== Ke- =====
* Keabadian (Eternity); Ke + abadi (adjective, ''eternal'') + an
* Keadilan (Justice); Ke + adil (adj., ''just''/''fair'') + an
* Kefasihan (Fluency); Ke + fasih (adj., ''fluent'') + an
* Ketinggian* (Height); Ke + tinggi (adj., ''high'') + an
* Keringanan (Relief); Ke + ringan (adj., ''light'') + an
<nowiki>*</nowiki>Word may be used in an adjective context (e.g., Ketinggian! (Too high!))
===== Ke- (with negation) =====
Negated adjectives will remove the space between the word 'tidak' (no) and the adjective itself with the prefix and suffix.
* Ketidakpastian (Uncertainty); Ke + tidak (negative, ''no'') + pasti (adj., ''certain''(''ly'')) + an
* Ketidaknyamanan (Discomfort); Ke + tidak (neg., ''no'') + nyaman (adj., ''comfortable'') + an
* Ketidakjujuran (Dishonesty); Ke +tidak (neg., ''no'') + jujur (adj., ''honest'') + an
===== Ke- (morphological derivation) =====
Adding the prefix Ke- and the suffix -an to certain words (optional for some others) will change their meaning and may cause it to have two or more meanings.
* Kemunduran (Decline/setback/deterioration/regression/''too far back''); Ke + mundur (verb, ''to go backwards'') + an
* Kemajuan (Progress/improvement/advancement/''too far forwards''); Ke + maju (v., ''to go forwards'') + an
* Kenaikan (Increase/rise/increment); Ke + naik (v., ''to go up'') + an
* Keturunan (Offspring); Ke + turun (v., ''to go down'') + an
* Ketua (Leader/head/chief); Ke + tua (n., ''old''/''elderly'')
* Kehendak (Will/desire); Ke + hendak (adverb, (''a'') ''want'')
===== Ter- =====
Words containing the prefix 'Ter-' are commonly used in jurisdictional environments.
* Tersangka (Suspect); Ter + sangka (noun, ''estimation''/''assumption'')
* Terdakwa (Defendant); Ter + dakwa (n., ''confession'')
* Terpidana (Convict); Ter + pidana (n., ''criminal'')
===== Pra- =====
Pre-; before.
* Prasejarah (Prehistoric); Pra + Sejarah (noun, ''history'')
* Prabayar (Prepaid); Pra + bayar (verb, ''to pay'')
* Prasyarat (Prerequisite(s)); Pra + syarat (n., ''condition''(''s''))
===== No prefix (-an only) =====
* Bebatuan (Stones); Batu-batu (noun, ''stone''; repeat variant of 'Batu') + an
* Letusan (Explosion); (me)letus (verb, ''to explode'') + an
* Makanan (food(s)); (me)makan (v., ''to eat'') + an
* Orang-orangan (Humanoid toy; toy that resembles a human being); Orang-orang (n., people) + an
===== No prefix (-wan/-wati) =====
For occupations. '-wan' is a masculine suffix, used for male members of a certain occupation, and '-wati' is a feminine suffix, used for female members.
* Cendekiawan/Cendekiawati (Scholar(s)); Cendekia (noun, ''scholar'' (neutral)) + wan/wati
* Karyawan/Karyawati (Employee(s)); Karya (n., ''creation'') + wan/wati
* Wartawan/Wartawati (Reporter(s)); Warta (n., ''news''/''report'') + wan/wati
the suffix '-wan' can also be used neutrally.
* Relawan (Volunteer(s)); Rela (noun, ''willing''/''compliant'') + wan
* Ilmuwan (Scientist(s)); Ilmu (n., ''knowledge'') + wan
* Sejarawan (Historian(s)); Sejara<s>h</s> (n., ''history'') + wan
===== No prefix (-anda/-nda) =====
The prefix is rarely used in current day-to-day conversations in Indonesia. Words using the suffix are formal in manner and are typically greetings for people close to one another such as family members.
* Ayahanda ((one's) father/dad); Ayah (noun, ''father''/''dad'') + anda
* Ibunda ((one's) mother/mom); Ibu (n., ''mother''/''mom'') + nda
* Adinda ((one's) younger brother/sister); Adi<s>k</s> (n., ''younger brother''/''sister'') + nda
* Kakanda ((one's) older brother/sister); Kaka<s>k</s> (n., ''older brother''/''sister'') + nda
8ttbdbe6bbbdmigs0v6k77g8ie08t7c
4634658
4634657
2026-05-07T15:52:33Z
Fishingb0at
3581945
Added mandatory header and footer
4634658
wikitext
text/x-wiki
{{Indonesian Grammar Header}}
Nouns in [[wikipedia:Indonesian_language|Bahasa Indonesia]] are similar to nouns in [[wikipedia:English_language|english]] and almost every other language as it follows basic principles of nouns and corresponds to class of nouns used in various languages around the world.
== Classes ==
=== Concrete nouns (Nomina Konkret) ===
Things, living or not, that we can see, feel, or touch.
Examples with sentences (Contoh dengan kalimat):
* Meja (Table); Ada banyak buku di atas '''meja''' itu. (There are a lot of books on that '''table'''.)
* Binatang (Animal); '''Binatang''' yang baru saja kita lihat tadi sangat besar. (The '''animal''' we just saw was very big.)
* Buku (Book); Saya punya beberapa '''buku''' di kamar saya. (I have some '''books''' in my room.)
* Rumah (House); Saya memiliki '''rumah''' yang lumayan kecil. (I have a fairly small '''house'''.)
* Pensil (Pencil); '''Pensil'''nya dipatahkan temannya. (His/her '''pencil''' was broken by his/her friend.)
=== Abstract nouns (Nomina Abstrak) ===
The opposite of common nouns; something we cannot see, feel, or touch.
Examples with sentences (Contoh dengan kalimat):
* Udara (Air); '''Udara''' pagi ini sangat segar. (The '''air''' this morning is very fresh.)
* Ilmu (Knowledge); Mungkin kelas ini akan memberikanmu sedikit '''ilmu'''. (Perhaps this class will give you some '''knowledge'''.)
* Cinta (Love); '''Cinta''' adalah topik yang sangat rumit. ('''Love''' is a very complex topic.)
* Keberanian* (Bravery); '''Keberanian'''nya harus diakui. (His '''bravery''' should be acknowledged.)
* Keadilan* (Justice); Apakah '''keadilan''' masih ada di negara ini? (Does '''justice''' still exist in this country?)
* Ide (Idea); '''Ide'''mu sangat bagus! (Great '''idea'''!)
<nowiki>*</nowiki>'''Adjectives'''. Both words originate respectively from base words ''berani'' (brave) and ''adil'' (fair) and will change into and be able to be used as a noun if used with circumfixes (in this case, ''Ke-...-an). Using circumfixes will make the noun a derived noun (nomina turunan).''
=== 'Special'/proper nouns (Nomina Khusus) ===
For specific things, such as names of people, places and countries, institutions, and so on. Proper nouns will always start with capital letters.
Examples (Contoh):
Meli, Udin ('''names of people'''), Jakarta, Kuala Lumpur, Beijing ('''cities'''), Indonesia, Belanda, Amerika Serikat, Afrika Selatan ('''Countries'''), Universitas Indonesia, Pertamina, Wikibooks ('''Institutions and companies''')
=== Common nouns (Nomina umum) ===
For non-specific or broadly definable things; can be anything such as occupations, places (not followed by name), animals, and so on.
Examples with sentences (Contoh dengan kalimat):
* Siswa (Student); Dia masih menjadi '''siswa''' di sekolah itu. (He/she is still a '''student''' at that school.)
* Stasiun (Station); Saya menunggunya di '''stasiun''' itu, namun sayangnya ia tak kunjung datang. (I waited for her at that '''station''', but she unfortunately never came.)
* Sungai (River); Arus di '''sungai''' ini sangat kencang! (The current on this '''river''' is really fast!)
* Kucing (Cat); '''Kucing'''mu lucu sekali. (Your '''cat''' is so cute.)
* Peraturan (Rules); Ada '''peraturan''' tak tertulis yang harus anda ketahui. (There is an '''unwritten''' rule you have to know.)
=== Collective nouns (Nomina Kolektif) ===
Nouns that refer to things or people in a group.
Examples with sentences (Contoh dengan kalimat):
* Peserta (participants)*; Banyak '''peserta''' yang mengikuti acara tersebut. (Many '''participants''' took part in the event.)
* Masyarakat (people; society); '''Masyakarat''' di sini cukup harmonis. (The '''people''' here are mostly harmonic.)
* Panitia (Committee); '''Panitia''' pada lomba ini ternyata disuap. (Apparently the '''committee''' on this competition was bribed.)
* Kawanan (Flock/herd); '''Kawanan''' sapi itu sedang makan rumput. (The '''herd''' of cows are grazing on a meadow.)
* Armada (Fleet); '''Armada''' bus kami sangat lengkap. (Our '''fleet''' of buses are very complete.)
* Semua (All); Apakah kalian '''semua''' bisa tenang? (Can '''all''' of you calm down please?)
<nowiki>*</nowiki>'Peserta' can mean both ''participant'' (singular) and ''participants'' (plural) depending on context and use.
== Types ==
=== Base nouns (Nomina dasar) ===
Nouns in their purest form without alterations.
=== Derived nouns (Nomina turunan) ===
Nouns with alterations.
==== a. Duplicate/repeated nouns (Nomina Reduplikasi) ====
Nouns that are repeated to show plurality; more than one thing
===== Full duplication =====
The entire word gets repeated twice.
Examples (Contoh):
* Meja-meja (Tables)
* Buku-buku (Books)
* Rumah-rumah (Houses)
* Sayur-mayur (Vegetables)
===== Partial duplication =====
The word gets "partially" repeated; a prefix corresponding to the first letter of the base word, added with an e (e.g., Be-, Pe-, Re-, etc).
* Bebatuan (Stones)
* Pepohonan (Trees)
* Rerumputan (Grass (plural))
==== b. Compound nouns (Nomina Majemuk) ====
Nouns that will differ in meaning if joined together, and vice versa.
Examples (Contoh):
* Rumah sakit (Hospital, lit. ''sick house''); without the word 'Sakit', 'Rumah' will mean ''house''. Without 'Rumah', 'Sakit' will mean ''sick''.
* Tanah air (Homeland, lit. ''land water''); If separated, the word 'Tanah' means ''land'', while the word 'Air' means ''water''.
* Mata pelajaran (Subject(s), lit. ''eye lesson''); 'Mata' itself means ''eye'', while 'Pelajaran' means ''lesson''.
* Uang muka (Down payment, lit. ''money face''); 'Uang' means ''money'', while 'muka' means ''face''.
==== c. Affixated nouns (Nomina berafiks) ====
Nouns with prefixes and suffixes (circumfixes). Verbs and adjectives can also be changed into a noun with these circumfixes by replacing verb/adjective-exclusive prefixes with prefixes for nouns, with several words requiring an additional suffix (-an) to have a meaning.
Prefixes
* Pe- (Pe-; Pen-; Per-; Pem-; Peng-)
* Pra-
* Ke-
* Ter-
Suffixes
* -an (-an; -wan)
* -anda (-anda; -nda)
Examples (Contoh):
===== Pe- and its variants =====
* Permainan (Game(s)); Pe(r) + (ber)main (verb, means ''play'') + an
* Pemantik (lighter); Pe + (me)mantik (verb, ''to light something up'')
* Penyelam (Diver); Pe + (me)nyelam (verb, ''to dive'')
* Penghalus (Smoother); Pe(ng) + halus (adjective, ''smooth'')
* Pemalu* (Shy (person)); Pe + malu (adjective, ''shy'')
* Penjual (Seller/merchant); Pe(n) + (men)jual (verb, ''to sell'')
* Perawat (Nurse); Pe + (me)rawat (verb, ''to take care of'')
* Pegunungan (Mountain(s)/mountain range); Pe + gunung (noun, ''mountain'') + an
* Pemandangan (View/landscape); Pe + (me)mandang (verb, ''to view'') + an
* Peradaban (Society); Pe(r) + adab (noun, ''manners'') + an
* Perempatan (Intersection); Pe(r) + empat (four) + an
<nowiki>*</nowiki>Pemalu may still be used in an adjective context (e.g., Dia '''pemalu'''. (she is '''shy'''.))
===== Ke- =====
* Keabadian (Eternity); Ke + abadi (adjective, ''eternal'') + an
* Keadilan (Justice); Ke + adil (adj., ''just''/''fair'') + an
* Kefasihan (Fluency); Ke + fasih (adj., ''fluent'') + an
* Ketinggian* (Height); Ke + tinggi (adj., ''high'') + an
* Keringanan (Relief); Ke + ringan (adj., ''light'') + an
<nowiki>*</nowiki>Word may be used in an adjective context (e.g., Ketinggian! (Too high!))
===== Ke- (with negation) =====
Negated adjectives will remove the space between the word 'tidak' (no) and the adjective itself with the prefix and suffix.
* Ketidakpastian (Uncertainty); Ke + tidak (negative, ''no'') + pasti (adj., ''certain''(''ly'')) + an
* Ketidaknyamanan (Discomfort); Ke + tidak (neg., ''no'') + nyaman (adj., ''comfortable'') + an
* Ketidakjujuran (Dishonesty); Ke +tidak (neg., ''no'') + jujur (adj., ''honest'') + an
===== Ke- (morphological derivation) =====
Adding the prefix Ke- and the suffix -an to certain words (optional for some others) will change their meaning and may cause it to have two or more meanings.
* Kemunduran (Decline/setback/deterioration/regression/''too far back''); Ke + mundur (verb, ''to go backwards'') + an
* Kemajuan (Progress/improvement/advancement/''too far forwards''); Ke + maju (v., ''to go forwards'') + an
* Kenaikan (Increase/rise/increment); Ke + naik (v., ''to go up'') + an
* Keturunan (Offspring); Ke + turun (v., ''to go down'') + an
* Ketua (Leader/head/chief); Ke + tua (n., ''old''/''elderly'')
* Kehendak (Will/desire); Ke + hendak (adverb, (''a'') ''want'')
===== Ter- =====
Words containing the prefix 'Ter-' are commonly used in jurisdictional environments.
* Tersangka (Suspect); Ter + sangka (noun, ''estimation''/''assumption'')
* Terdakwa (Defendant); Ter + dakwa (n., ''confession'')
* Terpidana (Convict); Ter + pidana (n., ''criminal'')
===== Pra- =====
Pre-; before.
* Prasejarah (Prehistoric); Pra + Sejarah (noun, ''history'')
* Prabayar (Prepaid); Pra + bayar (verb, ''to pay'')
* Prasyarat (Prerequisite(s)); Pra + syarat (n., ''condition''(''s''))
===== No prefix (-an only) =====
* Bebatuan (Stones); Batu-batu (noun, ''stone''; repeat variant of 'Batu') + an
* Letusan (Explosion); (me)letus (verb, ''to explode'') + an
* Makanan (food(s)); (me)makan (v., ''to eat'') + an
* Orang-orangan (Humanoid toy; toy that resembles a human being); Orang-orang (n., people) + an
===== No prefix (-wan/-wati) =====
For occupations. '-wan' is a masculine suffix, used for male members of a certain occupation, and '-wati' is a feminine suffix, used for female members.
* Cendekiawan/Cendekiawati (Scholar(s)); Cendekia (noun, ''scholar'' (neutral)) + wan/wati
* Karyawan/Karyawati (Employee(s)); Karya (n., ''creation'') + wan/wati
* Wartawan/Wartawati (Reporter(s)); Warta (n., ''news''/''report'') + wan/wati
the suffix '-wan' can also be used neutrally.
* Relawan (Volunteer(s)); Rela (noun, ''willing''/''compliant'') + wan
* Ilmuwan (Scientist(s)); Ilmu (n., ''knowledge'') + wan
* Sejarawan (Historian(s)); Sejara<s>h</s> (n., ''history'') + wan
===== No prefix (-anda/-nda) =====
The prefix is rarely used in current day-to-day conversations in Indonesia. Words using the suffix are formal in manner and are typically greetings for people close to one another such as family members.
* Ayahanda ((one's) father/dad); Ayah (noun, ''father''/''dad'') + anda
* Ibunda ((one's) mother/mom); Ibu (n., ''mother''/''mom'') + nda
* Adinda ((one's) younger brother/sister); Adi<s>k</s> (n., ''younger brother''/''sister'') + nda
* Kakanda ((one's) older brother/sister); Kaka<s>k</s> (n., ''older brother''/''sister'') + nda
{{Indonesian/Grammar Footer}}
n3l5bi2jxdqe6uarucjprux11g6uxkl
4634733
4634658
2026-05-08T03:05:11Z
Fishingb0at
3581945
fixed typo
4634733
wikitext
text/x-wiki
{{Indonesian Grammar Header}}
Nouns in [[wikipedia:Indonesian_language|Bahasa Indonesia]] are similar to nouns in [[wikipedia:English_language|english]] and almost every other language as it follows basic principles of nouns and corresponds to class of nouns used in various languages around the world.
== Classes ==
=== Concrete nouns (Nomina Konkret) ===
Things, living or not, that we can see, feel, or touch.
Examples with sentences (Contoh dengan kalimat):
* Meja (Table); Ada banyak buku di atas '''meja''' itu. (There are a lot of books on that '''table'''.)
* Binatang (Animal); '''Binatang''' yang baru saja kita lihat tadi sangat besar. (The '''animal''' we just saw was very big.)
* Buku (Book); Saya punya beberapa '''buku''' di kamar saya. (I have some '''books''' in my room.)
* Rumah (House); Saya memiliki '''rumah''' yang lumayan kecil. (I have a fairly small '''house'''.)
* Pensil (Pencil); '''Pensil'''nya dipatahkan temannya. (His/her '''pencil''' was broken by his/her friend.)
=== Abstract nouns (Nomina Abstrak) ===
The opposite of common nouns; something we cannot see, feel, or touch.
Examples with sentences (Contoh dengan kalimat):
* Udara (Air); '''Udara''' pagi ini sangat segar. (The '''air''' this morning is very fresh.)
* Ilmu (Knowledge); Mungkin kelas ini akan memberikanmu sedikit '''ilmu'''. (Perhaps this class will give you some '''knowledge'''.)
* Cinta (Love); '''Cinta''' adalah topik yang sangat rumit. ('''Love''' is a very complex topic.)
* Keberanian* (Bravery); '''Keberanian'''nya harus diakui. (His '''bravery''' should be acknowledged.)
* Keadilan* (Justice); Apakah '''keadilan''' masih ada di negara ini? (Does '''justice''' still exist in this country?)
* Ide (Idea); '''Ide'''mu sangat bagus! (Great '''idea'''!)
<nowiki>*</nowiki>'''Adjectives'''. Both words originate respectively from base words ''berani'' (brave) and ''adil'' (fair) and will change into and be able to be used as a noun if used with circumfixes (in this case, ''Ke-...-an). Using circumfixes will make the noun a derived noun (nomina turunan).''
=== 'Special'/proper nouns (Nomina Khusus) ===
For specific things, such as names of people, places and countries, institutions, and so on. Proper nouns will always start with capital letters.
Examples (Contoh):
Meli, Udin ('''names of people'''), Jakarta, Kuala Lumpur, Beijing ('''cities'''), Indonesia, Belanda, Amerika Serikat, Afrika Selatan ('''Countries'''), Universitas Indonesia, Pertamina, Wikibooks ('''Institutions and companies''')
=== Common nouns (Nomina umum) ===
For non-specific or broadly definable things; can be anything such as occupations, places (not followed by name), animals, and so on.
Examples with sentences (Contoh dengan kalimat):
* Siswa (Student); Dia masih menjadi '''siswa''' di sekolah itu. (He/she is still a '''student''' at that school.)
* Stasiun (Station); Saya menunggunya di '''stasiun''' itu, namun sayangnya ia tak kunjung datang. (I waited for her at that '''station''', but she unfortunately never came.)
* Sungai (River); Arus di '''sungai''' ini sangat kencang! (The current on this '''river''' is really fast!)
* Kucing (Cat); '''Kucing'''mu lucu sekali. (Your '''cat''' is so cute.)
* Peraturan (Rules); Ada '''peraturan''' tak tertulis yang harus anda ketahui. (There is an '''unwritten''' rule you have to know.)
=== Collective nouns (Nomina Kolektif) ===
Nouns that refer to things or people in a group.
Examples with sentences (Contoh dengan kalimat):
* Peserta (participants)*; Banyak '''peserta''' yang mengikuti acara tersebut. (Many '''participants''' took part in the event.)
* Masyarakat (people; society); '''Masyakarat''' di sini cukup harmonis. (The '''people''' here are mostly harmonic.)
* Panitia (Committee); '''Panitia''' pada lomba ini ternyata disuap. (Apparently the '''committee''' on this competition was bribed.)
* Kawanan (Flock/herd); '''Kawanan''' sapi itu sedang makan rumput. (The '''herd''' of cows are grazing on a meadow.)
* Armada (Fleet); '''Armada''' bus kami sangat lengkap. (Our '''fleet''' of buses are very complete.)
* Semua (All); Apakah kalian '''semua''' bisa tenang? (Can '''all''' of you calm down please?)
<nowiki>*</nowiki>'Peserta' can mean both ''participant'' (singular) and ''participants'' (plural) depending on context and use.
== Types ==
=== Base nouns (Nomina dasar) ===
Nouns in their purest form without alterations.
=== Derived nouns (Nomina turunan) ===
Nouns with alterations.
==== a. Duplicate/repeated nouns (Nomina Reduplikasi) ====
Nouns that are repeated to show plurality; more than one thing
===== Full duplication =====
The entire word gets repeated twice.
Examples (Contoh):
* Meja-meja (Tables)
* Buku-buku (Books)
* Rumah-rumah (Houses)
* Sayur-mayur (Vegetables)
===== Partial duplication =====
The word gets "partially" repeated; a prefix corresponding to the first letter of the base word, added with an e (e.g., Be-, Pe-, Re-, etc).
* Bebatuan (Stones)
* Pepohonan (Trees)
* Rerumputan (Grass (plural))
==== b. Compound nouns (Nomina Majemuk) ====
Nouns that will differ in meaning if joined together, and vice versa.
Examples (Contoh):
* Rumah sakit (Hospital, lit. ''sick house''); without the word 'Sakit', 'Rumah' will mean ''house''. Without 'Rumah', 'Sakit' will mean ''sick''.
* Tanah air (Homeland, lit. ''land water''); If separated, the word 'Tanah' means ''land'', while the word 'Air' means ''water''.
* Mata pelajaran (Subject(s), lit. ''eye lesson''); 'Mata' itself means ''eye'', while 'Pelajaran' means ''lesson''.
* Uang muka (Down payment, lit. ''money face''); 'Uang' means ''money'', while 'muka' means ''face''.
==== c. Affixated nouns (Nomina berafiks) ====
Nouns with prefixes and suffixes (circumfixes). Verbs and adjectives can also be changed into a noun with these circumfixes by replacing verb/adjective-exclusive prefixes with prefixes for nouns, with several words requiring an additional suffix (-an) to have a meaning.
Prefixes
* Pe- (Pe-; Pen-; Per-; Pem-; Peng-)
* Pra-
* Ke-
* Ter-
Suffixes
* -an (-an; -wan)
* -anda (-anda; -nda)
Examples (Contoh):
===== Pe- and its variants =====
* Permainan (Game(s)); Pe(r) + (ber)main (verb, means ''play'') + an
* Pemantik (lighter); Pe + (me)mantik (verb, ''to light something up'')
* Penyelam (Diver); Pe + (me)nyelam (verb, ''to dive'')
* Penghalus (Smoother); Pe(ng) + halus (adjective, ''smooth'')
* Pemalu* (Shy (person)); Pe + malu (adjective, ''shy'')
* Penjual (Seller/merchant); Pe(n) + (men)jual (verb, ''to sell'')
* Perawat (Nurse); Pe + (me)rawat (verb, ''to take care of'')
* Pegunungan (Mountain(s)/mountain range); Pe + gunung (noun, ''mountain'') + an
* Pemandangan (View/landscape); Pe + (me)mandang (verb, ''to view'') + an
* Peradaban (Society); Pe(r) + adab (noun, ''manners'') + an
* Perempatan (Intersection); Pe(r) + empat (four) + an
<nowiki>*</nowiki>Pemalu may still be used in an adjective context (e.g., Dia '''pemalu'''. (she is '''shy'''.))
===== Ke- =====
* Keabadian (Eternity); Ke + abadi (adjective, ''eternal'') + an
* Keadilan (Justice); Ke + adil (adj., ''just''/''fair'') + an
* Kefasihan (Fluency); Ke + fasih (adj., ''fluent'') + an
* Ketinggian* (Height); Ke + tinggi (adj., ''high'') + an
* Keringanan (Relief); Ke + ringan (adj., ''light'') + an
<nowiki>*</nowiki>Word may be used in an adjective context (e.g., Ketinggian! (Too high!))
===== Ke- (with negation) =====
Negated adjectives will remove the space between the word 'tidak' (no) and the adjective itself with the prefix and suffix.
* Ketidakpastian (Uncertainty); Ke + tidak (negative, ''no'') + pasti (adj., ''certain''(''ly'')) + an
* Ketidaknyamanan (Discomfort); Ke + tidak (neg., ''no'') + nyaman (adj., ''comfortable'') + an
* Ketidakjujuran (Dishonesty); Ke +tidak (neg., ''no'') + jujur (adj., ''honest'') + an
===== Ke- (morphological derivation) =====
Adding the prefix Ke- and the suffix -an to certain words (optional for some others) will change their meaning and may cause it to have two or more meanings.
* Kemunduran (Decline/setback/deterioration/regression/''too far back''); Ke + mundur (verb, ''to go backwards'') + an
* Kemajuan (Progress/improvement/advancement/''too far forwards''); Ke + maju (v., ''to go forwards'') + an
* Kenaikan (Increase/rise/increment); Ke + naik (v., ''to go up'') + an
* Keturunan (Offspring); Ke + turun (v., ''to go down'') + an
* Ketua (Leader/head/chief); Ke + tua (n., ''old''/''elderly'')
* Kehendak (Will/desire); Ke + hendak (adverb, (''a'') ''want'')
===== Ter- =====
Words containing the prefix 'Ter-' are commonly used in jurisdictional environments.
* Tersangka (Suspect); Ter + sangka (noun, ''estimation''/''assumption'')
* Terdakwa (Defendant); Ter + dakwa (n., ''confession'')
* Terpidana (Convict); Ter + pidana (n., ''criminal'')
===== Pra- =====
Pre-; before.
* Prasejarah (Prehistoric); Pra + Sejarah (noun, ''history'')
* Prabayar (Prepaid); Pra + bayar (verb, ''to pay'')
* Prasyarat (Prerequisite(s)); Pra + syarat (n., ''condition''(''s''))
===== No prefix (-an only) =====
* Bebatuan (Stones); Batu-batu (noun, ''stone''; repeat variant of 'Batu') + an
* Letusan (Explosion); (me)letus (verb, ''to explode'') + an
* Makanan (food(s)); (me)makan (v., ''to eat'') + an
* Orang-orangan (Humanoid toy; toy that resembles a human being); Orang-orang (n., people) + an
===== No prefix (-wan/-wati) =====
For occupations. '-wan' is a masculine suffix, used for male members of a certain occupation, and '-wati' is a feminine suffix, used for female members.
* Cendekiawan/Cendekiawati (Scholar(s)); Cendekia (noun, ''scholar'' (neutral)) + wan/wati
* Karyawan/Karyawati (Employee(s)); Karya (n., ''creation'') + wan/wati
* Wartawan/Wartawati (Reporter(s)); Warta (n., ''news''/''report'') + wan/wati
the suffix '-wan' can also be used neutrally.
* Relawan (Volunteer(s)); Rela (noun, ''willing''/''compliant'') + wan
* Ilmuwan (Scientist(s)); Ilmu (n., ''knowledge'') + wan
* Sejarawan (Historian(s)); Sejara<s>h</s> (n., ''history'') + wan
===== No prefix (-anda/-nda) =====
The suffix is rarely used in current day-to-day conversations in Indonesia. Words using the suffix are formal in manner and are typically greetings for people close to one another such as family members.
* Ayahanda ((one's) father/dad); Ayah (noun, ''father''/''dad'') + anda
* Ibunda ((one's) mother/mom); Ibu (n., ''mother''/''mom'') + nda
* Adinda ((one's) younger brother/sister); Adi<s>k</s> (n., ''younger brother''/''sister'') + nda
* Kakanda ((one's) older brother/sister); Kaka<s>k</s> (n., ''older brother''/''sister'') + nda
{{Indonesian/Grammar Footer}}
pz9vapvdti5bhxpw07tl3ng8i0f8wuo
Cookbook:Atassi Watche
102
483191
4634660
2026-05-07T16:11:16Z
Golgbachev
3581703
Article creation (AfroCuisine 2026)
4634660
wikitext
text/x-wiki
=Beninese Atassi Watche =
'''Atassi Watche''' is a traditional dish widely consumed in Benin, especially in the southern and central regions of the country. The meal is prepared by cooking rice and beans together, creating a soft texture and a rich flavor. It is commonly eaten for breakfast, lunch, or dinner because it is both filling and nutritious.
In Beninese cuisine, Atassi Watche is considered a comforting family meal that is enjoyed by people of all ages. It is frequently sold in local markets, street food stalls, and restaurants. Depending on local customs and personal preferences, the dish may be served with tomato sauce, fried fish, meat, eggs, fried plantains, or Fulani cheese.
The word “Watche” is often used in West Africa to describe rice cooked with beans. In Benin, every family may have its own recipe, using different spices, cooking methods, and accompaniments. The dish is appreciated not only for its taste but also for its affordability and high nutritional value.
== Ingredients ==
To prepare Atassi Watche for about four people, the following ingredients are commonly used:
* 300 g of white rice;
* 200 g of red or black beans;
* 1 medium onion;
* 2 fresh tomatoes;
* 2 tablespoons vegetable oil;
* 1 seasoning cube;
* salt to taste;
* fresh or powdered chili pepper; about 1 liter of water.
=== Optional accompaniments ===
-fried fish;
-grilled meat;
-boiled or fried eggs;
-Fulani cheese;
-spicy tomato sauce;
-avocado;
-fried plantains.
== Preparation ==
=== Preparing the beans ===
The beans should first be sorted and washed carefully to remove dirt and impurities. They are then placed in a cooking pot with clean water and boiled for about thirty to forty-five minutes until tender.
=== Preparing the rice ===
The rice is rinsed several times in clean water to reduce excess starch. Once the beans are almost cooked, the rice is added into the same pot so both ingredients can finish cooking together.
=== Preparing the sauce ===
In a frying pan, vegetable oil is heated before adding chopped onions. Crushed tomatoes are then mixed in together with salt, chili pepper, and seasoning cube. The sauce is allowed to simmer for several minutes until thick and flavorful.
=== Final preparation ===
When the rice and beans mixture becomes soft and fully cooked, the dish is served hot with the prepared sauce and optional side dishes. Some cooks prefer mixing part of the sauce directly into the Atassi to enhance its flavor and color.
== Tips ==
Soaking the beans for several hours before cooking helps reduce cooking time.
Long-grain rice is often preferred because it gives a lighter texture.
Palm oil may be added for a more traditional taste and appearance.
The amount of chili pepper can be adjusted according to personal preference.
Dried fish or dried shrimp can be included for a smoky flavor.
Stirring the mixture occasionally prevents it from sticking to the bottom of the pot.
== Variations ==
Several variations of Atassi Watche exist across Benin and neighboring West African countries.
=== Corn variation ===
In some areas, part of the rice is replaced with corn to create a slightly sweeter taste and a different texture.
=== Vegetarian variation ===
This version excludes meat and fish and is often served with vegetables, avocado, or simple tomato sauce.
=== Spicy variation ===
Extra chili pepper, garlic, or ginger may be added to produce a hotter and more aromatic dish.
=== Festival variation ===
During ceremonies and family celebrations, Atassi Watche may be accompanied by fried chicken, grilled fish, fried plantains, and multiple sauces.
Atassi Watche remains one of the best-known dishes in Beninese gastronomy. Its simplicity, nutritional benefits, and affordable ingredients have contributed to its popularity in homes and restaurants throughout the country.
a7c8hqpiuhnolyqn8aaxfxivwozymsa
4634661
4634660
2026-05-07T16:26:47Z
Golgbachev
3581703
Add infobox (AfroCuisine 2026)
4634661
wikitext
text/x-wiki
'''Atassi Watche''' is a traditional dish widely consumed in Benin, especially in the southern and central regions of the country. The meal is prepared by cooking rice and beans together, creating a soft texture and a rich flavor. It is commonly eaten for breakfast, lunch, or dinner because it is both filling and nutritious.
{{Recipe summary
| Name = Atassi Watche
| Category = Recipes
| Cuisine = Beninese
| Origin = Beninese
| Yield = Rice and beans: 1½ cups black-eyed peas or red beans, soaked overnight; 1½ cups long-grain rice, rinsed; 6 cups water; Dja sauce: 4 tbsp peanut oil; 2 large onions, sliced; 5 medium tomatoes, chopped; 2 tbsp tomato paste; 1 tbsp ground dried shrimp; 1 tsp grated ginger; 2 cloves garlic, minced
| Servings = 6
| Time = 105 minutes
| Difficulty = 3
| Image =
| Energy = Calories: (430 kJ); Protein: 16g; Carbs 70g; Fat: 11g; Fiber: 12g.
}}
In Beninese cuisine, Atassi Watche is considered a comforting family meal that is enjoyed by people of all ages. It is frequently sold in local markets, street food stalls, and restaurants. Depending on local customs and personal preferences, the dish may be served with tomato sauce, fried fish, meat, eggs, fried plantains, or Fulani cheese.
The word “Watche” is often used in West Africa to describe rice cooked with beans. In Benin, every family may have its own recipe, using different spices, cooking methods, and accompaniments. The dish is appreciated not only for its taste but also for its affordability and high nutritional value.
== Ingredients ==
To prepare Atassi Watche for about four people, the following ingredients are commonly used:
* 300 g of white rice;
* 200 g of red or black beans;
* 1 medium onion;
* 2 fresh tomatoes;
* 2 tablespoons vegetable oil;
* 1 seasoning cube;
* salt to taste;
* fresh or powdered chili pepper; about 1 liter of water.
=== Optional accompaniments ===
-fried fish;
-grilled meat;
-boiled or fried eggs;
-Fulani cheese;
-spicy tomato sauce;
-avocado;
-fried plantains.
== Preparation ==
=== Preparing the beans ===
The beans should first be sorted and washed carefully to remove dirt and impurities. They are then placed in a cooking pot with clean water and boiled for about thirty to forty-five minutes until tender.
=== Preparing the rice ===
The rice is rinsed several times in clean water to reduce excess starch. Once the beans are almost cooked, the rice is added into the same pot so both ingredients can finish cooking together.
=== Preparing the sauce ===
In a frying pan, vegetable oil is heated before adding chopped onions. Crushed tomatoes are then mixed in together with salt, chili pepper, and seasoning cube. The sauce is allowed to simmer for several minutes until thick and flavorful.
=== Final preparation ===
When the rice and beans mixture becomes soft and fully cooked, the dish is served hot with the prepared sauce and optional side dishes. Some cooks prefer mixing part of the sauce directly into the Atassi to enhance its flavor and color.
== Tips ==
Soaking the beans for several hours before cooking helps reduce cooking time.
Long-grain rice is often preferred because it gives a lighter texture.
Palm oil may be added for a more traditional taste and appearance.
The amount of chili pepper can be adjusted according to personal preference.
Dried fish or dried shrimp can be included for a smoky flavor.
Stirring the mixture occasionally prevents it from sticking to the bottom of the pot.
== Variations ==
Several variations of Atassi Watche exist across Benin and neighboring West African countries.
=== Corn variation ===
In some areas, part of the rice is replaced with corn to create a slightly sweeter taste and a different texture.
=== Vegetarian variation ===
This version excludes meat and fish and is often served with vegetables, avocado, or simple tomato sauce.
=== Spicy variation ===
Extra chili pepper, garlic, or ginger may be added to produce a hotter and more aromatic dish.
=== Festival variation ===
During ceremonies and family celebrations, Atassi Watche may be accompanied by fried chicken, grilled fish, fried plantains, and multiple sauces.
Atassi Watche remains one of the best-known dishes in Beninese gastronomy. Its simplicity, nutritional benefits, and affordable ingredients have contributed to its popularity in homes and restaurants throughout the country.
cl59eyorwke6zrt728fz48zrdvd8kag
4634663
4634661
2026-05-07T16:44:49Z
Golgbachev
3581703
wifikation
4634663
wikitext
text/x-wiki
'''Atassi Watche''' is a traditional dish widely consumed in Benin, especially in the southern and central regions of the country. The meal is prepared by cooking rice and beans together, creating a soft texture and a rich flavor. It is commonly eaten for breakfast, lunch, or dinner because it is both filling and nutritious.
{{Recipe summary
| Name = Atassi Watche
| Category = Recipes
| Cuisine = Beninese
| Origin = Beninese
| Yield = Rice and beans: 1½ cups black-eyed peas or red beans, soaked overnight; 1½ cups long-grain rice, rinsed; 6 cups water; Dja sauce: 4 tbsp peanut oil; 2 large onions, sliced; 5 medium tomatoes, chopped; 2 tbsp tomato paste; 1 tbsp ground dried shrimp; 1 tsp grated ginger; 2 cloves garlic, minced
| Servings = 6
| Time = 105 minutes
| Difficulty = 3
| Image =
| Energy = Calories: (430 kJ); Protein: 16g; Carbs 70g; Fat: 11g; Fiber: 12g.
}}
In Beninese cuisine, Atassi Watche is considered a comforting family meal that is enjoyed by people of all ages. It is frequently sold in local markets, street food stalls, and restaurants. Depending on local customs and personal preferences, the dish may be served with tomato sauce, fried fish, meat, eggs, fried plantains, or Fulani cheese.
The word “Watche” is often used in West Africa to describe rice cooked with beans. In Benin, every family may have its own recipe, using different spices, cooking methods, and accompaniments. The dish is appreciated not only for its taste but also for its affordability and high nutritional value.
== Ingredients ==
To prepare Atassi Watche for about four people, the following ingredients are commonly used:
* [[300 g]] of white [[rice]];
* [[200 g]] of [[red]] or [[black beans]];
* 1 medium [[onion]];
* 2 [[fresh]] [[tomatoes]];
* 2 [[tablespoons]] [[vegetable]] oil;
* 1 seasoning cube;
* Salt to taste;
* fresh or powdered chili pepper; about 1 liter of water.
=== Optional accompaniments ===
-fried fish;
-grilled meat;
-boiled or fried eggs;
-Fulani cheese;
-spicy tomato sauce;
-avocado;
-fried plantains.
== Preparation ==
=== Preparing the beans ===
The beans should first be sorted and washed carefully to remove dirt and impurities. They are then placed in a cooking pot with clean water and boiled for about thirty to forty-five minutes until tender.
=== Preparing the rice ===
The rice is rinsed several times in clean water to reduce excess starch. Once the beans are almost cooked, the rice is added into the same pot so both ingredients can finish cooking together.
=== Preparing the sauce ===
In a frying pan, vegetable oil is heated before adding chopped onions. Crushed tomatoes are then mixed in together with salt, chili pepper, and seasoning cube. The sauce is allowed to simmer for several minutes until thick and flavorful.
=== Final preparation ===
When the rice and beans mixture becomes soft and fully cooked, the dish is served hot with the prepared sauce and optional side dishes. Some cooks prefer mixing part of the sauce directly into the Atassi to enhance its flavor and color.
== Tips ==
Soaking the beans for several hours before cooking helps reduce cooking time.
Long-grain rice is often preferred because it gives a lighter texture.
Palm oil may be added for a more traditional taste and appearance.
The amount of chili pepper can be adjusted according to personal preference.
Dried fish or dried shrimp can be included for a smoky flavor.
Stirring the mixture occasionally prevents it from sticking to the bottom of the pot.
== Variations ==
Several variations of Atassi Watche exist across Benin and neighboring West African countries.
=== Corn variation ===
In some areas, part of the rice is replaced with corn to create a slightly sweeter taste and a different texture.
=== Vegetarian variation ===
This version excludes meat and fish and is often served with vegetables, avocado, or simple tomato sauce.
=== Spicy variation ===
Extra chili pepper, garlic, or ginger may be added to produce a hotter and more aromatic dish.
=== Festival variation ===
During ceremonies and family celebrations, Atassi Watche may be accompanied by fried chicken, grilled fish, fried plantains, and multiple sauces.
Atassi Watche remains one of the best-known dishes in Beninese gastronomy. Its simplicity, nutritional benefits, and affordable ingredients have contributed to its popularity in homes and restaurants throughout the country.
hv0wn50exu226hvi7eg8lkxqfvkpna0
4634664
4634663
2026-05-07T16:46:05Z
Golgbachev
3581703
Correction
4634664
wikitext
text/x-wiki
'''Atassi Watche''' is a traditional dish widely consumed in Benin, especially in the southern and central regions of the country. The meal is prepared by cooking rice and beans together, creating a soft texture and a rich flavor. It is commonly eaten for breakfast, lunch, or dinner because it is both filling and nutritious.
{{Recipe summary
| Name = Atassi Watche
| Category = Recipes
| Cuisine = Beninese
| Origin = Beninese
| Yield = Rice and beans: 1½ cups black-eyed peas or red beans, soaked overnight; 1½ cups long-grain rice, rinsed; 6 cups water; Dja sauce: 4 tbsp peanut oil; 2 large onions, sliced; 5 medium tomatoes, chopped; 2 tbsp tomato paste; 1 tbsp ground dried shrimp; 1 tsp grated ginger; 2 cloves garlic, minced
| Servings = 6
| Time = 105 minutes
| Difficulty = 3
| Image =
| Energy = Calories: (430 kJ); Protein: 16g; Carbs 70g; Fat: 11g; Fiber: 12g.
}}
In Beninese cuisine, Atassi Watche is considered a comforting family meal that is enjoyed by people of all ages. It is frequently sold in local markets, street food stalls, and restaurants. Depending on local customs and personal preferences, the dish may be served with tomato sauce, fried fish, meat, eggs, fried plantains, or Fulani cheese.
The word “Watche” is often used in West Africa to describe rice cooked with beans. In Benin, every family may have its own recipe, using different spices, cooking methods, and accompaniments. The dish is appreciated not only for its taste but also for its affordability and high nutritional value.
== Ingredients ==
To prepare Atassi Watche for about four people, the following ingredients are commonly used:
* 300 g of white rice;
* 200 g of red or black beans;
* 1 medium onion;
* 2 fresh tomatoes;
* 2 tablespoons vegetable oil;
* 1 seasoning cube;
* Salt to taste;
* fresh or powdered chili pepper; about 1 liter of water.
=== Optional accompaniments ===
-fried fish;
-grilled meat;
-boiled or fried eggs;
-Fulani cheese;
-spicy tomato sauce;
-avocado;
-fried plantains.
== Preparation ==
=== Preparing the beans ===
The beans should first be sorted and washed carefully to remove dirt and impurities. They are then placed in a cooking pot with clean water and boiled for about thirty to forty-five minutes until tender.
=== Preparing the rice ===
The rice is rinsed several times in clean water to reduce excess starch. Once the beans are almost cooked, the rice is added into the same pot so both ingredients can finish cooking together.
=== Preparing the sauce ===
In a frying pan, vegetable oil is heated before adding chopped onions. Crushed tomatoes are then mixed in together with salt, chili pepper, and seasoning cube. The sauce is allowed to simmer for several minutes until thick and flavorful.
=== Final preparation ===
When the rice and beans mixture becomes soft and fully cooked, the dish is served hot with the prepared sauce and optional side dishes. Some cooks prefer mixing part of the sauce directly into the Atassi to enhance its flavor and color.
== Tips ==
Soaking the beans for several hours before cooking helps reduce cooking time.
Long-grain rice is often preferred because it gives a lighter texture.
Palm oil may be added for a more traditional taste and appearance.
The amount of chili pepper can be adjusted according to personal preference.
Dried fish or dried shrimp can be included for a smoky flavor.
Stirring the mixture occasionally prevents it from sticking to the bottom of the pot.
== Variations ==
Several variations of Atassi Watche exist across Benin and neighboring West African countries.
=== Corn variation ===
In some areas, part of the rice is replaced with corn to create a slightly sweeter taste and a different texture.
=== Vegetarian variation ===
This version excludes meat and fish and is often served with vegetables, avocado, or simple tomato sauce.
=== Spicy variation ===
Extra chili pepper, garlic, or ginger may be added to produce a hotter and more aromatic dish.
=== Festival variation ===
During ceremonies and family celebrations, Atassi Watche may be accompanied by fried chicken, grilled fish, fried plantains, and multiple sauces.
Atassi Watche remains one of the best-known dishes in Beninese gastronomy. Its simplicity, nutritional benefits, and affordable ingredients have contributed to its popularity in homes and restaurants throughout the country.
tv7cjei2o2y08ug1gejfpwtabkohhpu
4634702
4634664
2026-05-08T02:03:09Z
Kittycataclysm
3371989
Kittycataclysm moved page [[Atassi Watche]] to [[Cookbook:Atassi Watche]] without leaving a redirect: correcting namespace
4634664
wikitext
text/x-wiki
'''Atassi Watche''' is a traditional dish widely consumed in Benin, especially in the southern and central regions of the country. The meal is prepared by cooking rice and beans together, creating a soft texture and a rich flavor. It is commonly eaten for breakfast, lunch, or dinner because it is both filling and nutritious.
{{Recipe summary
| Name = Atassi Watche
| Category = Recipes
| Cuisine = Beninese
| Origin = Beninese
| Yield = Rice and beans: 1½ cups black-eyed peas or red beans, soaked overnight; 1½ cups long-grain rice, rinsed; 6 cups water; Dja sauce: 4 tbsp peanut oil; 2 large onions, sliced; 5 medium tomatoes, chopped; 2 tbsp tomato paste; 1 tbsp ground dried shrimp; 1 tsp grated ginger; 2 cloves garlic, minced
| Servings = 6
| Time = 105 minutes
| Difficulty = 3
| Image =
| Energy = Calories: (430 kJ); Protein: 16g; Carbs 70g; Fat: 11g; Fiber: 12g.
}}
In Beninese cuisine, Atassi Watche is considered a comforting family meal that is enjoyed by people of all ages. It is frequently sold in local markets, street food stalls, and restaurants. Depending on local customs and personal preferences, the dish may be served with tomato sauce, fried fish, meat, eggs, fried plantains, or Fulani cheese.
The word “Watche” is often used in West Africa to describe rice cooked with beans. In Benin, every family may have its own recipe, using different spices, cooking methods, and accompaniments. The dish is appreciated not only for its taste but also for its affordability and high nutritional value.
== Ingredients ==
To prepare Atassi Watche for about four people, the following ingredients are commonly used:
* 300 g of white rice;
* 200 g of red or black beans;
* 1 medium onion;
* 2 fresh tomatoes;
* 2 tablespoons vegetable oil;
* 1 seasoning cube;
* Salt to taste;
* fresh or powdered chili pepper; about 1 liter of water.
=== Optional accompaniments ===
-fried fish;
-grilled meat;
-boiled or fried eggs;
-Fulani cheese;
-spicy tomato sauce;
-avocado;
-fried plantains.
== Preparation ==
=== Preparing the beans ===
The beans should first be sorted and washed carefully to remove dirt and impurities. They are then placed in a cooking pot with clean water and boiled for about thirty to forty-five minutes until tender.
=== Preparing the rice ===
The rice is rinsed several times in clean water to reduce excess starch. Once the beans are almost cooked, the rice is added into the same pot so both ingredients can finish cooking together.
=== Preparing the sauce ===
In a frying pan, vegetable oil is heated before adding chopped onions. Crushed tomatoes are then mixed in together with salt, chili pepper, and seasoning cube. The sauce is allowed to simmer for several minutes until thick and flavorful.
=== Final preparation ===
When the rice and beans mixture becomes soft and fully cooked, the dish is served hot with the prepared sauce and optional side dishes. Some cooks prefer mixing part of the sauce directly into the Atassi to enhance its flavor and color.
== Tips ==
Soaking the beans for several hours before cooking helps reduce cooking time.
Long-grain rice is often preferred because it gives a lighter texture.
Palm oil may be added for a more traditional taste and appearance.
The amount of chili pepper can be adjusted according to personal preference.
Dried fish or dried shrimp can be included for a smoky flavor.
Stirring the mixture occasionally prevents it from sticking to the bottom of the pot.
== Variations ==
Several variations of Atassi Watche exist across Benin and neighboring West African countries.
=== Corn variation ===
In some areas, part of the rice is replaced with corn to create a slightly sweeter taste and a different texture.
=== Vegetarian variation ===
This version excludes meat and fish and is often served with vegetables, avocado, or simple tomato sauce.
=== Spicy variation ===
Extra chili pepper, garlic, or ginger may be added to produce a hotter and more aromatic dish.
=== Festival variation ===
During ceremonies and family celebrations, Atassi Watche may be accompanied by fried chicken, grilled fish, fried plantains, and multiple sauces.
Atassi Watche remains one of the best-known dishes in Beninese gastronomy. Its simplicity, nutritional benefits, and affordable ingredients have contributed to its popularity in homes and restaurants throughout the country.
tv7cjei2o2y08ug1gejfpwtabkohhpu
4634705
4634702
2026-05-08T02:09:07Z
Kittycataclysm
3371989
incomplete flag
4634705
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing appropriate linking, doesn't match cookbook formatting, missing categories, missing header template, stylistic adjustments needed}}
'''Atassi Watche''' is a traditional dish widely consumed in Benin, especially in the southern and central regions of the country. The meal is prepared by cooking rice and beans together, creating a soft texture and a rich flavor. It is commonly eaten for breakfast, lunch, or dinner because it is both filling and nutritious.
{{Recipe summary
| Name = Atassi Watche
| Category = Recipes
| Cuisine = Beninese
| Origin = Beninese
| Yield = Rice and beans: 1½ cups black-eyed peas or red beans, soaked overnight; 1½ cups long-grain rice, rinsed; 6 cups water; Dja sauce: 4 tbsp peanut oil; 2 large onions, sliced; 5 medium tomatoes, chopped; 2 tbsp tomato paste; 1 tbsp ground dried shrimp; 1 tsp grated ginger; 2 cloves garlic, minced
| Servings = 6
| Time = 105 minutes
| Difficulty = 3
| Image =
| Energy = Calories: (430 kJ); Protein: 16g; Carbs 70g; Fat: 11g; Fiber: 12g.
}}
In Beninese cuisine, Atassi Watche is considered a comforting family meal that is enjoyed by people of all ages. It is frequently sold in local markets, street food stalls, and restaurants. Depending on local customs and personal preferences, the dish may be served with tomato sauce, fried fish, meat, eggs, fried plantains, or Fulani cheese.
The word “Watche” is often used in West Africa to describe rice cooked with beans. In Benin, every family may have its own recipe, using different spices, cooking methods, and accompaniments. The dish is appreciated not only for its taste but also for its affordability and high nutritional value.
== Ingredients ==
To prepare Atassi Watche for about four people, the following ingredients are commonly used:
* 300 g of white rice;
* 200 g of red or black beans;
* 1 medium onion;
* 2 fresh tomatoes;
* 2 tablespoons vegetable oil;
* 1 seasoning cube;
* Salt to taste;
* fresh or powdered chili pepper; about 1 liter of water.
=== Optional accompaniments ===
-fried fish;
-grilled meat;
-boiled or fried eggs;
-Fulani cheese;
-spicy tomato sauce;
-avocado;
-fried plantains.
== Preparation ==
=== Preparing the beans ===
The beans should first be sorted and washed carefully to remove dirt and impurities. They are then placed in a cooking pot with clean water and boiled for about thirty to forty-five minutes until tender.
=== Preparing the rice ===
The rice is rinsed several times in clean water to reduce excess starch. Once the beans are almost cooked, the rice is added into the same pot so both ingredients can finish cooking together.
=== Preparing the sauce ===
In a frying pan, vegetable oil is heated before adding chopped onions. Crushed tomatoes are then mixed in together with salt, chili pepper, and seasoning cube. The sauce is allowed to simmer for several minutes until thick and flavorful.
=== Final preparation ===
When the rice and beans mixture becomes soft and fully cooked, the dish is served hot with the prepared sauce and optional side dishes. Some cooks prefer mixing part of the sauce directly into the Atassi to enhance its flavor and color.
== Tips ==
Soaking the beans for several hours before cooking helps reduce cooking time.
Long-grain rice is often preferred because it gives a lighter texture.
Palm oil may be added for a more traditional taste and appearance.
The amount of chili pepper can be adjusted according to personal preference.
Dried fish or dried shrimp can be included for a smoky flavor.
Stirring the mixture occasionally prevents it from sticking to the bottom of the pot.
== Variations ==
Several variations of Atassi Watche exist across Benin and neighboring West African countries.
=== Corn variation ===
In some areas, part of the rice is replaced with corn to create a slightly sweeter taste and a different texture.
=== Vegetarian variation ===
This version excludes meat and fish and is often served with vegetables, avocado, or simple tomato sauce.
=== Spicy variation ===
Extra chili pepper, garlic, or ginger may be added to produce a hotter and more aromatic dish.
=== Festival variation ===
During ceremonies and family celebrations, Atassi Watche may be accompanied by fried chicken, grilled fish, fried plantains, and multiple sauces.
Atassi Watche remains one of the best-known dishes in Beninese gastronomy. Its simplicity, nutritional benefits, and affordable ingredients have contributed to its popularity in homes and restaurants throughout the country.
905o67awrj6v7x4pnwdvk2lb8ersnuz
Cookbook:Grilled Wagasi
102
483192
4634667
2026-05-07T17:04:12Z
Golgbachev
3581703
Article creation (AfroCuisine 2026)
4634667
wikitext
text/x-wiki
'''Grilled Wagasi''' is a traditional Beninese dish made from ''Wagasi'', a soft local cheese originally produced by the Fulani communities of Benin. Wagasi, also known as Fulani cheese, is especially popular in the northern and central regions of the country where cattle farming is common. The cheese is traditionally prepared from cow milk and preserved naturally using leaves or light smoking techniques. The cheese is usually grilled over charcoal or fried lightly until the outside becomes golden brown while the inside remains tender.
== Ingredients ==
The following ingredients are commonly used to prepare Grilled Wagasi:
* 500 g of Wagasi cheese;
* 2 tablespoons vegetable oil;
* 1 onion;
* 2 fresh tomatoes;
* chili pepper to taste;
* salt;
* black pepper;
* garlic powder or fresh garlic;
* fresh parsley or herbs for garnish.
==== Optional accompaniments ====
* fried plantains;
* white rice;
* spicy tomato sauce;
* fresh salad;
* grilled fish or meat.
== Preparation ==
* '''Preparing the cheese''': the Wagasi cheese is first rinsed with clean water and cut into medium slices or cubes. Some cooks marinate the cheese briefly with garlic, black pepper, and a little salt to improve the flavor.
* '''Grilling process''': a charcoal grill or frying pan is heated before lightly brushing it with vegetable oil. The cheese pieces are then placed on the grill and cooked for several minutes on each side until golden brown. The outside becomes slightly crispy while the inside stays soft.
* '''Preparing the sauce''': in a separate pan, chopped onions are sautéed in oil. Crushed tomatoes and chili pepper are added and cooked slowly until a thick sauce forms. Salt and seasoning are added according to taste.
* '''Serving''': the grilled Wagasi is served hot with tomato sauce and optional side dishes such as fried plantains, rice, or salad. Fresh parsley or herbs may be added on top for decoration and flavor.
6dz0k7t4fcae3u7hngjda39qiz9vhpe
4634668
4634667
2026-05-07T17:13:17Z
Golgbachev
3581703
Add infobox (AfroCuisine 2026)
4634668
wikitext
text/x-wiki
'''Grilled Wagasi''' is a traditional Beninese dish made from ''Wagasi'', a soft local cheese originally produced by the Fulani communities of Benin. Wagasi, also known as Fulani cheese, is especially popular in the northern and central regions of the country where cattle farming is common. The cheese is traditionally prepared from cow milk and preserved naturally using leaves or light smoking techniques. The cheese is usually grilled over charcoal or fried lightly until the outside becomes golden brown while the inside remains tender.
{{Recipe summary
| Name = Grilled Wagasi
| Category = Breakfast
| Cuisine = Beninese
| Origin = Beninese
| Servings = 4
| Time = 20 minutes
| Difficulty = 1
}}
== Ingredients ==
The following ingredients are commonly used to prepare Grilled Wagasi:
* 500 g of Wagasi cheese;
* 2 tablespoons vegetable oil;
* 1 onion;
* 2 fresh tomatoes;
* chili pepper to taste;
* salt;
* black pepper;
* garlic powder or fresh garlic;
* fresh parsley or herbs for garnish.
==== Optional accompaniments ====
* fried plantains;
* white rice;
* spicy tomato sauce;
* fresh salad;
* grilled fish or meat.
== Preparation ==
* '''Preparing the cheese''': the Wagasi cheese is first rinsed with clean water and cut into medium slices or cubes. Some cooks marinate the cheese briefly with garlic, black pepper, and a little salt to improve the flavor.
* '''Grilling process''': a charcoal grill or frying pan is heated before lightly brushing it with vegetable oil. The cheese pieces are then placed on the grill and cooked for several minutes on each side until golden brown. The outside becomes slightly crispy while the inside stays soft.
* '''Preparing the sauce''': in a separate pan, chopped onions are sautéed in oil. Crushed tomatoes and chili pepper are added and cooked slowly until a thick sauce forms. Salt and seasoning are added according to taste.
* '''Serving''': the grilled Wagasi is served hot with tomato sauce and optional side dishes such as fried plantains, rice, or salad. Fresh parsley or herbs may be added on top for decoration and flavor.
o07x8gedh4m1ac4da7hchl6lonqdrda
4634701
4634668
2026-05-08T02:02:48Z
Kittycataclysm
3371989
Kittycataclysm moved page [[Grilled Wagasi]] to [[Cookbook:Grilled Wagasi]] without leaving a redirect: correcting namespace
4634668
wikitext
text/x-wiki
'''Grilled Wagasi''' is a traditional Beninese dish made from ''Wagasi'', a soft local cheese originally produced by the Fulani communities of Benin. Wagasi, also known as Fulani cheese, is especially popular in the northern and central regions of the country where cattle farming is common. The cheese is traditionally prepared from cow milk and preserved naturally using leaves or light smoking techniques. The cheese is usually grilled over charcoal or fried lightly until the outside becomes golden brown while the inside remains tender.
{{Recipe summary
| Name = Grilled Wagasi
| Category = Breakfast
| Cuisine = Beninese
| Origin = Beninese
| Servings = 4
| Time = 20 minutes
| Difficulty = 1
}}
== Ingredients ==
The following ingredients are commonly used to prepare Grilled Wagasi:
* 500 g of Wagasi cheese;
* 2 tablespoons vegetable oil;
* 1 onion;
* 2 fresh tomatoes;
* chili pepper to taste;
* salt;
* black pepper;
* garlic powder or fresh garlic;
* fresh parsley or herbs for garnish.
==== Optional accompaniments ====
* fried plantains;
* white rice;
* spicy tomato sauce;
* fresh salad;
* grilled fish or meat.
== Preparation ==
* '''Preparing the cheese''': the Wagasi cheese is first rinsed with clean water and cut into medium slices or cubes. Some cooks marinate the cheese briefly with garlic, black pepper, and a little salt to improve the flavor.
* '''Grilling process''': a charcoal grill or frying pan is heated before lightly brushing it with vegetable oil. The cheese pieces are then placed on the grill and cooked for several minutes on each side until golden brown. The outside becomes slightly crispy while the inside stays soft.
* '''Preparing the sauce''': in a separate pan, chopped onions are sautéed in oil. Crushed tomatoes and chili pepper are added and cooked slowly until a thick sauce forms. Salt and seasoning are added according to taste.
* '''Serving''': the grilled Wagasi is served hot with tomato sauce and optional side dishes such as fried plantains, rice, or salad. Fresh parsley or herbs may be added on top for decoration and flavor.
o07x8gedh4m1ac4da7hchl6lonqdrda
4634704
4634701
2026-05-08T02:07:07Z
Kittycataclysm
3371989
incomplete flag
4634704
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing appropriate linking, doesn't match cookbook formatting, missing categories, missing header template, stylistic adjustments needed, POV is incorrect for recipes}}
'''Grilled Wagasi''' is a traditional Beninese dish made from ''Wagasi'', a soft local cheese originally produced by the Fulani communities of Benin. Wagasi, also known as Fulani cheese, is especially popular in the northern and central regions of the country where cattle farming is common. The cheese is traditionally prepared from cow milk and preserved naturally using leaves or light smoking techniques. The cheese is usually grilled over charcoal or fried lightly until the outside becomes golden brown while the inside remains tender.
{{Recipe summary
| Name = Grilled Wagasi
| Category = Breakfast
| Cuisine = Beninese
| Origin = Beninese
| Servings = 4
| Time = 20 minutes
| Difficulty = 1
}}
== Ingredients ==
The following ingredients are commonly used to prepare Grilled Wagasi:
* 500 g of Wagasi cheese;
* 2 tablespoons vegetable oil;
* 1 onion;
* 2 fresh tomatoes;
* chili pepper to taste;
* salt;
* black pepper;
* garlic powder or fresh garlic;
* fresh parsley or herbs for garnish.
==== Optional accompaniments ====
* fried plantains;
* white rice;
* spicy tomato sauce;
* fresh salad;
* grilled fish or meat.
== Preparation ==
* '''Preparing the cheese''': the Wagasi cheese is first rinsed with clean water and cut into medium slices or cubes. Some cooks marinate the cheese briefly with garlic, black pepper, and a little salt to improve the flavor.
* '''Grilling process''': a charcoal grill or frying pan is heated before lightly brushing it with vegetable oil. The cheese pieces are then placed on the grill and cooked for several minutes on each side until golden brown. The outside becomes slightly crispy while the inside stays soft.
* '''Preparing the sauce''': in a separate pan, chopped onions are sautéed in oil. Crushed tomatoes and chili pepper are added and cooked slowly until a thick sauce forms. Salt and seasoning are added according to taste.
* '''Serving''': the grilled Wagasi is served hot with tomato sauce and optional side dishes such as fried plantains, rice, or salad. Fresh parsley or herbs may be added on top for decoration and flavor.
p91ymob1v4c25pur0q4kxfdpgy0xnua
Cookbook:Dambou
102
483193
4634675
2026-05-07T17:47:53Z
Golgbachev
3581703
Article creation (AfroCuisine 2026)
4634675
wikitext
text/x-wiki
'''Dambu''' or '''dambou''' is a dish native to the [[wikipedia:Zarma_people|Zarma]] and [[wikipedia:Songhai_people_(subgroup)|Songhai]] of Southwestern [[wikipedia:Niger|Niger]] made from cereals and [[wikipedia:Moringa_(genus)|moringa]]. This dish is also common among the [[wikipedia:Dendi_people|Dendi people]] of North [[wikipedia:Benin|Benin]] and other West African cities. It is also common in the [[wikipedia:Zongo_settlements|Zongo settlements]] where the Songhai and Zarma travel.The dish is generally prepared from cereal grains steamed and mixed with vegetables, spices, and sometimes fish or meat.
== Ingredients ==
The following ingredients are commonly used to prepare Dambou:
* '''2 cups''' millet flour, rice flour, or fine couscous grains;
* '''2 cups''' fresh moringa leaves or spinach, ''chopped;''
* '''1 whole''' onion, ''finely diced;''
* '''3''' '''tablespoons''' groundnut oil;
* '''1''' '''tablespoons''' salt;
* '''¼ cup''' roasted peanuts, ''crushed;''
* '''¾ cup''' water, ''for sprinkling and steaming.''
== Preparation ==
Form grains: Sprinkle water into the millet flour or couscous while rubbing with your fingers to form tiny grains.
Steam first: Steam the grains in a lined steamer until firm and fluffy during twenty minutes.
Cook greens: Blanch or steam moringa leaves until tender, then squeeze lightly if very wet during ten minutes.
Mix and finish: Break up the steamed grains and fold in moringa, onion, pepper, oil, crushed peanuts, and salt.
Warm through: return to the steamer briefly so the flavors settle and the texture stays fluffy during ten minutes.
Serving: Dambou is usually served hot and may be accompanied by extra sauce, grilled meat, or fresh vegetables. Some people prefer eating it with spicy pepper sauce for stronger flavor.
coxs8jlioafehud76fdq5nrmx4kmnxa
4634677
4634675
2026-05-07T17:52:56Z
Golgbachev
3581703
Add infobox (AfroCuisine 2026)
4634677
wikitext
text/x-wiki
'''Dambu''' or '''dambou''' is a dish native to the [[wikipedia:Zarma_people|Zarma]] and [[wikipedia:Songhai_people_(subgroup)|Songhai]] of Southwestern [[wikipedia:Niger|Niger]] made from cereals and [[wikipedia:Moringa_(genus)|moringa]]. This dish is also common among the [[wikipedia:Dendi_people|Dendi people]] of North [[wikipedia:Benin|Benin]] and other West African cities. It is also common in the [[wikipedia:Zongo_settlements|Zongo settlements]] where the Songhai and Zarma travel.The dish is generally prepared from cereal grains steamed and mixed with vegetables, spices, and sometimes fish or meat.
{{Recipe summary
| Name = Dambou
| Cuisine = Nigerien
| Origin = Nigerien
| Servings = 6
| Time = 60 minutes
| Difficulty = 3
}}
== Ingredients ==
The following ingredients are commonly used to prepare Dambou:
* '''2 cups''' millet flour, rice flour, or fine couscous grains;
* '''2 cups''' fresh moringa leaves or spinach, ''chopped;''
* '''1 whole''' onion, ''finely diced;''
* '''3''' '''tablespoons''' groundnut oil;
* '''1''' '''tablespoons''' salt;
* '''¼ cup''' roasted peanuts, ''crushed;''
* '''¾ cup''' water, ''for sprinkling and steaming.''
== Preparation ==
'''Form grains''': Sprinkle water into the millet flour or couscous while rubbing with your fingers to form tiny grains.
'''Steam first''': Steam the grains in a lined steamer until firm and fluffy during twenty minutes.
'''Cook greens''': Blanch or steam moringa leaves until tender, then squeeze lightly if very wet during ten minutes.
'''Mix and finish''': Break up the steamed grains and fold in moringa, onion, pepper, oil, crushed peanuts, and salt.
'''Warm through''': return to the steamer briefly so the flavors settle and the texture stays fluffy during ten minutes.
'''Serving''': Dambou is usually served hot and may be accompanied by extra sauce, grilled meat, or fresh vegetables. Some people prefer eating it with spicy pepper sauce for stronger flavor.
m24n33dnikff2gkb6pp7v6dl30ilbca
4634700
4634677
2026-05-08T02:02:23Z
Kittycataclysm
3371989
Kittycataclysm moved page [[Dambou]] to [[Cookbook:Dambou]] without leaving a redirect: correcting namespace
4634677
wikitext
text/x-wiki
'''Dambu''' or '''dambou''' is a dish native to the [[wikipedia:Zarma_people|Zarma]] and [[wikipedia:Songhai_people_(subgroup)|Songhai]] of Southwestern [[wikipedia:Niger|Niger]] made from cereals and [[wikipedia:Moringa_(genus)|moringa]]. This dish is also common among the [[wikipedia:Dendi_people|Dendi people]] of North [[wikipedia:Benin|Benin]] and other West African cities. It is also common in the [[wikipedia:Zongo_settlements|Zongo settlements]] where the Songhai and Zarma travel.The dish is generally prepared from cereal grains steamed and mixed with vegetables, spices, and sometimes fish or meat.
{{Recipe summary
| Name = Dambou
| Cuisine = Nigerien
| Origin = Nigerien
| Servings = 6
| Time = 60 minutes
| Difficulty = 3
}}
== Ingredients ==
The following ingredients are commonly used to prepare Dambou:
* '''2 cups''' millet flour, rice flour, or fine couscous grains;
* '''2 cups''' fresh moringa leaves or spinach, ''chopped;''
* '''1 whole''' onion, ''finely diced;''
* '''3''' '''tablespoons''' groundnut oil;
* '''1''' '''tablespoons''' salt;
* '''¼ cup''' roasted peanuts, ''crushed;''
* '''¾ cup''' water, ''for sprinkling and steaming.''
== Preparation ==
'''Form grains''': Sprinkle water into the millet flour or couscous while rubbing with your fingers to form tiny grains.
'''Steam first''': Steam the grains in a lined steamer until firm and fluffy during twenty minutes.
'''Cook greens''': Blanch or steam moringa leaves until tender, then squeeze lightly if very wet during ten minutes.
'''Mix and finish''': Break up the steamed grains and fold in moringa, onion, pepper, oil, crushed peanuts, and salt.
'''Warm through''': return to the steamer briefly so the flavors settle and the texture stays fluffy during ten minutes.
'''Serving''': Dambou is usually served hot and may be accompanied by extra sauce, grilled meat, or fresh vegetables. Some people prefer eating it with spicy pepper sauce for stronger flavor.
m24n33dnikff2gkb6pp7v6dl30ilbca
4634703
4634700
2026-05-08T02:05:57Z
Kittycataclysm
3371989
incomplete flag
4634703
wikitext
text/x-wiki
{{Incomplete recipe|reason=missing appropriate linking, doesn't match cookbook formatting, missing categories, missing header template, stylistic adjustments needed}}
'''Dambu''' or '''dambou''' is a dish native to the [[wikipedia:Zarma_people|Zarma]] and [[wikipedia:Songhai_people_(subgroup)|Songhai]] of Southwestern [[wikipedia:Niger|Niger]] made from cereals and [[wikipedia:Moringa_(genus)|moringa]]. This dish is also common among the [[wikipedia:Dendi_people|Dendi people]] of North [[wikipedia:Benin|Benin]] and other West African cities. It is also common in the [[wikipedia:Zongo_settlements|Zongo settlements]] where the Songhai and Zarma travel.The dish is generally prepared from cereal grains steamed and mixed with vegetables, spices, and sometimes fish or meat.
{{Recipe summary
| Name = Dambou
| Cuisine = Nigerien
| Origin = Nigerien
| Servings = 6
| Time = 60 minutes
| Difficulty = 3
}}
== Ingredients ==
The following ingredients are commonly used to prepare Dambou:
* '''2 cups''' millet flour, rice flour, or fine couscous grains;
* '''2 cups''' fresh moringa leaves or spinach, ''chopped;''
* '''1 whole''' onion, ''finely diced;''
* '''3''' '''tablespoons''' groundnut oil;
* '''1''' '''tablespoons''' salt;
* '''¼ cup''' roasted peanuts, ''crushed;''
* '''¾ cup''' water, ''for sprinkling and steaming.''
== Preparation ==
'''Form grains''': Sprinkle water into the millet flour or couscous while rubbing with your fingers to form tiny grains.
'''Steam first''': Steam the grains in a lined steamer until firm and fluffy during twenty minutes.
'''Cook greens''': Blanch or steam moringa leaves until tender, then squeeze lightly if very wet during ten minutes.
'''Mix and finish''': Break up the steamed grains and fold in moringa, onion, pepper, oil, crushed peanuts, and salt.
'''Warm through''': return to the steamer briefly so the flavors settle and the texture stays fluffy during ten minutes.
'''Serving''': Dambou is usually served hot and may be accompanied by extra sauce, grilled meat, or fresh vegetables. Some people prefer eating it with spicy pepper sauce for stronger flavor.
hv6f4qx0xvqysunruou9gsaui89ehaa
User:Pizzazilla1/sandbox
2
483194
4634676
2026-05-07T17:48:46Z
Pizzazilla1
3581964
i have added about my restaurant details along with timing & feature
4634676
wikitext
text/x-wiki
If you're in Albany and you're hungry for something real — something made with care, loaded with flavor, and built to impress — '''Pizzazilla NY'''<ref>{{Cite web |title=Pizza in Albany & Colonie {{!}} Pizza Zilla |url=https://pizzazillany.com/ |access-date=2026-05-07 |website=pizza |language=en-US}}</ref> is your spot. We're not your average pizza place. We set out to create pies that feel exciting from the first bite to the last.
== Why Pizzazilla? ==
Everything starts with freshness. We source quality ingredients and prep daily, so every crust comes out perfectly crisp, every sauce bursts with flavor, and every topping tastes exactly as it should. No shortcuts, no freezer shortcuts — just honest, delicious pizza.
What really sets us apart is our approach to toppings. We go beyond the classics with bold, creative combinations that keep our regulars coming back to try something new. Whether you're a traditionalist who loves a perfect margherita or an adventurous eater looking for your next favorite flavor, our menu has something that'll hit the spot.
== Visit Us in Albany ==
We're proud to be part of the Albany community. Come hungry, bring friends, and leave happy. You can always check our latest menu, specials, and hours on our website before you head over.
[https://pizzazillany.com/ Visit Us to order Pizza]
=== Hours of Operation ===
Monday – Thursday11 AM – 9 PM
Friday11 AM – 10 PM
Saturday12 PM – 10 PM
Sunday12 PM – 8 PM
4yh4m2d742rr6z2svghfcuzm1gxx0u4
User:Panic2k4/Engineering After Software Why the Old Definitions No Longer Fit
2
483196
4634685
2026-05-07T21:01:50Z
Panic2k4
2865
Engineering After Software: Why the Old Definitions No Longer Fit
4634685
wikitext
text/x-wiki
== Engineering After Software: Why the Old Definitions No Longer Fit ==
Engineering began as the mastery of matter and force, the disciplined manipulation of physical reality into predictable structures. The word itself comes from *ingenium* (cleverness) and *engine* (a constructed mechanism), and for centuries the engineer was the builder of bridges, mills, fortifications, aqueducts, and machines. This was a world of quantifiable constraints, where the laws of physics were stable and the problems were well understood. Engineering was not a creative act but a process function, a technician’s discipline that reused known scientific principles to produce reliable, repeatable solutions. The engineer did not seek novelty; he sought correctness, stability, and reuse.
This mentality shaped the classical engineering fields: mechanical, civil, structural, aerospace, materials, process, systems. All of them operate within the same logic (matter behaves predictably, forces can be calculated, tolerances can be defined, and failure modes can be anticipated). Engineering is the normalization of solutions, the transformation of one‑off inventions into standardized, maintainable, certifiable systems. It is the professionalization of reuse.
Europe inherited this worldview from its medieval guilds. Before engineering existed as a university discipline, Europe had master masons, metallurgists, glassmakers, and fortification builders, each guarding their knowledge behind closed apprenticeships. When modern engineering emerged in the nineteenth century (especially electrical engineering and structural engineering), it absorbed this guild structure. Protected titles like Ingenieur, Dipl.-Ing., and CEng became markers of a technical caste. Credentialization served as a balance‑of‑power system, restricting access to knowledge and authority in the same way the old guilds had done. The engineering profession became a class identity, not just a discipline, and Europe still tries to preserve this structure through political maneuvering and regulatory protection.
But the world did not stop. The coal engine massified education, and with it the structure of society changed. Steam power freed children from agricultural labor and made compulsory schooling economically viable. Factories needed literate workers who could read instructions, measure tolerances, and operate machinery. This shift is well documented in the history of the [[W:Industrial Revolution|Industrial Revolution]], where the need for trained operators preceded the moral arguments for universal education. Children entered schools not because society suddenly valued learning, but because industrial machines required informational workers.
Once literacy spread, new professions emerged: clerks, accountants, surveyors, and typists. The mechanical typist was the first large‑scale human interface between ideas and machines. Typists standardized spelling, formatting, and documentation. They made information reproducible. Their work evolved naturally into punched‑card operation, beginning with the [[W:1890 United States census|1890 US Census]] and Herman Hollerith’s tabulating machines. These operators were informational technicians, bridging human thought and mechanical logic. They could not be restricted by guild structures; industrial society needed thousands of them.
Punched cards led to electromechanical tabulators, relay logic, and early computation. Electrification demanded a new class of workers who understood circuits, currents, and power distribution. Electrical technicians and engineers emerged because factories, telegraphs, and power grids needed trained workers, not a handful of aristocratic engineers. The European engineering caste could not scale to meet this demand.
Electrical systems led directly to vacuum tubes. Vacuum tubes enabled radio, radar, long‑distance telephony, and the first electronic computers such as the [[W:ENIAC|ENIAC]]. These machines required workers who understood both electrical behavior and logical operations. This hybrid role was the ancestor of the modern programmer. It was the first time technical work required thinking in terms of information rather than materials or forces.
Vacuum tubes gave way to transistors, and transistors to integrated circuits. Each step reduced physical constraints and increased informational density. Integrated circuits made computation scalable; microprocessors made it personal. As hardware stabilized, the bottleneck shifted from physical construction to logical design. Software became the new frontier. Programming emerged as a profession that required no protected title, no licensing, and no guild. Anyone with access to a computer could learn to code. Anyone could publish software. Anyone could invent new abstractions. Programming was not about applying known solutions; it was about discovering problems and creating conceptual tools.
Meanwhile, the global context diverged sharply from Europe’s guild mentality. In the United States, Canada, Brazil, and across the expanding frontier, engineering became pragmatic and democratized. There was no aristocratic guild to enforce scarcity. Anyone who could build, calculate, or innovate became an engineer. In Communist Russia and China, the need for rapid modernization and energy independence forced the creation of mass technical universities. Engineers were treated as workers, not elites, and the guild mentality never took hold. The global demand for dams, railways, power grids, and industrial infrastructure required millions of engineers, not a protected few.
Specialization began to collapse. Knowledge expanded faster than any credential system could contain it. Reality itself refused to be compartmentalized. Closed systems existed only in the human mind, not in the world. The professional class structures that depended on scarcity and exclusivity became increasingly artificial. The engineer as a technical caste became a European exception rather than a global norm.
Programming emerged in this new world as the first truly post‑guild profession. It required no protected title, no licensing, no institutional gatekeeping. Programmers became creators rather than technicians, discovering problems rather than merely solving them. They operated upstream of engineering, in the realm of conceptual modeling and invention. This is why programmers were never accepted as “real engineers” in Europe (they violated the caste structure) and why they flourished everywhere else.
And then came AI.
AI is the technological response to the collapse of closed knowledge systems. It is engineered in its construction (deterministic hardware, reproducible training pipelines) but non‑engineerable in its behavior (probabilistic, emergent, pattern‑driven). It has no creativity in the human sense; it does not deduce or discover, it estimates. It transforms superhuman quantities of data into dynamic, ephemeral, session‑bound patterns. Yet this is precisely why it works. AI recognizes that the patterns of reality are universal, not domain‑bound. It dissolves the boundaries between disciplines because those boundaries were never real to begin with.
The engineer loves AI when it behaves like a linear applier of knowledge (structured, procedural, deterministic) and hates it when it miscommunicates or drifts probabilistically. The programmer hates linearity and loves AI for its ability to reveal new patterns, metaphors, and creative recombinations. AI sits between these worlds, engineered like a machine but behaving like a mirror of human thought.
Most importantly, AI allows the individual to operate freely across every context of reality. It bypasses credential systems, ignores class boundaries, and democratizes expertise. It is the first tool that makes universal operation possible in a world where specialization is impossible. The engineering guild cannot survive this transformation, because AI exposes the illusion that knowledge can be contained, restricted, or owned by a professional caste.
In a world where patterns are universal and knowledge is unbounded, engineering must evolve beyond its mechanical origins. The old definitions no longer fit. The future belongs to those who can navigate open systems, not those who defend closed ones. AI is not the end of engineering; it is the end of engineering as a guild and the beginning of engineering as a universal human capability.
am3s1o2mz1c3o7iw3fxgqxf22e3lzaz
Talk:The Decline of Public Transport in the U.S., 1945-1975
1
483197
4634692
2026-05-07T23:32:30Z
Norton
379181
/* Replying to query: "Was this page created by accident or as a test?" */ new section
4634692
wikitext
text/x-wiki
== Replying to query: "Was this page created by accident or as a test?" ==
I am replying to the tag with this query: "Was this page created by accident or as a test? Please improve the educational quality of this page, and clarify what the intentions are on the discussion page so other people may contribute."
The page was created deliberately as a contribution to the book Lentis: The Social Interface of Technology. This is a class project for which I am the teacher. I consider the chapter a worthy and appropriate contribution to the class casebook, on a subject of wide general interest. It is also an ideal fit in a casebook about cases in which technology and society intersect. I agree that the chapter needs some improvement, but like all chapters in this casebook it is likely to get such improvement, because students in my classes improve existing chapters in this book as class assignments. I anticipate that with time the chapter will develop into a strong contribution to the book.
[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 23:32, 7 May 2026 (UTC)
ebs9gx9zr46c013htuq7u393v8x0gg1
User:CHRISSHEL
2
483198
4634698
2026-05-08T01:47:37Z
CHRISSHEL
3578343
CHRISTOPHER SHELTON
4634698
wikitext
text/x-wiki
CHRISTOPHER SHELTON
6re27eaigo2w5arelv0we563uh2aqw7
User talk:Golgbachev
3
483199
4634699
2026-05-08T02:01:34Z
Kittycataclysm
3371989
/* Welcome to the Cookbook */ new section
4634699
wikitext
text/x-wiki
== Welcome to the Cookbook ==
{{mbox
| type =
| image = [[File:Foodlogo2.svg|40px]]
| imageright =
| style =
| textstyle =
| text = Hello and thank you for your recent contribution to the [[Cookbook:Table of Contents|Wikibooks Cookbook]]! When adding to the Cookbook, please make sure all content conforms to [[Cookbook:Policy|Cookbook policy]], including the [[Cookbook:Manual of Style|manual of style]] and standard page templates. Feel free to let me know if you need any help or have any questions! {{#ifeq: |||<br>'''Additional details:''' }}
| small =
| smallimage =
| smallimageright =
| smalltext =
}}
—[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:01, 8 May 2026 (UTC)
k71junri8rtzv1ax9jxgmct301tp35f
4634712
4634699
2026-05-08T02:35:30Z
Kittycataclysm
3371989
/* Welcome to the Cookbook */ Reply
4634712
wikitext
text/x-wiki
== Welcome to the Cookbook ==
{{mbox
| type =
| image = [[File:Foodlogo2.svg|40px]]
| imageright =
| style =
| textstyle =
| text = Hello and thank you for your recent contribution to the [[Cookbook:Table of Contents|Wikibooks Cookbook]]! When adding to the Cookbook, please make sure all content conforms to [[Cookbook:Policy|Cookbook policy]], including the [[Cookbook:Manual of Style|manual of style]] and standard page templates. Feel free to let me know if you need any help or have any questions! {{#ifeq: |||<br>'''Additional details:''' }}
| small =
| smallimage =
| smallimageright =
| smalltext =
}}
—[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:01, 8 May 2026 (UTC)
:@[[User:Golgbachev|Golgbachev]] I notice that you are rapidly adding many recipes, but so far they don't meet the cookbook requirements—could you please fix these recipes before adding more? Let me know if you have questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:35, 8 May 2026 (UTC)
1j3b7y6lak4rw4okihf0dkwkepp7wmz
User:ARI/common.js
2
483200
4634740
2026-05-08T07:59:41Z
ARI
3487498
Created page with "mw.loader.load('//commons.wikimedia.org/w/index.php?title=User:Epicgenius/commonshelperlink.js&action=raw&ctype=text/javascript');"
4634740
javascript
text/javascript
mw.loader.load('//commons.wikimedia.org/w/index.php?title=User:Epicgenius/commonshelperlink.js&action=raw&ctype=text/javascript');
ou202u0xhrf4621ayhoytlkkwchzmne