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&nbsp;dBi or 7&nbsp;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 &mdash; 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&section=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, &ndash; [[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. &ndash; [[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) :: &lt;dropping in on the conversation&gt; :: 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&nbsp;Title/Logical&nbsp;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>&lt;span class="plainlinks">...&lt;/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|&#x9000;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9001|&#x9001;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9002|&#x9002;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9003|&#x9003;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9004|&#x9004;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9005|&#x9005;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9006|&#x9006;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9007|&#x9007;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9008|&#x9008;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9009|&#x9009;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900A|&#x900a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900B|&#x900b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900C|&#x900c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900D|&#x900d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900E|&#x900e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-900F|&#x900f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|901x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9010|&#x9010;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9011|&#x9011;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9012|&#x9012;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9013|&#x9013;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9014|&#x9014;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9015|&#x9015;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9016|&#x9016;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9017|&#x9017;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9018|&#x9018;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9019|&#x9019;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901A|&#x901a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901B|&#x901b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901C|&#x901c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901D|&#x901d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901E|&#x901e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-901F|&#x901f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|902x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9020|&#x9020;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9021|&#x9021;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9022|&#x9022;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9023|&#x9023;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9024|&#x9024;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9025|&#x9025;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9026|&#x9026;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9027|&#x9027;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9028|&#x9028;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9029|&#x9029;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902A|&#x902a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902B|&#x902b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902C|&#x902c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902D|&#x902d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902E|&#x902e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-902F|&#x902f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|903x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9030|&#x9030;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9031|&#x9031;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9032|&#x9032;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9033|&#x9033;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9034|&#x9034;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9035|&#x9035;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9036|&#x9036;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9037|&#x9037;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9038|&#x9038;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9039|&#x9039;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903A|&#x903a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903B|&#x903b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903C|&#x903c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903D|&#x903d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903E|&#x903e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-903F|&#x903f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|904x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9040|&#x9040;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9041|&#x9041;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9042|&#x9042;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9043|&#x9043;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9044|&#x9044;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9045|&#x9045;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9046|&#x9046;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9047|&#x9047;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9048|&#x9048;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9049|&#x9049;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904A|&#x904a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904B|&#x904b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904C|&#x904c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904D|&#x904d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904E|&#x904e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-904F|&#x904f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|905x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9050|&#x9050;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9051|&#x9051;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9052|&#x9052;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9053|&#x9053;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9054|&#x9054;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9055|&#x9055;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9056|&#x9056;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9057|&#x9057;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9058|&#x9058;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9059|&#x9059;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905A|&#x905a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905B|&#x905b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905C|&#x905c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905D|&#x905d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905E|&#x905e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-905F|&#x905f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|906x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9060|&#x9060;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9061|&#x9061;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9062|&#x9062;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9063|&#x9063;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9064|&#x9064;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9065|&#x9065;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9066|&#x9066;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9067|&#x9067;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9068|&#x9068;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9069|&#x9069;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906A|&#x906a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906B|&#x906b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906C|&#x906c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906D|&#x906d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906E|&#x906e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-906F|&#x906f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|907x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9070|&#x9070;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9071|&#x9071;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9072|&#x9072;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9073|&#x9073;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9074|&#x9074;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9075|&#x9075;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9076|&#x9076;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9077|&#x9077;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9078|&#x9078;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9079|&#x9079;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907A|&#x907a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907B|&#x907b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907C|&#x907c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907D|&#x907d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907E|&#x907e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-907F|&#x907f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|908x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9080|&#x9080;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9081|&#x9081;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9082|&#x9082;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9083|&#x9083;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9084|&#x9084;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9085|&#x9085;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9086|&#x9086;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9087|&#x9087;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9088|&#x9088;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9089|&#x9089;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908A|&#x908a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908B|&#x908b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908C|&#x908c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908D|&#x908d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908E|&#x908e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-908F|&#x908f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|909x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9090|&#x9090;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9091|&#x9091;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9092|&#x9092;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9093|&#x9093;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9094|&#x9094;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9095|&#x9095;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9096|&#x9096;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9097|&#x9097;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9098|&#x9098;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9099|&#x9099;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909A|&#x909a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909B|&#x909b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909C|&#x909c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909D|&#x909d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909E|&#x909e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-909F|&#x909f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|90Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A0|&#x90a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A1|&#x90a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A2|&#x90a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A3|&#x90a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A4|&#x90a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A5|&#x90a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A6|&#x90a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A7|&#x90a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A8|&#x90a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90A9|&#x90a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AA|&#x90aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AB|&#x90ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AC|&#x90ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AD|&#x90ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AE|&#x90ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90AF|&#x90af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|90Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B0|&#x90b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B1|&#x90b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B2|&#x90b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B3|&#x90b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B4|&#x90b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B5|&#x90b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B6|&#x90b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B7|&#x90b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B8|&#x90b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90B9|&#x90b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BA|&#x90ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BB|&#x90bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BC|&#x90bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BD|&#x90bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BE|&#x90be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90BF|&#x90bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|90Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C0|&#x90c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C1|&#x90c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C2|&#x90c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C3|&#x90c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C4|&#x90c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C5|&#x90c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C6|&#x90c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C7|&#x90c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C8|&#x90c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90C9|&#x90c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CA|&#x90ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CB|&#x90cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CC|&#x90cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CD|&#x90cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CE|&#x90ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90CF|&#x90cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|90Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D0|&#x90d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D1|&#x90d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D2|&#x90d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D3|&#x90d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D4|&#x90d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D5|&#x90d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D6|&#x90d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D7|&#x90d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D8|&#x90d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90D9|&#x90d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DA|&#x90da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DB|&#x90db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DC|&#x90dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DD|&#x90dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DE|&#x90de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90DF|&#x90df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|90Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E0|&#x90e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E1|&#x90e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E2|&#x90e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E3|&#x90e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E4|&#x90e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E5|&#x90e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E6|&#x90e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E7|&#x90e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E8|&#x90e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90E9|&#x90e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EA|&#x90ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EB|&#x90eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EC|&#x90ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90ED|&#x90ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EE|&#x90ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90EF|&#x90ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|90Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F0|&#x90f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F1|&#x90f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F2|&#x90f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F3|&#x90f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F4|&#x90f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F5|&#x90f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F6|&#x90f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F7|&#x90f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F8|&#x90f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90F9|&#x90f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FA|&#x90fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FB|&#x90fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FC|&#x90fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FD|&#x90fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FE|&#x90fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-90FF|&#x90ff;}} |----- 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|&#x9100;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9101|&#x9101;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9102|&#x9102;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9103|&#x9103;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9104|&#x9104;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9105|&#x9105;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9106|&#x9106;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9107|&#x9107;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9108|&#x9108;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9109|&#x9109;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910A|&#x910a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910B|&#x910b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910C|&#x910c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910D|&#x910d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910E|&#x910e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-910F|&#x910f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|911x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9110|&#x9110;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9111|&#x9111;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9112|&#x9112;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9113|&#x9113;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9114|&#x9114;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9115|&#x9115;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9116|&#x9116;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9117|&#x9117;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9118|&#x9118;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9119|&#x9119;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911A|&#x911a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911B|&#x911b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911C|&#x911c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911D|&#x911d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911E|&#x911e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-911F|&#x911f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|912x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9120|&#x9120;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9121|&#x9121;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9122|&#x9122;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9123|&#x9123;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9124|&#x9124;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9125|&#x9125;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9126|&#x9126;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9127|&#x9127;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9128|&#x9128;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9129|&#x9129;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912A|&#x912a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912B|&#x912b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912C|&#x912c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912D|&#x912d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912E|&#x912e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-912F|&#x912f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|913x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9130|&#x9130;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9131|&#x9131;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9132|&#x9132;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9133|&#x9133;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9134|&#x9134;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9135|&#x9135;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9136|&#x9136;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9137|&#x9137;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9138|&#x9138;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9139|&#x9139;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913A|&#x913a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913B|&#x913b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913C|&#x913c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913D|&#x913d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913E|&#x913e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-913F|&#x913f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|914x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9140|&#x9140;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9141|&#x9141;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9142|&#x9142;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9143|&#x9143;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9144|&#x9144;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9145|&#x9145;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9146|&#x9146;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9147|&#x9147;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9148|&#x9148;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9149|&#x9149;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914A|&#x914a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914B|&#x914b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914C|&#x914c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914D|&#x914d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914E|&#x914e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-914F|&#x914f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|915x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9150|&#x9150;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9151|&#x9151;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9152|&#x9152;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9153|&#x9153;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9154|&#x9154;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9155|&#x9155;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9156|&#x9156;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9157|&#x9157;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9158|&#x9158;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9159|&#x9159;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915A|&#x915a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915B|&#x915b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915C|&#x915c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915D|&#x915d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915E|&#x915e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-915F|&#x915f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|916x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9160|&#x9160;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9161|&#x9161;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9162|&#x9162;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9163|&#x9163;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9164|&#x9164;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9165|&#x9165;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9166|&#x9166;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9167|&#x9167;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9168|&#x9168;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9169|&#x9169;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916A|&#x916a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916B|&#x916b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916C|&#x916c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916D|&#x916d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916E|&#x916e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-916F|&#x916f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|917x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9170|&#x9170;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9171|&#x9171;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9172|&#x9172;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9173|&#x9173;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9174|&#x9174;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9175|&#x9175;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9176|&#x9176;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9177|&#x9177;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9178|&#x9178;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9179|&#x9179;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917A|&#x917a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917B|&#x917b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917C|&#x917c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917D|&#x917d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917E|&#x917e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-917F|&#x917f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|918x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9180|&#x9180;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9181|&#x9181;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9182|&#x9182;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9183|&#x9183;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9184|&#x9184;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9185|&#x9185;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9186|&#x9186;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9187|&#x9187;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9188|&#x9188;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9189|&#x9189;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918A|&#x918a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918B|&#x918b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918C|&#x918c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918D|&#x918d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918E|&#x918e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-918F|&#x918f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|919x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9190|&#x9190;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9191|&#x9191;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9192|&#x9192;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9193|&#x9193;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9194|&#x9194;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9195|&#x9195;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9196|&#x9196;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9197|&#x9197;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9198|&#x9198;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9199|&#x9199;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919A|&#x919a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919B|&#x919b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919C|&#x919c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919D|&#x919d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919E|&#x919e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-919F|&#x919f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|91Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A0|&#x91a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A1|&#x91a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A2|&#x91a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A3|&#x91a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A4|&#x91a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A5|&#x91a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A6|&#x91a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A7|&#x91a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A8|&#x91a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91A9|&#x91a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AA|&#x91aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AB|&#x91ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AC|&#x91ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AD|&#x91ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AE|&#x91ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91AF|&#x91af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|91Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B0|&#x91b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B1|&#x91b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B2|&#x91b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B3|&#x91b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B4|&#x91b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B5|&#x91b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B6|&#x91b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B7|&#x91b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B8|&#x91b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91B9|&#x91b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BA|&#x91ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BB|&#x91bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BC|&#x91bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BD|&#x91bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BE|&#x91be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91BF|&#x91bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|91Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C0|&#x91c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C1|&#x91c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C2|&#x91c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C3|&#x91c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C4|&#x91c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C5|&#x91c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C6|&#x91c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C7|&#x91c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C8|&#x91c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91C9|&#x91c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CA|&#x91ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CB|&#x91cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CC|&#x91cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CD|&#x91cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CE|&#x91ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91CF|&#x91cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|91Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D0|&#x91d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D1|&#x91d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D2|&#x91d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D3|&#x91d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D4|&#x91d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D5|&#x91d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D6|&#x91d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D7|&#x91d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D8|&#x91d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91D9|&#x91d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DA|&#x91da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DB|&#x91db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DC|&#x91dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DD|&#x91dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DE|&#x91de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91DF|&#x91df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|91Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E0|&#x91e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E1|&#x91e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E2|&#x91e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E3|&#x91e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E4|&#x91e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E5|&#x91e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E6|&#x91e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E7|&#x91e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E8|&#x91e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91E9|&#x91e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EA|&#x91ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EB|&#x91eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EC|&#x91ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91ED|&#x91ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EE|&#x91ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91EF|&#x91ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|91Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F0|&#x91f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F1|&#x91f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F2|&#x91f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F3|&#x91f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F4|&#x91f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F5|&#x91f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F6|&#x91f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F7|&#x91f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F8|&#x91f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91F9|&#x91f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FA|&#x91fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FB|&#x91fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FC|&#x91fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FD|&#x91fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FE|&#x91fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-91FF|&#x91ff;}} |----- 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|&#x9200;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9201|&#x9201;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9202|&#x9202;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9203|&#x9203;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9204|&#x9204;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9205|&#x9205;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9206|&#x9206;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9207|&#x9207;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9208|&#x9208;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9209|&#x9209;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920A|&#x920a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920B|&#x920b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920C|&#x920c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920D|&#x920d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920E|&#x920e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-920F|&#x920f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|921x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9210|&#x9210;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9211|&#x9211;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9212|&#x9212;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9213|&#x9213;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9214|&#x9214;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9215|&#x9215;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9216|&#x9216;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9217|&#x9217;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9218|&#x9218;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9219|&#x9219;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921A|&#x921a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921B|&#x921b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921C|&#x921c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921D|&#x921d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921E|&#x921e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-921F|&#x921f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|922x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9220|&#x9220;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9221|&#x9221;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9222|&#x9222;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9223|&#x9223;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9224|&#x9224;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9225|&#x9225;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9226|&#x9226;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9227|&#x9227;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9228|&#x9228;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9229|&#x9229;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922A|&#x922a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922B|&#x922b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922C|&#x922c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922D|&#x922d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922E|&#x922e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-922F|&#x922f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|923x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9230|&#x9230;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9231|&#x9231;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9232|&#x9232;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9233|&#x9233;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9234|&#x9234;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9235|&#x9235;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9236|&#x9236;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9237|&#x9237;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9238|&#x9238;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9239|&#x9239;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923A|&#x923a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923B|&#x923b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923C|&#x923c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923D|&#x923d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923E|&#x923e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-923F|&#x923f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|924x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9240|&#x9240;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9241|&#x9241;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9242|&#x9242;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9243|&#x9243;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9244|&#x9244;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9245|&#x9245;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9246|&#x9246;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9247|&#x9247;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9248|&#x9248;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9249|&#x9249;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924A|&#x924a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924B|&#x924b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924C|&#x924c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924D|&#x924d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924E|&#x924e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-924F|&#x924f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|925x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9250|&#x9250;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9251|&#x9251;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9252|&#x9252;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9253|&#x9253;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9254|&#x9254;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9255|&#x9255;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9256|&#x9256;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9257|&#x9257;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9258|&#x9258;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9259|&#x9259;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925A|&#x925a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925B|&#x925b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925C|&#x925c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925D|&#x925d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925E|&#x925e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-925F|&#x925f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|926x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9260|&#x9260;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9261|&#x9261;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9262|&#x9262;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9263|&#x9263;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9264|&#x9264;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9265|&#x9265;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9266|&#x9266;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9267|&#x9267;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9268|&#x9268;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9269|&#x9269;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926A|&#x926a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926B|&#x926b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926C|&#x926c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926D|&#x926d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926E|&#x926e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-926F|&#x926f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|927x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9270|&#x9270;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9271|&#x9271;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9272|&#x9272;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9273|&#x9273;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9274|&#x9274;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9275|&#x9275;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9276|&#x9276;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9277|&#x9277;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9278|&#x9278;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9279|&#x9279;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927A|&#x927a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927B|&#x927b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927C|&#x927c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927D|&#x927d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927E|&#x927e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-927F|&#x927f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|928x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9280|&#x9280;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9281|&#x9281;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9282|&#x9282;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9283|&#x9283;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9284|&#x9284;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9285|&#x9285;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9286|&#x9286;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9287|&#x9287;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9288|&#x9288;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9289|&#x9289;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928A|&#x928a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928B|&#x928b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928C|&#x928c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928D|&#x928d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928E|&#x928e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-928F|&#x928f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|929x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9290|&#x9290;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9291|&#x9291;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9292|&#x9292;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9293|&#x9293;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9294|&#x9294;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9295|&#x9295;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9296|&#x9296;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9297|&#x9297;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9298|&#x9298;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9299|&#x9299;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929A|&#x929a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929B|&#x929b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929C|&#x929c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929D|&#x929d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929E|&#x929e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-929F|&#x929f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|92Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A0|&#x92a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A1|&#x92a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A2|&#x92a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A3|&#x92a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A4|&#x92a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A5|&#x92a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A6|&#x92a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A7|&#x92a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A8|&#x92a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92A9|&#x92a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AA|&#x92aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AB|&#x92ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AC|&#x92ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AD|&#x92ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AE|&#x92ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92AF|&#x92af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|92Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B0|&#x92b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B1|&#x92b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B2|&#x92b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B3|&#x92b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B4|&#x92b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B5|&#x92b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B6|&#x92b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B7|&#x92b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B8|&#x92b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92B9|&#x92b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BA|&#x92ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BB|&#x92bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BC|&#x92bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BD|&#x92bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BE|&#x92be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92BF|&#x92bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|92Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C0|&#x92c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C1|&#x92c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C2|&#x92c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C3|&#x92c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C4|&#x92c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C5|&#x92c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C6|&#x92c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C7|&#x92c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C8|&#x92c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92C9|&#x92c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CA|&#x92ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CB|&#x92cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CC|&#x92cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CD|&#x92cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CE|&#x92ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92CF|&#x92cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|92Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D0|&#x92d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D1|&#x92d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D2|&#x92d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D3|&#x92d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D4|&#x92d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D5|&#x92d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D6|&#x92d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D7|&#x92d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D8|&#x92d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92D9|&#x92d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DA|&#x92da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DB|&#x92db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DC|&#x92dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DD|&#x92dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DE|&#x92de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92DF|&#x92df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|92Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E0|&#x92e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E1|&#x92e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E2|&#x92e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E3|&#x92e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E4|&#x92e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E5|&#x92e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E6|&#x92e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E7|&#x92e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E8|&#x92e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92E9|&#x92e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EA|&#x92ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EB|&#x92eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EC|&#x92ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92ED|&#x92ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EE|&#x92ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92EF|&#x92ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|92Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F0|&#x92f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F1|&#x92f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F2|&#x92f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F3|&#x92f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F4|&#x92f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F5|&#x92f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F6|&#x92f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F7|&#x92f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F8|&#x92f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92F9|&#x92f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FA|&#x92fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FB|&#x92fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FC|&#x92fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FD|&#x92fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FE|&#x92fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-92FF|&#x92ff;}} |----- 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|&#x9300;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9301|&#x9301;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9302|&#x9302;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9303|&#x9303;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9304|&#x9304;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9305|&#x9305;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9306|&#x9306;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9307|&#x9307;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9308|&#x9308;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9309|&#x9309;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930A|&#x930a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930B|&#x930b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930C|&#x930c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930D|&#x930d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930E|&#x930e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-930F|&#x930f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|931x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9310|&#x9310;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9311|&#x9311;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9312|&#x9312;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9313|&#x9313;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9314|&#x9314;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9315|&#x9315;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9316|&#x9316;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9317|&#x9317;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9318|&#x9318;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9319|&#x9319;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931A|&#x931a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931B|&#x931b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931C|&#x931c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931D|&#x931d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931E|&#x931e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-931F|&#x931f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|932x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9320|&#x9320;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9321|&#x9321;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9322|&#x9322;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9323|&#x9323;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9324|&#x9324;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9325|&#x9325;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9326|&#x9326;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9327|&#x9327;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9328|&#x9328;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9329|&#x9329;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932A|&#x932a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932B|&#x932b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932C|&#x932c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932D|&#x932d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932E|&#x932e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-932F|&#x932f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|933x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9330|&#x9330;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9331|&#x9331;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9332|&#x9332;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9333|&#x9333;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9334|&#x9334;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9335|&#x9335;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9336|&#x9336;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9337|&#x9337;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9338|&#x9338;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9339|&#x9339;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933A|&#x933a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933B|&#x933b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933C|&#x933c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933D|&#x933d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933E|&#x933e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-933F|&#x933f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|934x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9340|&#x9340;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9341|&#x9341;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9342|&#x9342;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9343|&#x9343;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9344|&#x9344;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9345|&#x9345;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9346|&#x9346;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9347|&#x9347;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9348|&#x9348;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9349|&#x9349;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934A|&#x934a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934B|&#x934b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934C|&#x934c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934D|&#x934d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934E|&#x934e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-934F|&#x934f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|935x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9350|&#x9350;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9351|&#x9351;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9352|&#x9352;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9353|&#x9353;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9354|&#x9354;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9355|&#x9355;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9356|&#x9356;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9357|&#x9357;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9358|&#x9358;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9359|&#x9359;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935A|&#x935a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935B|&#x935b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935C|&#x935c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935D|&#x935d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935E|&#x935e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-935F|&#x935f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|936x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9360|&#x9360;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9361|&#x9361;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9362|&#x9362;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9363|&#x9363;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9364|&#x9364;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9365|&#x9365;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9366|&#x9366;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9367|&#x9367;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9368|&#x9368;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9369|&#x9369;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936A|&#x936a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936B|&#x936b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936C|&#x936c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936D|&#x936d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936E|&#x936e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-936F|&#x936f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|937x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9370|&#x9370;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9371|&#x9371;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9372|&#x9372;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9373|&#x9373;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9374|&#x9374;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9375|&#x9375;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9376|&#x9376;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9377|&#x9377;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9378|&#x9378;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9379|&#x9379;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937A|&#x937a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937B|&#x937b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937C|&#x937c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937D|&#x937d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937E|&#x937e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-937F|&#x937f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|938x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9380|&#x9380;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9381|&#x9381;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9382|&#x9382;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9383|&#x9383;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9384|&#x9384;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9385|&#x9385;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9386|&#x9386;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9387|&#x9387;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9388|&#x9388;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9389|&#x9389;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938A|&#x938a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938B|&#x938b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938C|&#x938c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938D|&#x938d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938E|&#x938e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-938F|&#x938f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|939x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9390|&#x9390;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9391|&#x9391;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9392|&#x9392;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9393|&#x9393;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9394|&#x9394;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9395|&#x9395;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9396|&#x9396;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9397|&#x9397;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9398|&#x9398;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9399|&#x9399;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939A|&#x939a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939B|&#x939b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939C|&#x939c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939D|&#x939d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939E|&#x939e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-939F|&#x939f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|93Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A0|&#x93a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A1|&#x93a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A2|&#x93a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A3|&#x93a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A4|&#x93a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A5|&#x93a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A6|&#x93a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A7|&#x93a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A8|&#x93a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93A9|&#x93a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AA|&#x93aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AB|&#x93ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AC|&#x93ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AD|&#x93ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AE|&#x93ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93AF|&#x93af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|93Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B0|&#x93b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B1|&#x93b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B2|&#x93b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B3|&#x93b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B4|&#x93b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B5|&#x93b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B6|&#x93b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B7|&#x93b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B8|&#x93b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93B9|&#x93b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BA|&#x93ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BB|&#x93bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BC|&#x93bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BD|&#x93bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BE|&#x93be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93BF|&#x93bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|93Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C0|&#x93c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C1|&#x93c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C2|&#x93c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C3|&#x93c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C4|&#x93c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C5|&#x93c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C6|&#x93c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C7|&#x93c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C8|&#x93c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93C9|&#x93c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CA|&#x93ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CB|&#x93cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CC|&#x93cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CD|&#x93cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CE|&#x93ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93CF|&#x93cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|93Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D0|&#x93d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D1|&#x93d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D2|&#x93d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D3|&#x93d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D4|&#x93d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D5|&#x93d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D6|&#x93d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D7|&#x93d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D8|&#x93d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93D9|&#x93d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DA|&#x93da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DB|&#x93db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DC|&#x93dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DD|&#x93dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DE|&#x93de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93DF|&#x93df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|93Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E0|&#x93e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E1|&#x93e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E2|&#x93e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E3|&#x93e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E4|&#x93e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E5|&#x93e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E6|&#x93e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E7|&#x93e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E8|&#x93e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93E9|&#x93e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EA|&#x93ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EB|&#x93eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EC|&#x93ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93ED|&#x93ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EE|&#x93ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93EF|&#x93ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|93Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F0|&#x93f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F1|&#x93f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F2|&#x93f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F3|&#x93f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F4|&#x93f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F5|&#x93f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F6|&#x93f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F7|&#x93f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F8|&#x93f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93F9|&#x93f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FA|&#x93fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FB|&#x93fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FC|&#x93fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FD|&#x93fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FE|&#x93fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-93FF|&#x93ff;}} |----- 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|&#x9400;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9401|&#x9401;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9402|&#x9402;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9403|&#x9403;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9404|&#x9404;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9405|&#x9405;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9406|&#x9406;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9407|&#x9407;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9408|&#x9408;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9409|&#x9409;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940A|&#x940a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940B|&#x940b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940C|&#x940c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940D|&#x940d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940E|&#x940e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-940F|&#x940f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|941x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9410|&#x9410;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9411|&#x9411;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9412|&#x9412;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9413|&#x9413;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9414|&#x9414;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9415|&#x9415;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9416|&#x9416;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9417|&#x9417;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9418|&#x9418;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9419|&#x9419;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941A|&#x941a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941B|&#x941b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941C|&#x941c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941D|&#x941d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941E|&#x941e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-941F|&#x941f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|942x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9420|&#x9420;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9421|&#x9421;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9422|&#x9422;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9423|&#x9423;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9424|&#x9424;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9425|&#x9425;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9426|&#x9426;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9427|&#x9427;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9428|&#x9428;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9429|&#x9429;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942A|&#x942a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942B|&#x942b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942C|&#x942c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942D|&#x942d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942E|&#x942e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-942F|&#x942f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|943x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9430|&#x9430;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9431|&#x9431;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9432|&#x9432;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9433|&#x9433;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9434|&#x9434;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9435|&#x9435;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9436|&#x9436;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9437|&#x9437;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9438|&#x9438;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9439|&#x9439;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943A|&#x943a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943B|&#x943b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943C|&#x943c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943D|&#x943d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943E|&#x943e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-943F|&#x943f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|944x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9440|&#x9440;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9441|&#x9441;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9442|&#x9442;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9443|&#x9443;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9444|&#x9444;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9445|&#x9445;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9446|&#x9446;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9447|&#x9447;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9448|&#x9448;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9449|&#x9449;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944A|&#x944a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944B|&#x944b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944C|&#x944c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944D|&#x944d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944E|&#x944e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-944F|&#x944f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|945x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9450|&#x9450;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9451|&#x9451;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9452|&#x9452;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9453|&#x9453;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9454|&#x9454;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9455|&#x9455;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9456|&#x9456;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9457|&#x9457;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9458|&#x9458;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9459|&#x9459;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945A|&#x945a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945B|&#x945b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945C|&#x945c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945D|&#x945d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945E|&#x945e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-945F|&#x945f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|946x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9460|&#x9460;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9461|&#x9461;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9462|&#x9462;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9463|&#x9463;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9464|&#x9464;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9465|&#x9465;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9466|&#x9466;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9467|&#x9467;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9468|&#x9468;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9469|&#x9469;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946A|&#x946a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946B|&#x946b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946C|&#x946c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946D|&#x946d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946E|&#x946e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-946F|&#x946f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|947x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9470|&#x9470;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9471|&#x9471;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9472|&#x9472;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9473|&#x9473;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9474|&#x9474;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9475|&#x9475;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9476|&#x9476;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9477|&#x9477;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9478|&#x9478;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9479|&#x9479;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947A|&#x947a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947B|&#x947b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947C|&#x947c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947D|&#x947d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947E|&#x947e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-947F|&#x947f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|948x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9480|&#x9480;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9481|&#x9481;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9482|&#x9482;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9483|&#x9483;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9484|&#x9484;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9485|&#x9485;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9486|&#x9486;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9487|&#x9487;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9488|&#x9488;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9489|&#x9489;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948A|&#x948a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948B|&#x948b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948C|&#x948c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948D|&#x948d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948E|&#x948e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-948F|&#x948f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|949x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9490|&#x9490;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9491|&#x9491;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9492|&#x9492;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9493|&#x9493;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9494|&#x9494;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9495|&#x9495;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9496|&#x9496;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9497|&#x9497;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9498|&#x9498;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9499|&#x9499;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949A|&#x949a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949B|&#x949b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949C|&#x949c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949D|&#x949d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949E|&#x949e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-949F|&#x949f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|94Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A0|&#x94a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A1|&#x94a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A2|&#x94a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A3|&#x94a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A4|&#x94a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A5|&#x94a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A6|&#x94a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A7|&#x94a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A8|&#x94a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94A9|&#x94a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AA|&#x94aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AB|&#x94ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AC|&#x94ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AD|&#x94ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AE|&#x94ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94AF|&#x94af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|94Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B0|&#x94b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B1|&#x94b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B2|&#x94b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B3|&#x94b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B4|&#x94b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B5|&#x94b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B6|&#x94b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B7|&#x94b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B8|&#x94b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94B9|&#x94b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BA|&#x94ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BB|&#x94bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BC|&#x94bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BD|&#x94bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BE|&#x94be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94BF|&#x94bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|94Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C0|&#x94c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C1|&#x94c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C2|&#x94c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C3|&#x94c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C4|&#x94c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C5|&#x94c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C6|&#x94c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C7|&#x94c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C8|&#x94c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94C9|&#x94c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CA|&#x94ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CB|&#x94cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CC|&#x94cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CD|&#x94cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CE|&#x94ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94CF|&#x94cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|94Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D0|&#x94d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D1|&#x94d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D2|&#x94d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D3|&#x94d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D4|&#x94d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D5|&#x94d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D6|&#x94d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D7|&#x94d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D8|&#x94d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94D9|&#x94d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DA|&#x94da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DB|&#x94db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DC|&#x94dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DD|&#x94dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DE|&#x94de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94DF|&#x94df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|94Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E0|&#x94e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E1|&#x94e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E2|&#x94e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E3|&#x94e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E4|&#x94e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E5|&#x94e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E6|&#x94e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E7|&#x94e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E8|&#x94e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94E9|&#x94e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EA|&#x94ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EB|&#x94eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EC|&#x94ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94ED|&#x94ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EE|&#x94ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94EF|&#x94ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|94Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F0|&#x94f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F1|&#x94f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F2|&#x94f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F3|&#x94f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F4|&#x94f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F5|&#x94f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F6|&#x94f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F7|&#x94f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F8|&#x94f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94F9|&#x94f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FA|&#x94fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FB|&#x94fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FC|&#x94fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FD|&#x94fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FE|&#x94fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-94FF|&#x94ff;}} |----- 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|&#x9500;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9501|&#x9501;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9502|&#x9502;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9503|&#x9503;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9504|&#x9504;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9505|&#x9505;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9506|&#x9506;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9507|&#x9507;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9508|&#x9508;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9509|&#x9509;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950A|&#x950a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950B|&#x950b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950C|&#x950c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950D|&#x950d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950E|&#x950e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-950F|&#x950f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|951x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9510|&#x9510;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9511|&#x9511;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9512|&#x9512;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9513|&#x9513;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9514|&#x9514;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9515|&#x9515;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9516|&#x9516;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9517|&#x9517;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9518|&#x9518;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9519|&#x9519;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951A|&#x951a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951B|&#x951b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951C|&#x951c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951D|&#x951d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951E|&#x951e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-951F|&#x951f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|952x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9520|&#x9520;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9521|&#x9521;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9522|&#x9522;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9523|&#x9523;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9524|&#x9524;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9525|&#x9525;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9526|&#x9526;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9527|&#x9527;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9528|&#x9528;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9529|&#x9529;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952A|&#x952a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952B|&#x952b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952C|&#x952c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952D|&#x952d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952E|&#x952e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-952F|&#x952f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|953x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9530|&#x9530;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9531|&#x9531;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9532|&#x9532;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9533|&#x9533;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9534|&#x9534;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9535|&#x9535;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9536|&#x9536;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9537|&#x9537;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9538|&#x9538;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9539|&#x9539;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953A|&#x953a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953B|&#x953b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953C|&#x953c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953D|&#x953d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953E|&#x953e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-953F|&#x953f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|954x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9540|&#x9540;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9541|&#x9541;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9542|&#x9542;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9543|&#x9543;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9544|&#x9544;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9545|&#x9545;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9546|&#x9546;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9547|&#x9547;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9548|&#x9548;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9549|&#x9549;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954A|&#x954a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954B|&#x954b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954C|&#x954c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954D|&#x954d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954E|&#x954e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-954F|&#x954f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|955x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9550|&#x9550;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9551|&#x9551;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9552|&#x9552;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9553|&#x9553;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9554|&#x9554;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9555|&#x9555;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9556|&#x9556;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9557|&#x9557;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9558|&#x9558;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9559|&#x9559;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955A|&#x955a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955B|&#x955b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955C|&#x955c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955D|&#x955d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955E|&#x955e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-955F|&#x955f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|956x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9560|&#x9560;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9561|&#x9561;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9562|&#x9562;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9563|&#x9563;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9564|&#x9564;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9565|&#x9565;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9566|&#x9566;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9567|&#x9567;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9568|&#x9568;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9569|&#x9569;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956A|&#x956a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956B|&#x956b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956C|&#x956c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956D|&#x956d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956E|&#x956e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-956F|&#x956f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|957x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9570|&#x9570;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9571|&#x9571;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9572|&#x9572;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9573|&#x9573;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9574|&#x9574;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9575|&#x9575;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9576|&#x9576;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9577|&#x9577;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9578|&#x9578;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9579|&#x9579;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957A|&#x957a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957B|&#x957b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957C|&#x957c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957D|&#x957d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957E|&#x957e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-957F|&#x957f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|958x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9580|&#x9580;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9581|&#x9581;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9582|&#x9582;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9583|&#x9583;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9584|&#x9584;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9585|&#x9585;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9586|&#x9586;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9587|&#x9587;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9588|&#x9588;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9589|&#x9589;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958A|&#x958a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958B|&#x958b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958C|&#x958c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958D|&#x958d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958E|&#x958e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-958F|&#x958f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|959x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9590|&#x9590;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9591|&#x9591;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9592|&#x9592;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9593|&#x9593;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9594|&#x9594;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9595|&#x9595;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9596|&#x9596;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9597|&#x9597;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9598|&#x9598;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9599|&#x9599;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959A|&#x959a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959B|&#x959b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959C|&#x959c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959D|&#x959d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959E|&#x959e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-959F|&#x959f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|95Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A0|&#x95a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A1|&#x95a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A2|&#x95a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A3|&#x95a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A4|&#x95a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A5|&#x95a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A6|&#x95a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A7|&#x95a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A8|&#x95a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95A9|&#x95a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AA|&#x95aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AB|&#x95ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AC|&#x95ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AD|&#x95ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AE|&#x95ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95AF|&#x95af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|95Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B0|&#x95b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B1|&#x95b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B2|&#x95b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B3|&#x95b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B4|&#x95b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B5|&#x95b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B6|&#x95b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B7|&#x95b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B8|&#x95b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95B9|&#x95b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BA|&#x95ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BB|&#x95bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BC|&#x95bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BD|&#x95bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BE|&#x95be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95BF|&#x95bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|95Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C0|&#x95c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C1|&#x95c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C2|&#x95c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C3|&#x95c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C4|&#x95c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C5|&#x95c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C6|&#x95c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C7|&#x95c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C8|&#x95c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95C9|&#x95c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CA|&#x95ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CB|&#x95cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CC|&#x95cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CD|&#x95cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CE|&#x95ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95CF|&#x95cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|95Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D0|&#x95d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D1|&#x95d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D2|&#x95d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D3|&#x95d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D4|&#x95d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D5|&#x95d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D6|&#x95d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D7|&#x95d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D8|&#x95d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95D9|&#x95d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DA|&#x95da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DB|&#x95db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DC|&#x95dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DD|&#x95dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DE|&#x95de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95DF|&#x95df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|95Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E0|&#x95e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E1|&#x95e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E2|&#x95e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E3|&#x95e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E4|&#x95e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E5|&#x95e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E6|&#x95e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E7|&#x95e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E8|&#x95e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95E9|&#x95e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EA|&#x95ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EB|&#x95eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EC|&#x95ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95ED|&#x95ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EE|&#x95ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95EF|&#x95ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|95Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F0|&#x95f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F1|&#x95f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F2|&#x95f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F3|&#x95f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F4|&#x95f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F5|&#x95f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F6|&#x95f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F7|&#x95f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F8|&#x95f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95F9|&#x95f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FA|&#x95fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FB|&#x95fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FC|&#x95fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FD|&#x95fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FE|&#x95fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-95FF|&#x95ff;}} |----- 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|&#x9600;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9601|&#x9601;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9602|&#x9602;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9603|&#x9603;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9604|&#x9604;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9605|&#x9605;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9606|&#x9606;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9607|&#x9607;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9608|&#x9608;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9609|&#x9609;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960A|&#x960a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960B|&#x960b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960C|&#x960c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960D|&#x960d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960E|&#x960e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-960F|&#x960f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|961x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9610|&#x9610;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9611|&#x9611;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9612|&#x9612;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9613|&#x9613;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9614|&#x9614;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9615|&#x9615;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9616|&#x9616;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9617|&#x9617;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9618|&#x9618;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9619|&#x9619;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961A|&#x961a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961B|&#x961b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961C|&#x961c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961D|&#x961d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961E|&#x961e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-961F|&#x961f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|962x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9620|&#x9620;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9621|&#x9621;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9622|&#x9622;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9623|&#x9623;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9624|&#x9624;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9625|&#x9625;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9626|&#x9626;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9627|&#x9627;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9628|&#x9628;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9629|&#x9629;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962A|&#x962a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962B|&#x962b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962C|&#x962c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962D|&#x962d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962E|&#x962e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-962F|&#x962f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|963x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9630|&#x9630;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9631|&#x9631;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9632|&#x9632;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9633|&#x9633;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9634|&#x9634;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9635|&#x9635;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9636|&#x9636;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9637|&#x9637;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9638|&#x9638;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9639|&#x9639;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963A|&#x963a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963B|&#x963b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963C|&#x963c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963D|&#x963d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963E|&#x963e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-963F|&#x963f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|964x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9640|&#x9640;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9641|&#x9641;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9642|&#x9642;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9643|&#x9643;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9644|&#x9644;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9645|&#x9645;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9646|&#x9646;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9647|&#x9647;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9648|&#x9648;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9649|&#x9649;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964A|&#x964a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964B|&#x964b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964C|&#x964c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964D|&#x964d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964E|&#x964e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-964F|&#x964f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|965x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9650|&#x9650;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9651|&#x9651;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9652|&#x9652;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9653|&#x9653;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9654|&#x9654;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9655|&#x9655;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9656|&#x9656;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9657|&#x9657;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9658|&#x9658;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9659|&#x9659;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965A|&#x965a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965B|&#x965b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965C|&#x965c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965D|&#x965d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965E|&#x965e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-965F|&#x965f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|966x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9660|&#x9660;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9661|&#x9661;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9662|&#x9662;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9663|&#x9663;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9664|&#x9664;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9665|&#x9665;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9666|&#x9666;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9667|&#x9667;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9668|&#x9668;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9669|&#x9669;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966A|&#x966a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966B|&#x966b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966C|&#x966c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966D|&#x966d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966E|&#x966e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-966F|&#x966f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|967x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9670|&#x9670;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9671|&#x9671;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9672|&#x9672;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9673|&#x9673;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9674|&#x9674;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9675|&#x9675;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9676|&#x9676;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9677|&#x9677;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9678|&#x9678;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9679|&#x9679;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967A|&#x967a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967B|&#x967b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967C|&#x967c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967D|&#x967d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967E|&#x967e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-967F|&#x967f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|968x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9680|&#x9680;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9681|&#x9681;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9682|&#x9682;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9683|&#x9683;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9684|&#x9684;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9685|&#x9685;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9686|&#x9686;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9687|&#x9687;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9688|&#x9688;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9689|&#x9689;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968A|&#x968a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968B|&#x968b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968C|&#x968c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968D|&#x968d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968E|&#x968e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-968F|&#x968f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|969x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9690|&#x9690;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9691|&#x9691;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9692|&#x9692;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9693|&#x9693;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9694|&#x9694;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9695|&#x9695;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9696|&#x9696;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9697|&#x9697;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9698|&#x9698;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9699|&#x9699;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969A|&#x969a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969B|&#x969b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969C|&#x969c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969D|&#x969d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969E|&#x969e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-969F|&#x969f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|96Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A0|&#x96a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A1|&#x96a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A2|&#x96a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A3|&#x96a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A4|&#x96a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A5|&#x96a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A6|&#x96a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A7|&#x96a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A8|&#x96a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96A9|&#x96a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AA|&#x96aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AB|&#x96ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AC|&#x96ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AD|&#x96ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AE|&#x96ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96AF|&#x96af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|96Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B0|&#x96b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B1|&#x96b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B2|&#x96b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B3|&#x96b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B4|&#x96b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B5|&#x96b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B6|&#x96b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B7|&#x96b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B8|&#x96b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96B9|&#x96b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BA|&#x96ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BB|&#x96bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BC|&#x96bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BD|&#x96bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BE|&#x96be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96BF|&#x96bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|96Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C0|&#x96c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C1|&#x96c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C2|&#x96c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C3|&#x96c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C4|&#x96c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C5|&#x96c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C6|&#x96c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C7|&#x96c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C8|&#x96c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96C9|&#x96c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CA|&#x96ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CB|&#x96cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CC|&#x96cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CD|&#x96cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CE|&#x96ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96CF|&#x96cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|96Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D0|&#x96d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D1|&#x96d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D2|&#x96d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D3|&#x96d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D4|&#x96d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D5|&#x96d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D6|&#x96d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D7|&#x96d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D8|&#x96d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96D9|&#x96d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DA|&#x96da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DB|&#x96db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DC|&#x96dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DD|&#x96dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DE|&#x96de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96DF|&#x96df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|96Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E0|&#x96e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E1|&#x96e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E2|&#x96e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E3|&#x96e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E4|&#x96e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E5|&#x96e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E6|&#x96e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E7|&#x96e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E8|&#x96e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96E9|&#x96e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EA|&#x96ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EB|&#x96eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EC|&#x96ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96ED|&#x96ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EE|&#x96ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96EF|&#x96ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|96Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F0|&#x96f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F1|&#x96f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F2|&#x96f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F3|&#x96f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F4|&#x96f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F5|&#x96f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F6|&#x96f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F7|&#x96f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F8|&#x96f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96F9|&#x96f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FA|&#x96fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FB|&#x96fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FC|&#x96fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FD|&#x96fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FE|&#x96fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-96FF|&#x96ff;}} |----- 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|&#x9700;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9701|&#x9701;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9702|&#x9702;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9703|&#x9703;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9704|&#x9704;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9705|&#x9705;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9706|&#x9706;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9707|&#x9707;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9708|&#x9708;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9709|&#x9709;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970A|&#x970a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970B|&#x970b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970C|&#x970c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970D|&#x970d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970E|&#x970e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-970F|&#x970f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|971x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9710|&#x9710;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9711|&#x9711;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9712|&#x9712;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9713|&#x9713;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9714|&#x9714;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9715|&#x9715;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9716|&#x9716;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9717|&#x9717;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9718|&#x9718;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9719|&#x9719;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971A|&#x971a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971B|&#x971b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971C|&#x971c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971D|&#x971d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971E|&#x971e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-971F|&#x971f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|972x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9720|&#x9720;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9721|&#x9721;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9722|&#x9722;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9723|&#x9723;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9724|&#x9724;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9725|&#x9725;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9726|&#x9726;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9727|&#x9727;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9728|&#x9728;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9729|&#x9729;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972A|&#x972a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972B|&#x972b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972C|&#x972c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972D|&#x972d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972E|&#x972e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-972F|&#x972f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|973x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9730|&#x9730;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9731|&#x9731;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9732|&#x9732;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9733|&#x9733;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9734|&#x9734;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9735|&#x9735;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9736|&#x9736;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9737|&#x9737;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9738|&#x9738;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9739|&#x9739;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973A|&#x973a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973B|&#x973b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973C|&#x973c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973D|&#x973d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973E|&#x973e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-973F|&#x973f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|974x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9740|&#x9740;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9741|&#x9741;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9742|&#x9742;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9743|&#x9743;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9744|&#x9744;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9745|&#x9745;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9746|&#x9746;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9747|&#x9747;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9748|&#x9748;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9749|&#x9749;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974A|&#x974a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974B|&#x974b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974C|&#x974c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974D|&#x974d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974E|&#x974e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-974F|&#x974f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|975x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9750|&#x9750;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9751|&#x9751;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9752|&#x9752;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9753|&#x9753;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9754|&#x9754;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9755|&#x9755;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9756|&#x9756;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9757|&#x9757;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9758|&#x9758;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9759|&#x9759;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975A|&#x975a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975B|&#x975b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975C|&#x975c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975D|&#x975d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975E|&#x975e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-975F|&#x975f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|976x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9760|&#x9760;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9761|&#x9761;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9762|&#x9762;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9763|&#x9763;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9764|&#x9764;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9765|&#x9765;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9766|&#x9766;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9767|&#x9767;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9768|&#x9768;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9769|&#x9769;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976A|&#x976a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976B|&#x976b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976C|&#x976c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976D|&#x976d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976E|&#x976e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-976F|&#x976f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|977x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9770|&#x9770;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9771|&#x9771;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9772|&#x9772;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9773|&#x9773;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9774|&#x9774;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9775|&#x9775;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9776|&#x9776;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9777|&#x9777;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9778|&#x9778;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9779|&#x9779;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977A|&#x977a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977B|&#x977b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977C|&#x977c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977D|&#x977d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977E|&#x977e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-977F|&#x977f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|978x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9780|&#x9780;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9781|&#x9781;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9782|&#x9782;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9783|&#x9783;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9784|&#x9784;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9785|&#x9785;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9786|&#x9786;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9787|&#x9787;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9788|&#x9788;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9789|&#x9789;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978A|&#x978a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978B|&#x978b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978C|&#x978c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978D|&#x978d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978E|&#x978e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-978F|&#x978f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|979x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9790|&#x9790;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9791|&#x9791;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9792|&#x9792;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9793|&#x9793;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9794|&#x9794;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9795|&#x9795;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9796|&#x9796;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9797|&#x9797;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9798|&#x9798;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9799|&#x9799;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979A|&#x979a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979B|&#x979b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979C|&#x979c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979D|&#x979d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979E|&#x979e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-979F|&#x979f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|97Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A0|&#x97a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A1|&#x97a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A2|&#x97a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A3|&#x97a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A4|&#x97a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A5|&#x97a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A6|&#x97a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A7|&#x97a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A8|&#x97a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97A9|&#x97a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AA|&#x97aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AB|&#x97ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AC|&#x97ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AD|&#x97ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AE|&#x97ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97AF|&#x97af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|97Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B0|&#x97b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B1|&#x97b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B2|&#x97b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B3|&#x97b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B4|&#x97b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B5|&#x97b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B6|&#x97b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B7|&#x97b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B8|&#x97b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97B9|&#x97b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BA|&#x97ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BB|&#x97bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BC|&#x97bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BD|&#x97bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BE|&#x97be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97BF|&#x97bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|97Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C0|&#x97c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C1|&#x97c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C2|&#x97c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C3|&#x97c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C4|&#x97c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C5|&#x97c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C6|&#x97c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C7|&#x97c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C8|&#x97c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97C9|&#x97c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CA|&#x97ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CB|&#x97cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CC|&#x97cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CD|&#x97cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CE|&#x97ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97CF|&#x97cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|97Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D0|&#x97d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D1|&#x97d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D2|&#x97d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D3|&#x97d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D4|&#x97d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D5|&#x97d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D6|&#x97d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D7|&#x97d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D8|&#x97d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97D9|&#x97d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DA|&#x97da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DB|&#x97db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DC|&#x97dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DD|&#x97dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DE|&#x97de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97DF|&#x97df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|97Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E0|&#x97e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E1|&#x97e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E2|&#x97e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E3|&#x97e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E4|&#x97e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E5|&#x97e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E6|&#x97e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E7|&#x97e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E8|&#x97e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97E9|&#x97e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EA|&#x97ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EB|&#x97eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EC|&#x97ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97ED|&#x97ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EE|&#x97ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97EF|&#x97ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|97Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F0|&#x97f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F1|&#x97f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F2|&#x97f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F3|&#x97f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F4|&#x97f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F5|&#x97f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F6|&#x97f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F7|&#x97f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F8|&#x97f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97F9|&#x97f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FA|&#x97fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FB|&#x97fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FC|&#x97fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FD|&#x97fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FE|&#x97fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-97FF|&#x97ff;}} |----- 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|&#x9800;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9801|&#x9801;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9802|&#x9802;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9803|&#x9803;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9804|&#x9804;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9805|&#x9805;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9806|&#x9806;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9807|&#x9807;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9808|&#x9808;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9809|&#x9809;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980A|&#x980a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980B|&#x980b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980C|&#x980c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980D|&#x980d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980E|&#x980e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-980F|&#x980f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|981x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9810|&#x9810;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9811|&#x9811;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9812|&#x9812;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9813|&#x9813;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9814|&#x9814;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9815|&#x9815;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9816|&#x9816;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9817|&#x9817;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9818|&#x9818;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9819|&#x9819;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981A|&#x981a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981B|&#x981b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981C|&#x981c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981D|&#x981d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981E|&#x981e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-981F|&#x981f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|982x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9820|&#x9820;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9821|&#x9821;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9822|&#x9822;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9823|&#x9823;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9824|&#x9824;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9825|&#x9825;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9826|&#x9826;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9827|&#x9827;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9828|&#x9828;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9829|&#x9829;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982A|&#x982a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982B|&#x982b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982C|&#x982c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982D|&#x982d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982E|&#x982e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-982F|&#x982f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|983x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9830|&#x9830;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9831|&#x9831;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9832|&#x9832;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9833|&#x9833;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9834|&#x9834;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9835|&#x9835;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9836|&#x9836;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9837|&#x9837;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9838|&#x9838;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9839|&#x9839;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983A|&#x983a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983B|&#x983b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983C|&#x983c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983D|&#x983d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983E|&#x983e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-983F|&#x983f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|984x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9840|&#x9840;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9841|&#x9841;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9842|&#x9842;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9843|&#x9843;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9844|&#x9844;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9845|&#x9845;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9846|&#x9846;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9847|&#x9847;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9848|&#x9848;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9849|&#x9849;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984A|&#x984a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984B|&#x984b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984C|&#x984c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984D|&#x984d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984E|&#x984e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-984F|&#x984f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|985x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9850|&#x9850;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9851|&#x9851;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9852|&#x9852;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9853|&#x9853;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9854|&#x9854;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9855|&#x9855;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9856|&#x9856;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9857|&#x9857;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9858|&#x9858;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9859|&#x9859;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985A|&#x985a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985B|&#x985b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985C|&#x985c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985D|&#x985d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985E|&#x985e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-985F|&#x985f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|986x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9860|&#x9860;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9861|&#x9861;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9862|&#x9862;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9863|&#x9863;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9864|&#x9864;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9865|&#x9865;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9866|&#x9866;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9867|&#x9867;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9868|&#x9868;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9869|&#x9869;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986A|&#x986a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986B|&#x986b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986C|&#x986c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986D|&#x986d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986E|&#x986e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-986F|&#x986f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|987x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9870|&#x9870;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9871|&#x9871;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9872|&#x9872;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9873|&#x9873;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9874|&#x9874;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9875|&#x9875;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9876|&#x9876;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9877|&#x9877;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9878|&#x9878;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9879|&#x9879;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987A|&#x987a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987B|&#x987b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987C|&#x987c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987D|&#x987d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987E|&#x987e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-987F|&#x987f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|988x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9880|&#x9880;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9881|&#x9881;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9882|&#x9882;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9883|&#x9883;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9884|&#x9884;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9885|&#x9885;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9886|&#x9886;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9887|&#x9887;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9888|&#x9888;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9889|&#x9889;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988A|&#x988a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988B|&#x988b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988C|&#x988c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988D|&#x988d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988E|&#x988e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-988F|&#x988f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|989x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9890|&#x9890;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9891|&#x9891;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9892|&#x9892;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9893|&#x9893;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9894|&#x9894;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9895|&#x9895;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9896|&#x9896;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9897|&#x9897;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9898|&#x9898;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9899|&#x9899;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989A|&#x989a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989B|&#x989b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989C|&#x989c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989D|&#x989d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989E|&#x989e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-989F|&#x989f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|98Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A0|&#x98a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A1|&#x98a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A2|&#x98a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A3|&#x98a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A4|&#x98a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A5|&#x98a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A6|&#x98a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A7|&#x98a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A8|&#x98a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98A9|&#x98a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AA|&#x98aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AB|&#x98ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AC|&#x98ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AD|&#x98ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AE|&#x98ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98AF|&#x98af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|98Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B0|&#x98b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B1|&#x98b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B2|&#x98b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B3|&#x98b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B4|&#x98b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B5|&#x98b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B6|&#x98b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B7|&#x98b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B8|&#x98b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98B9|&#x98b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BA|&#x98ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BB|&#x98bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BC|&#x98bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BD|&#x98bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BE|&#x98be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98BF|&#x98bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|98Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C0|&#x98c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C1|&#x98c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C2|&#x98c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C3|&#x98c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C4|&#x98c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C5|&#x98c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C6|&#x98c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C7|&#x98c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C8|&#x98c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98C9|&#x98c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CA|&#x98ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CB|&#x98cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CC|&#x98cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CD|&#x98cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CE|&#x98ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98CF|&#x98cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|98Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D0|&#x98d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D1|&#x98d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D2|&#x98d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D3|&#x98d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D4|&#x98d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D5|&#x98d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D6|&#x98d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D7|&#x98d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D8|&#x98d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98D9|&#x98d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DA|&#x98da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DB|&#x98db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DC|&#x98dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DD|&#x98dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DE|&#x98de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98DF|&#x98df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|98Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E0|&#x98e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E1|&#x98e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E2|&#x98e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E3|&#x98e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E4|&#x98e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E5|&#x98e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E6|&#x98e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E7|&#x98e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E8|&#x98e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98E9|&#x98e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EA|&#x98ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EB|&#x98eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EC|&#x98ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98ED|&#x98ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EE|&#x98ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98EF|&#x98ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|98Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F0|&#x98f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F1|&#x98f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F2|&#x98f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F3|&#x98f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F4|&#x98f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F5|&#x98f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F6|&#x98f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F7|&#x98f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F8|&#x98f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98F9|&#x98f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FA|&#x98fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FB|&#x98fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FC|&#x98fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FD|&#x98fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FE|&#x98fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-98FF|&#x98ff;}} |----- 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|&#x9900;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9901|&#x9901;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9902|&#x9902;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9903|&#x9903;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9904|&#x9904;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9905|&#x9905;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9906|&#x9906;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9907|&#x9907;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9908|&#x9908;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9909|&#x9909;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990A|&#x990a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990B|&#x990b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990C|&#x990c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990D|&#x990d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990E|&#x990e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-990F|&#x990f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|991x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9910|&#x9910;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9911|&#x9911;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9912|&#x9912;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9913|&#x9913;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9914|&#x9914;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9915|&#x9915;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9916|&#x9916;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9917|&#x9917;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9918|&#x9918;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9919|&#x9919;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991A|&#x991a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991B|&#x991b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991C|&#x991c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991D|&#x991d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991E|&#x991e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-991F|&#x991f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|992x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9920|&#x9920;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9921|&#x9921;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9922|&#x9922;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9923|&#x9923;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9924|&#x9924;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9925|&#x9925;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9926|&#x9926;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9927|&#x9927;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9928|&#x9928;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9929|&#x9929;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992A|&#x992a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992B|&#x992b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992C|&#x992c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992D|&#x992d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992E|&#x992e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-992F|&#x992f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|993x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9930|&#x9930;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9931|&#x9931;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9932|&#x9932;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9933|&#x9933;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9934|&#x9934;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9935|&#x9935;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9936|&#x9936;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9937|&#x9937;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9938|&#x9938;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9939|&#x9939;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993A|&#x993a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993B|&#x993b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993C|&#x993c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993D|&#x993d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993E|&#x993e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-993F|&#x993f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|994x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9940|&#x9940;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9941|&#x9941;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9942|&#x9942;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9943|&#x9943;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9944|&#x9944;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9945|&#x9945;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9946|&#x9946;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9947|&#x9947;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9948|&#x9948;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9949|&#x9949;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994A|&#x994a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994B|&#x994b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994C|&#x994c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994D|&#x994d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994E|&#x994e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-994F|&#x994f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|995x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9950|&#x9950;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9951|&#x9951;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9952|&#x9952;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9953|&#x9953;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9954|&#x9954;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9955|&#x9955;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9956|&#x9956;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9957|&#x9957;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9958|&#x9958;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9959|&#x9959;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995A|&#x995a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995B|&#x995b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995C|&#x995c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995D|&#x995d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995E|&#x995e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-995F|&#x995f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|996x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9960|&#x9960;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9961|&#x9961;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9962|&#x9962;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9963|&#x9963;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9964|&#x9964;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9965|&#x9965;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9966|&#x9966;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9967|&#x9967;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9968|&#x9968;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9969|&#x9969;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996A|&#x996a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996B|&#x996b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996C|&#x996c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996D|&#x996d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996E|&#x996e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-996F|&#x996f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|997x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9970|&#x9970;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9971|&#x9971;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9972|&#x9972;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9973|&#x9973;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9974|&#x9974;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9975|&#x9975;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9976|&#x9976;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9977|&#x9977;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9978|&#x9978;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9979|&#x9979;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997A|&#x997a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997B|&#x997b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997C|&#x997c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997D|&#x997d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997E|&#x997e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-997F|&#x997f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|998x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9980|&#x9980;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9981|&#x9981;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9982|&#x9982;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9983|&#x9983;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9984|&#x9984;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9985|&#x9985;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9986|&#x9986;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9987|&#x9987;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9988|&#x9988;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9989|&#x9989;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998A|&#x998a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998B|&#x998b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998C|&#x998c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998D|&#x998d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998E|&#x998e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-998F|&#x998f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|999x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9990|&#x9990;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9991|&#x9991;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9992|&#x9992;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9993|&#x9993;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9994|&#x9994;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9995|&#x9995;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9996|&#x9996;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9997|&#x9997;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9998|&#x9998;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9999|&#x9999;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999A|&#x999a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999B|&#x999b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999C|&#x999c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999D|&#x999d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999E|&#x999e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-999F|&#x999f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|99Ax |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A0|&#x99a0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A1|&#x99a1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A2|&#x99a2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A3|&#x99a3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A4|&#x99a4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A5|&#x99a5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A6|&#x99a6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A7|&#x99a7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A8|&#x99a8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99A9|&#x99a9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AA|&#x99aa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AB|&#x99ab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AC|&#x99ac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AD|&#x99ad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AE|&#x99ae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99AF|&#x99af;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|99Bx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B0|&#x99b0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B1|&#x99b1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B2|&#x99b2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B3|&#x99b3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B4|&#x99b4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B5|&#x99b5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B6|&#x99b6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B7|&#x99b7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B8|&#x99b8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99B9|&#x99b9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BA|&#x99ba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BB|&#x99bb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BC|&#x99bc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BD|&#x99bd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BE|&#x99be;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99BF|&#x99bf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|99Cx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C0|&#x99c0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C1|&#x99c1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C2|&#x99c2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C3|&#x99c3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C4|&#x99c4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C5|&#x99c5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C6|&#x99c6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C7|&#x99c7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C8|&#x99c8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99C9|&#x99c9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CA|&#x99ca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CB|&#x99cb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CC|&#x99cc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CD|&#x99cd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CE|&#x99ce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99CF|&#x99cf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|99Dx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D0|&#x99d0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D1|&#x99d1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D2|&#x99d2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D3|&#x99d3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D4|&#x99d4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D5|&#x99d5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D6|&#x99d6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D7|&#x99d7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D8|&#x99d8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99D9|&#x99d9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DA|&#x99da;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DB|&#x99db;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DC|&#x99dc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DD|&#x99dd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DE|&#x99de;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99DF|&#x99df;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|99Ex |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E0|&#x99e0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E1|&#x99e1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E2|&#x99e2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E3|&#x99e3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E4|&#x99e4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E5|&#x99e5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E6|&#x99e6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E7|&#x99e7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E8|&#x99e8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99E9|&#x99e9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EA|&#x99ea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EB|&#x99eb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EC|&#x99ec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99ED|&#x99ed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EE|&#x99ee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99EF|&#x99ef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|99Fx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F0|&#x99f0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F1|&#x99f1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F2|&#x99f2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F3|&#x99f3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F4|&#x99f4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F5|&#x99f5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F6|&#x99f6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F7|&#x99f7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F8|&#x99f8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99F9|&#x99f9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FA|&#x99fa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FB|&#x99fb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FC|&#x99fc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FD|&#x99fd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FE|&#x99fe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-99FF|&#x99ff;}} |----- 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|&#x9a00;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A01|&#x9a01;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A02|&#x9a02;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A03|&#x9a03;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A04|&#x9a04;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A05|&#x9a05;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A06|&#x9a06;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A07|&#x9a07;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A08|&#x9a08;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A09|&#x9a09;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0A|&#x9a0a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0B|&#x9a0b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0C|&#x9a0c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0D|&#x9a0d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0E|&#x9a0e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A0F|&#x9a0f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A1x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A10|&#x9a10;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A11|&#x9a11;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A12|&#x9a12;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A13|&#x9a13;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A14|&#x9a14;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A15|&#x9a15;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A16|&#x9a16;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A17|&#x9a17;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A18|&#x9a18;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A19|&#x9a19;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1A|&#x9a1a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1B|&#x9a1b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1C|&#x9a1c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1D|&#x9a1d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1E|&#x9a1e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A1F|&#x9a1f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A2x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A20|&#x9a20;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A21|&#x9a21;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A22|&#x9a22;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A23|&#x9a23;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A24|&#x9a24;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A25|&#x9a25;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A26|&#x9a26;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A27|&#x9a27;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A28|&#x9a28;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A29|&#x9a29;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2A|&#x9a2a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2B|&#x9a2b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2C|&#x9a2c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2D|&#x9a2d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2E|&#x9a2e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A2F|&#x9a2f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A3x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A30|&#x9a30;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A31|&#x9a31;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A32|&#x9a32;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A33|&#x9a33;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A34|&#x9a34;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A35|&#x9a35;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A36|&#x9a36;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A37|&#x9a37;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A38|&#x9a38;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A39|&#x9a39;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3A|&#x9a3a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3B|&#x9a3b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3C|&#x9a3c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3D|&#x9a3d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3E|&#x9a3e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A3F|&#x9a3f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A4x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A40|&#x9a40;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A41|&#x9a41;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A42|&#x9a42;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A43|&#x9a43;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A44|&#x9a44;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A45|&#x9a45;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A46|&#x9a46;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A47|&#x9a47;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A48|&#x9a48;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A49|&#x9a49;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4A|&#x9a4a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4B|&#x9a4b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4C|&#x9a4c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4D|&#x9a4d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4E|&#x9a4e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A4F|&#x9a4f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A5x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A50|&#x9a50;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A51|&#x9a51;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A52|&#x9a52;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A53|&#x9a53;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A54|&#x9a54;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A55|&#x9a55;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A56|&#x9a56;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A57|&#x9a57;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A58|&#x9a58;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A59|&#x9a59;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5A|&#x9a5a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5B|&#x9a5b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5C|&#x9a5c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5D|&#x9a5d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5E|&#x9a5e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A5F|&#x9a5f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A6x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A60|&#x9a60;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A61|&#x9a61;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A62|&#x9a62;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A63|&#x9a63;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A64|&#x9a64;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A65|&#x9a65;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A66|&#x9a66;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A67|&#x9a67;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A68|&#x9a68;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A69|&#x9a69;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6A|&#x9a6a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6B|&#x9a6b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6C|&#x9a6c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6D|&#x9a6d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6E|&#x9a6e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A6F|&#x9a6f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A7x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A70|&#x9a70;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A71|&#x9a71;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A72|&#x9a72;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A73|&#x9a73;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A74|&#x9a74;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A75|&#x9a75;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A76|&#x9a76;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A77|&#x9a77;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A78|&#x9a78;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A79|&#x9a79;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7A|&#x9a7a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7B|&#x9a7b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7C|&#x9a7c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7D|&#x9a7d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7E|&#x9a7e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A7F|&#x9a7f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A8x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A80|&#x9a80;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A81|&#x9a81;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A82|&#x9a82;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A83|&#x9a83;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A84|&#x9a84;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A85|&#x9a85;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A86|&#x9a86;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A87|&#x9a87;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A88|&#x9a88;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A89|&#x9a89;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8A|&#x9a8a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8B|&#x9a8b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8C|&#x9a8c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8D|&#x9a8d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8E|&#x9a8e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A8F|&#x9a8f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9A9x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A90|&#x9a90;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A91|&#x9a91;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A92|&#x9a92;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A93|&#x9a93;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A94|&#x9a94;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A95|&#x9a95;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A96|&#x9a96;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A97|&#x9a97;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A98|&#x9a98;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A99|&#x9a99;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9A|&#x9a9a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9B|&#x9a9b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9C|&#x9a9c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9D|&#x9a9d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9E|&#x9a9e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9A9F|&#x9a9f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9AAx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA0|&#x9aa0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA1|&#x9aa1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA2|&#x9aa2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA3|&#x9aa3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA4|&#x9aa4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA5|&#x9aa5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA6|&#x9aa6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA7|&#x9aa7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA8|&#x9aa8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AA9|&#x9aa9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAA|&#x9aaa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAB|&#x9aab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAC|&#x9aac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAD|&#x9aad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAE|&#x9aae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AAF|&#x9aaf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9ABx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB0|&#x9ab0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB1|&#x9ab1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB2|&#x9ab2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB3|&#x9ab3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB4|&#x9ab4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB5|&#x9ab5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB6|&#x9ab6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB7|&#x9ab7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB8|&#x9ab8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AB9|&#x9ab9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABA|&#x9aba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABB|&#x9abb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABC|&#x9abc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABD|&#x9abd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABE|&#x9abe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ABF|&#x9abf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9ACx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC0|&#x9ac0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC1|&#x9ac1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC2|&#x9ac2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC3|&#x9ac3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC4|&#x9ac4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC5|&#x9ac5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC6|&#x9ac6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC7|&#x9ac7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC8|&#x9ac8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AC9|&#x9ac9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACA|&#x9aca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACB|&#x9acb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACC|&#x9acc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACD|&#x9acd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACE|&#x9ace;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ACF|&#x9acf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9ADx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD0|&#x9ad0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD1|&#x9ad1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD2|&#x9ad2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD3|&#x9ad3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD4|&#x9ad4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD5|&#x9ad5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD6|&#x9ad6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD7|&#x9ad7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD8|&#x9ad8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AD9|&#x9ad9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADA|&#x9ada;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADB|&#x9adb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADC|&#x9adc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADD|&#x9add;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADE|&#x9ade;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ADF|&#x9adf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9AEx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE0|&#x9ae0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE1|&#x9ae1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE2|&#x9ae2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE3|&#x9ae3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE4|&#x9ae4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE5|&#x9ae5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE6|&#x9ae6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE7|&#x9ae7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE8|&#x9ae8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AE9|&#x9ae9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEA|&#x9aea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEB|&#x9aeb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEC|&#x9aec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AED|&#x9aed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEE|&#x9aee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AEF|&#x9aef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9AFx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF0|&#x9af0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF1|&#x9af1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF2|&#x9af2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF3|&#x9af3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF4|&#x9af4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF5|&#x9af5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF6|&#x9af6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF7|&#x9af7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF8|&#x9af8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AF9|&#x9af9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFA|&#x9afa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFB|&#x9afb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFC|&#x9afc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFD|&#x9afd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFE|&#x9afe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9AFF|&#x9aff;}} |----- 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|&#x9b00;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B01|&#x9b01;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B02|&#x9b02;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B03|&#x9b03;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B04|&#x9b04;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B05|&#x9b05;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B06|&#x9b06;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B07|&#x9b07;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B08|&#x9b08;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B09|&#x9b09;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0A|&#x9b0a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0B|&#x9b0b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0C|&#x9b0c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0D|&#x9b0d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0E|&#x9b0e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B0F|&#x9b0f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B1x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B10|&#x9b10;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B11|&#x9b11;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B12|&#x9b12;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B13|&#x9b13;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B14|&#x9b14;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B15|&#x9b15;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B16|&#x9b16;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B17|&#x9b17;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B18|&#x9b18;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B19|&#x9b19;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1A|&#x9b1a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1B|&#x9b1b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1C|&#x9b1c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1D|&#x9b1d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1E|&#x9b1e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B1F|&#x9b1f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B2x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B20|&#x9b20;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B21|&#x9b21;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B22|&#x9b22;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B23|&#x9b23;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B24|&#x9b24;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B25|&#x9b25;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B26|&#x9b26;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B27|&#x9b27;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B28|&#x9b28;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B29|&#x9b29;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2A|&#x9b2a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2B|&#x9b2b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2C|&#x9b2c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2D|&#x9b2d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2E|&#x9b2e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B2F|&#x9b2f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B3x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B30|&#x9b30;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B31|&#x9b31;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B32|&#x9b32;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B33|&#x9b33;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B34|&#x9b34;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B35|&#x9b35;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B36|&#x9b36;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B37|&#x9b37;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B38|&#x9b38;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B39|&#x9b39;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3A|&#x9b3a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3B|&#x9b3b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3C|&#x9b3c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3D|&#x9b3d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3E|&#x9b3e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B3F|&#x9b3f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B4x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B40|&#x9b40;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B41|&#x9b41;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B42|&#x9b42;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B43|&#x9b43;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B44|&#x9b44;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B45|&#x9b45;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B46|&#x9b46;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B47|&#x9b47;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B48|&#x9b48;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B49|&#x9b49;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4A|&#x9b4a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4B|&#x9b4b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4C|&#x9b4c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4D|&#x9b4d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4E|&#x9b4e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B4F|&#x9b4f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B5x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B50|&#x9b50;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B51|&#x9b51;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B52|&#x9b52;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B53|&#x9b53;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B54|&#x9b54;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B55|&#x9b55;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B56|&#x9b56;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B57|&#x9b57;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B58|&#x9b58;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B59|&#x9b59;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5A|&#x9b5a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5B|&#x9b5b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5C|&#x9b5c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5D|&#x9b5d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5E|&#x9b5e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B5F|&#x9b5f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B6x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B60|&#x9b60;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B61|&#x9b61;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B62|&#x9b62;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B63|&#x9b63;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B64|&#x9b64;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B65|&#x9b65;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B66|&#x9b66;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B67|&#x9b67;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B68|&#x9b68;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B69|&#x9b69;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6A|&#x9b6a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6B|&#x9b6b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6C|&#x9b6c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6D|&#x9b6d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6E|&#x9b6e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B6F|&#x9b6f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B7x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B70|&#x9b70;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B71|&#x9b71;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B72|&#x9b72;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B73|&#x9b73;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B74|&#x9b74;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B75|&#x9b75;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B76|&#x9b76;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B77|&#x9b77;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B78|&#x9b78;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B79|&#x9b79;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7A|&#x9b7a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7B|&#x9b7b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7C|&#x9b7c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7D|&#x9b7d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7E|&#x9b7e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B7F|&#x9b7f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B8x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B80|&#x9b80;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B81|&#x9b81;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B82|&#x9b82;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B83|&#x9b83;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B84|&#x9b84;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B85|&#x9b85;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B86|&#x9b86;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B87|&#x9b87;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B88|&#x9b88;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B89|&#x9b89;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8A|&#x9b8a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8B|&#x9b8b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8C|&#x9b8c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8D|&#x9b8d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8E|&#x9b8e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B8F|&#x9b8f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9B9x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B90|&#x9b90;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B91|&#x9b91;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B92|&#x9b92;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B93|&#x9b93;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B94|&#x9b94;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B95|&#x9b95;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B96|&#x9b96;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B97|&#x9b97;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B98|&#x9b98;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B99|&#x9b99;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9A|&#x9b9a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9B|&#x9b9b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9C|&#x9b9c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9D|&#x9b9d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9E|&#x9b9e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9B9F|&#x9b9f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9BAx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA0|&#x9ba0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA1|&#x9ba1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA2|&#x9ba2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA3|&#x9ba3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA4|&#x9ba4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA5|&#x9ba5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA6|&#x9ba6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA7|&#x9ba7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA8|&#x9ba8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BA9|&#x9ba9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAA|&#x9baa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAB|&#x9bab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAC|&#x9bac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAD|&#x9bad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAE|&#x9bae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BAF|&#x9baf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9BBx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB0|&#x9bb0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB1|&#x9bb1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB2|&#x9bb2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB3|&#x9bb3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB4|&#x9bb4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB5|&#x9bb5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB6|&#x9bb6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB7|&#x9bb7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB8|&#x9bb8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BB9|&#x9bb9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBA|&#x9bba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBB|&#x9bbb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBC|&#x9bbc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBD|&#x9bbd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBE|&#x9bbe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BBF|&#x9bbf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9BCx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC0|&#x9bc0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC1|&#x9bc1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC2|&#x9bc2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC3|&#x9bc3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC4|&#x9bc4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC5|&#x9bc5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC6|&#x9bc6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC7|&#x9bc7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC8|&#x9bc8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BC9|&#x9bc9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCA|&#x9bca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCB|&#x9bcb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCC|&#x9bcc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCD|&#x9bcd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCE|&#x9bce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BCF|&#x9bcf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9BDx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD0|&#x9bd0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD1|&#x9bd1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD2|&#x9bd2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD3|&#x9bd3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD4|&#x9bd4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD5|&#x9bd5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD6|&#x9bd6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD7|&#x9bd7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD8|&#x9bd8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BD9|&#x9bd9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDA|&#x9bda;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDB|&#x9bdb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDC|&#x9bdc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDD|&#x9bdd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDE|&#x9bde;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BDF|&#x9bdf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9BEx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE0|&#x9be0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE1|&#x9be1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE2|&#x9be2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE3|&#x9be3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE4|&#x9be4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE5|&#x9be5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE6|&#x9be6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE7|&#x9be7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE8|&#x9be8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BE9|&#x9be9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEA|&#x9bea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEB|&#x9beb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEC|&#x9bec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BED|&#x9bed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEE|&#x9bee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BEF|&#x9bef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9BFx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF0|&#x9bf0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF1|&#x9bf1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF2|&#x9bf2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF3|&#x9bf3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF4|&#x9bf4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF5|&#x9bf5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF6|&#x9bf6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF7|&#x9bf7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF8|&#x9bf8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BF9|&#x9bf9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFA|&#x9bfa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFB|&#x9bfb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFC|&#x9bfc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFD|&#x9bfd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFE|&#x9bfe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9BFF|&#x9bff;}} |----- 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|&#x9c00;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C01|&#x9c01;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C02|&#x9c02;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C03|&#x9c03;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C04|&#x9c04;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C05|&#x9c05;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C06|&#x9c06;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C07|&#x9c07;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C08|&#x9c08;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C09|&#x9c09;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0A|&#x9c0a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0B|&#x9c0b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0C|&#x9c0c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0D|&#x9c0d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0E|&#x9c0e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C0F|&#x9c0f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C1x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C10|&#x9c10;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C11|&#x9c11;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C12|&#x9c12;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C13|&#x9c13;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C14|&#x9c14;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C15|&#x9c15;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C16|&#x9c16;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C17|&#x9c17;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C18|&#x9c18;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C19|&#x9c19;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1A|&#x9c1a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1B|&#x9c1b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1C|&#x9c1c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1D|&#x9c1d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1E|&#x9c1e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C1F|&#x9c1f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C2x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C20|&#x9c20;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C21|&#x9c21;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C22|&#x9c22;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C23|&#x9c23;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C24|&#x9c24;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C25|&#x9c25;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C26|&#x9c26;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C27|&#x9c27;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C28|&#x9c28;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C29|&#x9c29;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2A|&#x9c2a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2B|&#x9c2b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2C|&#x9c2c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2D|&#x9c2d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2E|&#x9c2e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C2F|&#x9c2f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C3x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C30|&#x9c30;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C31|&#x9c31;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C32|&#x9c32;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C33|&#x9c33;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C34|&#x9c34;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C35|&#x9c35;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C36|&#x9c36;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C37|&#x9c37;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C38|&#x9c38;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C39|&#x9c39;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3A|&#x9c3a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3B|&#x9c3b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3C|&#x9c3c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3D|&#x9c3d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3E|&#x9c3e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C3F|&#x9c3f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C4x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C40|&#x9c40;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C41|&#x9c41;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C42|&#x9c42;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C43|&#x9c43;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C44|&#x9c44;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C45|&#x9c45;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C46|&#x9c46;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C47|&#x9c47;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C48|&#x9c48;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C49|&#x9c49;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4A|&#x9c4a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4B|&#x9c4b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4C|&#x9c4c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4D|&#x9c4d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4E|&#x9c4e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C4F|&#x9c4f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C5x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C50|&#x9c50;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C51|&#x9c51;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C52|&#x9c52;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C53|&#x9c53;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C54|&#x9c54;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C55|&#x9c55;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C56|&#x9c56;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C57|&#x9c57;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C58|&#x9c58;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C59|&#x9c59;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5A|&#x9c5a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5B|&#x9c5b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5C|&#x9c5c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5D|&#x9c5d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5E|&#x9c5e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C5F|&#x9c5f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C6x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C60|&#x9c60;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C61|&#x9c61;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C62|&#x9c62;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C63|&#x9c63;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C64|&#x9c64;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C65|&#x9c65;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C66|&#x9c66;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C67|&#x9c67;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C68|&#x9c68;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C69|&#x9c69;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6A|&#x9c6a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6B|&#x9c6b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6C|&#x9c6c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6D|&#x9c6d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6E|&#x9c6e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C6F|&#x9c6f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C7x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C70|&#x9c70;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C71|&#x9c71;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C72|&#x9c72;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C73|&#x9c73;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C74|&#x9c74;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C75|&#x9c75;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C76|&#x9c76;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C77|&#x9c77;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C78|&#x9c78;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C79|&#x9c79;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7A|&#x9c7a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7B|&#x9c7b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7C|&#x9c7c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7D|&#x9c7d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7E|&#x9c7e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C7F|&#x9c7f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C8x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C80|&#x9c80;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C81|&#x9c81;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C82|&#x9c82;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C83|&#x9c83;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C84|&#x9c84;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C85|&#x9c85;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C86|&#x9c86;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C87|&#x9c87;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C88|&#x9c88;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C89|&#x9c89;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8A|&#x9c8a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8B|&#x9c8b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8C|&#x9c8c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8D|&#x9c8d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8E|&#x9c8e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C8F|&#x9c8f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9C9x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C90|&#x9c90;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C91|&#x9c91;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C92|&#x9c92;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C93|&#x9c93;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C94|&#x9c94;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C95|&#x9c95;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C96|&#x9c96;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C97|&#x9c97;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C98|&#x9c98;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C99|&#x9c99;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9A|&#x9c9a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9B|&#x9c9b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9C|&#x9c9c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9D|&#x9c9d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9E|&#x9c9e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9C9F|&#x9c9f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9CAx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA0|&#x9ca0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA1|&#x9ca1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA2|&#x9ca2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA3|&#x9ca3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA4|&#x9ca4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA5|&#x9ca5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA6|&#x9ca6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA7|&#x9ca7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA8|&#x9ca8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CA9|&#x9ca9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAA|&#x9caa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAB|&#x9cab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAC|&#x9cac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAD|&#x9cad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAE|&#x9cae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CAF|&#x9caf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9CBx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB0|&#x9cb0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB1|&#x9cb1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB2|&#x9cb2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB3|&#x9cb3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB4|&#x9cb4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB5|&#x9cb5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB6|&#x9cb6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB7|&#x9cb7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB8|&#x9cb8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CB9|&#x9cb9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBA|&#x9cba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBB|&#x9cbb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBC|&#x9cbc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBD|&#x9cbd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBE|&#x9cbe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CBF|&#x9cbf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9CCx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC0|&#x9cc0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC1|&#x9cc1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC2|&#x9cc2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC3|&#x9cc3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC4|&#x9cc4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC5|&#x9cc5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC6|&#x9cc6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC7|&#x9cc7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC8|&#x9cc8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CC9|&#x9cc9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCA|&#x9cca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCB|&#x9ccb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCC|&#x9ccc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCD|&#x9ccd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCE|&#x9cce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CCF|&#x9ccf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9CDx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD0|&#x9cd0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD1|&#x9cd1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD2|&#x9cd2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD3|&#x9cd3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD4|&#x9cd4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD5|&#x9cd5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD6|&#x9cd6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD7|&#x9cd7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD8|&#x9cd8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CD9|&#x9cd9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDA|&#x9cda;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDB|&#x9cdb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDC|&#x9cdc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDD|&#x9cdd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDE|&#x9cde;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CDF|&#x9cdf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9CEx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE0|&#x9ce0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE1|&#x9ce1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE2|&#x9ce2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE3|&#x9ce3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE4|&#x9ce4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE5|&#x9ce5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE6|&#x9ce6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE7|&#x9ce7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE8|&#x9ce8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CE9|&#x9ce9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEA|&#x9cea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEB|&#x9ceb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEC|&#x9cec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CED|&#x9ced;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEE|&#x9cee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CEF|&#x9cef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9CFx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF0|&#x9cf0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF1|&#x9cf1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF2|&#x9cf2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF3|&#x9cf3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF4|&#x9cf4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF5|&#x9cf5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF6|&#x9cf6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF7|&#x9cf7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF8|&#x9cf8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CF9|&#x9cf9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFA|&#x9cfa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFB|&#x9cfb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFC|&#x9cfc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFD|&#x9cfd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFE|&#x9cfe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9CFF|&#x9cff;}} |----- 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|&#x9d00;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D01|&#x9d01;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D02|&#x9d02;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D03|&#x9d03;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D04|&#x9d04;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D05|&#x9d05;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D06|&#x9d06;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D07|&#x9d07;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D08|&#x9d08;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D09|&#x9d09;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0A|&#x9d0a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0B|&#x9d0b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0C|&#x9d0c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0D|&#x9d0d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0E|&#x9d0e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D0F|&#x9d0f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D1x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D10|&#x9d10;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D11|&#x9d11;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D12|&#x9d12;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D13|&#x9d13;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D14|&#x9d14;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D15|&#x9d15;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D16|&#x9d16;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D17|&#x9d17;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D18|&#x9d18;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D19|&#x9d19;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1A|&#x9d1a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1B|&#x9d1b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1C|&#x9d1c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1D|&#x9d1d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1E|&#x9d1e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D1F|&#x9d1f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D2x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D20|&#x9d20;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D21|&#x9d21;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D22|&#x9d22;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D23|&#x9d23;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D24|&#x9d24;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D25|&#x9d25;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D26|&#x9d26;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D27|&#x9d27;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D28|&#x9d28;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D29|&#x9d29;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2A|&#x9d2a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2B|&#x9d2b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2C|&#x9d2c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2D|&#x9d2d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2E|&#x9d2e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D2F|&#x9d2f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D3x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D30|&#x9d30;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D31|&#x9d31;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D32|&#x9d32;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D33|&#x9d33;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D34|&#x9d34;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D35|&#x9d35;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D36|&#x9d36;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D37|&#x9d37;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D38|&#x9d38;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D39|&#x9d39;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3A|&#x9d3a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3B|&#x9d3b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3C|&#x9d3c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3D|&#x9d3d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3E|&#x9d3e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D3F|&#x9d3f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D4x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D40|&#x9d40;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D41|&#x9d41;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D42|&#x9d42;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D43|&#x9d43;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D44|&#x9d44;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D45|&#x9d45;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D46|&#x9d46;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D47|&#x9d47;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D48|&#x9d48;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D49|&#x9d49;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4A|&#x9d4a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4B|&#x9d4b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4C|&#x9d4c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4D|&#x9d4d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4E|&#x9d4e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D4F|&#x9d4f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D5x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D50|&#x9d50;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D51|&#x9d51;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D52|&#x9d52;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D53|&#x9d53;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D54|&#x9d54;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D55|&#x9d55;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D56|&#x9d56;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D57|&#x9d57;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D58|&#x9d58;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D59|&#x9d59;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5A|&#x9d5a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5B|&#x9d5b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5C|&#x9d5c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5D|&#x9d5d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5E|&#x9d5e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D5F|&#x9d5f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D6x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D60|&#x9d60;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D61|&#x9d61;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D62|&#x9d62;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D63|&#x9d63;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D64|&#x9d64;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D65|&#x9d65;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D66|&#x9d66;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D67|&#x9d67;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D68|&#x9d68;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D69|&#x9d69;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6A|&#x9d6a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6B|&#x9d6b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6C|&#x9d6c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6D|&#x9d6d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6E|&#x9d6e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D6F|&#x9d6f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D7x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D70|&#x9d70;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D71|&#x9d71;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D72|&#x9d72;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D73|&#x9d73;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D74|&#x9d74;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D75|&#x9d75;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D76|&#x9d76;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D77|&#x9d77;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D78|&#x9d78;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D79|&#x9d79;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7A|&#x9d7a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7B|&#x9d7b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7C|&#x9d7c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7D|&#x9d7d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7E|&#x9d7e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D7F|&#x9d7f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D8x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D80|&#x9d80;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D81|&#x9d81;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D82|&#x9d82;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D83|&#x9d83;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D84|&#x9d84;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D85|&#x9d85;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D86|&#x9d86;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D87|&#x9d87;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D88|&#x9d88;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D89|&#x9d89;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8A|&#x9d8a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8B|&#x9d8b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8C|&#x9d8c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8D|&#x9d8d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8E|&#x9d8e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D8F|&#x9d8f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9D9x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D90|&#x9d90;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D91|&#x9d91;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D92|&#x9d92;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D93|&#x9d93;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D94|&#x9d94;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D95|&#x9d95;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D96|&#x9d96;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D97|&#x9d97;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D98|&#x9d98;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D99|&#x9d99;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9A|&#x9d9a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9B|&#x9d9b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9C|&#x9d9c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9D|&#x9d9d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9E|&#x9d9e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9D9F|&#x9d9f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9DAx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA0|&#x9da0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA1|&#x9da1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA2|&#x9da2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA3|&#x9da3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA4|&#x9da4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA5|&#x9da5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA6|&#x9da6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA7|&#x9da7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA8|&#x9da8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DA9|&#x9da9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAA|&#x9daa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAB|&#x9dab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAC|&#x9dac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAD|&#x9dad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAE|&#x9dae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DAF|&#x9daf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9DBx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB0|&#x9db0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB1|&#x9db1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB2|&#x9db2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB3|&#x9db3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB4|&#x9db4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB5|&#x9db5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB6|&#x9db6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB7|&#x9db7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB8|&#x9db8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DB9|&#x9db9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBA|&#x9dba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBB|&#x9dbb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBC|&#x9dbc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBD|&#x9dbd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBE|&#x9dbe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DBF|&#x9dbf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9DCx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC0|&#x9dc0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC1|&#x9dc1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC2|&#x9dc2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC3|&#x9dc3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC4|&#x9dc4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC5|&#x9dc5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC6|&#x9dc6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC7|&#x9dc7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC8|&#x9dc8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DC9|&#x9dc9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCA|&#x9dca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCB|&#x9dcb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCC|&#x9dcc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCD|&#x9dcd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCE|&#x9dce;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DCF|&#x9dcf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9DDx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD0|&#x9dd0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD1|&#x9dd1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD2|&#x9dd2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD3|&#x9dd3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD4|&#x9dd4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD5|&#x9dd5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD6|&#x9dd6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD7|&#x9dd7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD8|&#x9dd8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DD9|&#x9dd9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDA|&#x9dda;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDB|&#x9ddb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDC|&#x9ddc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDD|&#x9ddd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDE|&#x9dde;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DDF|&#x9ddf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9DEx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE0|&#x9de0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE1|&#x9de1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE2|&#x9de2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE3|&#x9de3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE4|&#x9de4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE5|&#x9de5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE6|&#x9de6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE7|&#x9de7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE8|&#x9de8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DE9|&#x9de9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEA|&#x9dea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEB|&#x9deb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEC|&#x9dec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DED|&#x9ded;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEE|&#x9dee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DEF|&#x9def;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9DFx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF0|&#x9df0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF1|&#x9df1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF2|&#x9df2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF3|&#x9df3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF4|&#x9df4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF5|&#x9df5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF6|&#x9df6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF7|&#x9df7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF8|&#x9df8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DF9|&#x9df9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFA|&#x9dfa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFB|&#x9dfb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFC|&#x9dfc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFD|&#x9dfd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFE|&#x9dfe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9DFF|&#x9dff;}} |----- 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|&#x9e00;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E01|&#x9e01;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E02|&#x9e02;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E03|&#x9e03;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E04|&#x9e04;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E05|&#x9e05;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E06|&#x9e06;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E07|&#x9e07;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E08|&#x9e08;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E09|&#x9e09;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0A|&#x9e0a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0B|&#x9e0b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0C|&#x9e0c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0D|&#x9e0d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0E|&#x9e0e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E0F|&#x9e0f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E1x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E10|&#x9e10;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E11|&#x9e11;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E12|&#x9e12;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E13|&#x9e13;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E14|&#x9e14;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E15|&#x9e15;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E16|&#x9e16;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E17|&#x9e17;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E18|&#x9e18;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E19|&#x9e19;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1A|&#x9e1a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1B|&#x9e1b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1C|&#x9e1c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1D|&#x9e1d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1E|&#x9e1e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E1F|&#x9e1f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E2x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E20|&#x9e20;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E21|&#x9e21;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E22|&#x9e22;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E23|&#x9e23;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E24|&#x9e24;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E25|&#x9e25;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E26|&#x9e26;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E27|&#x9e27;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E28|&#x9e28;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E29|&#x9e29;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2A|&#x9e2a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2B|&#x9e2b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2C|&#x9e2c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2D|&#x9e2d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2E|&#x9e2e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E2F|&#x9e2f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E3x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E30|&#x9e30;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E31|&#x9e31;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E32|&#x9e32;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E33|&#x9e33;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E34|&#x9e34;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E35|&#x9e35;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E36|&#x9e36;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E37|&#x9e37;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E38|&#x9e38;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E39|&#x9e39;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3A|&#x9e3a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3B|&#x9e3b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3C|&#x9e3c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3D|&#x9e3d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3E|&#x9e3e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E3F|&#x9e3f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E4x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E40|&#x9e40;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E41|&#x9e41;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E42|&#x9e42;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E43|&#x9e43;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E44|&#x9e44;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E45|&#x9e45;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E46|&#x9e46;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E47|&#x9e47;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E48|&#x9e48;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E49|&#x9e49;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4A|&#x9e4a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4B|&#x9e4b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4C|&#x9e4c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4D|&#x9e4d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4E|&#x9e4e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E4F|&#x9e4f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E5x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E50|&#x9e50;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E51|&#x9e51;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E52|&#x9e52;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E53|&#x9e53;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E54|&#x9e54;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E55|&#x9e55;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E56|&#x9e56;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E57|&#x9e57;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E58|&#x9e58;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E59|&#x9e59;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5A|&#x9e5a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5B|&#x9e5b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5C|&#x9e5c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5D|&#x9e5d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5E|&#x9e5e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E5F|&#x9e5f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E6x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E60|&#x9e60;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E61|&#x9e61;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E62|&#x9e62;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E63|&#x9e63;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E64|&#x9e64;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E65|&#x9e65;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E66|&#x9e66;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E67|&#x9e67;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E68|&#x9e68;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E69|&#x9e69;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6A|&#x9e6a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6B|&#x9e6b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6C|&#x9e6c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6D|&#x9e6d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6E|&#x9e6e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E6F|&#x9e6f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E7x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E70|&#x9e70;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E71|&#x9e71;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E72|&#x9e72;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E73|&#x9e73;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E74|&#x9e74;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E75|&#x9e75;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E76|&#x9e76;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E77|&#x9e77;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E78|&#x9e78;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E79|&#x9e79;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7A|&#x9e7a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7B|&#x9e7b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7C|&#x9e7c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7D|&#x9e7d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7E|&#x9e7e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E7F|&#x9e7f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E8x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E80|&#x9e80;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E81|&#x9e81;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E82|&#x9e82;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E83|&#x9e83;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E84|&#x9e84;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E85|&#x9e85;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E86|&#x9e86;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E87|&#x9e87;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E88|&#x9e88;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E89|&#x9e89;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8A|&#x9e8a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8B|&#x9e8b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8C|&#x9e8c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8D|&#x9e8d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8E|&#x9e8e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E8F|&#x9e8f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9E9x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E90|&#x9e90;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E91|&#x9e91;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E92|&#x9e92;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E93|&#x9e93;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E94|&#x9e94;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E95|&#x9e95;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E96|&#x9e96;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E97|&#x9e97;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E98|&#x9e98;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E99|&#x9e99;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9A|&#x9e9a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9B|&#x9e9b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9C|&#x9e9c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9D|&#x9e9d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9E|&#x9e9e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9E9F|&#x9e9f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9EAx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA0|&#x9ea0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA1|&#x9ea1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA2|&#x9ea2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA3|&#x9ea3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA4|&#x9ea4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA5|&#x9ea5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA6|&#x9ea6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA7|&#x9ea7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA8|&#x9ea8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EA9|&#x9ea9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAA|&#x9eaa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAB|&#x9eab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAC|&#x9eac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAD|&#x9ead;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAE|&#x9eae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EAF|&#x9eaf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9EBx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB0|&#x9eb0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB1|&#x9eb1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB2|&#x9eb2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB3|&#x9eb3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB4|&#x9eb4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB5|&#x9eb5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB6|&#x9eb6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB7|&#x9eb7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB8|&#x9eb8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EB9|&#x9eb9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBA|&#x9eba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBB|&#x9ebb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBC|&#x9ebc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBD|&#x9ebd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBE|&#x9ebe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EBF|&#x9ebf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9ECx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC0|&#x9ec0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC1|&#x9ec1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC2|&#x9ec2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC3|&#x9ec3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC4|&#x9ec4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC5|&#x9ec5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC6|&#x9ec6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC7|&#x9ec7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC8|&#x9ec8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EC9|&#x9ec9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECA|&#x9eca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECB|&#x9ecb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECC|&#x9ecc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECD|&#x9ecd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECE|&#x9ece;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ECF|&#x9ecf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9EDx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED0|&#x9ed0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED1|&#x9ed1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED2|&#x9ed2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED3|&#x9ed3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED4|&#x9ed4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED5|&#x9ed5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED6|&#x9ed6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED7|&#x9ed7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED8|&#x9ed8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9ED9|&#x9ed9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDA|&#x9eda;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDB|&#x9edb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDC|&#x9edc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDD|&#x9edd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDE|&#x9ede;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EDF|&#x9edf;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9EEx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE0|&#x9ee0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE1|&#x9ee1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE2|&#x9ee2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE3|&#x9ee3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE4|&#x9ee4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE5|&#x9ee5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE6|&#x9ee6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE7|&#x9ee7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE8|&#x9ee8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EE9|&#x9ee9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEA|&#x9eea;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEB|&#x9eeb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEC|&#x9eec;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EED|&#x9eed;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEE|&#x9eee;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EEF|&#x9eef;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9EFx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF0|&#x9ef0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF1|&#x9ef1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF2|&#x9ef2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF3|&#x9ef3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF4|&#x9ef4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF5|&#x9ef5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF6|&#x9ef6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF7|&#x9ef7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF8|&#x9ef8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EF9|&#x9ef9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFA|&#x9efa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFB|&#x9efb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFC|&#x9efc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFD|&#x9efd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFE|&#x9efe;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9EFF|&#x9eff;}} |----- 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|&#x9f00;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F01|&#x9f01;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F02|&#x9f02;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F03|&#x9f03;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F04|&#x9f04;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F05|&#x9f05;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F06|&#x9f06;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F07|&#x9f07;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F08|&#x9f08;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F09|&#x9f09;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0A|&#x9f0a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0B|&#x9f0b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0C|&#x9f0c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0D|&#x9f0d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0E|&#x9f0e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F0F|&#x9f0f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F1x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F10|&#x9f10;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F11|&#x9f11;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F12|&#x9f12;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F13|&#x9f13;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F14|&#x9f14;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F15|&#x9f15;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F16|&#x9f16;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F17|&#x9f17;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F18|&#x9f18;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F19|&#x9f19;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1A|&#x9f1a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1B|&#x9f1b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1C|&#x9f1c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1D|&#x9f1d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1E|&#x9f1e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F1F|&#x9f1f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F2x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F20|&#x9f20;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F21|&#x9f21;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F22|&#x9f22;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F23|&#x9f23;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F24|&#x9f24;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F25|&#x9f25;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F26|&#x9f26;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F27|&#x9f27;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F28|&#x9f28;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F29|&#x9f29;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2A|&#x9f2a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2B|&#x9f2b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2C|&#x9f2c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2D|&#x9f2d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2E|&#x9f2e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F2F|&#x9f2f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F3x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F30|&#x9f30;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F31|&#x9f31;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F32|&#x9f32;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F33|&#x9f33;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F34|&#x9f34;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F35|&#x9f35;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F36|&#x9f36;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F37|&#x9f37;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F38|&#x9f38;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F39|&#x9f39;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3A|&#x9f3a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3B|&#x9f3b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3C|&#x9f3c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3D|&#x9f3d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3E|&#x9f3e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F3F|&#x9f3f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F4x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F40|&#x9f40;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F41|&#x9f41;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F42|&#x9f42;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F43|&#x9f43;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F44|&#x9f44;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F45|&#x9f45;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F46|&#x9f46;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F47|&#x9f47;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F48|&#x9f48;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F49|&#x9f49;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4A|&#x9f4a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4B|&#x9f4b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4C|&#x9f4c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4D|&#x9f4d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4E|&#x9f4e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F4F|&#x9f4f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F5x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F50|&#x9f50;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F51|&#x9f51;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F52|&#x9f52;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F53|&#x9f53;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F54|&#x9f54;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F55|&#x9f55;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F56|&#x9f56;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F57|&#x9f57;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F58|&#x9f58;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F59|&#x9f59;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5A|&#x9f5a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5B|&#x9f5b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5C|&#x9f5c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5D|&#x9f5d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5E|&#x9f5e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F5F|&#x9f5f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F6x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F60|&#x9f60;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F61|&#x9f61;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F62|&#x9f62;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F63|&#x9f63;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F64|&#x9f64;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F65|&#x9f65;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F66|&#x9f66;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F67|&#x9f67;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F68|&#x9f68;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F69|&#x9f69;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6A|&#x9f6a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6B|&#x9f6b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6C|&#x9f6c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6D|&#x9f6d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6E|&#x9f6e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F6F|&#x9f6f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F7x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F70|&#x9f70;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F71|&#x9f71;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F72|&#x9f72;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F73|&#x9f73;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F74|&#x9f74;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F75|&#x9f75;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F76|&#x9f76;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F77|&#x9f77;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F78|&#x9f78;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F79|&#x9f79;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7A|&#x9f7a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7B|&#x9f7b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7C|&#x9f7c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7D|&#x9f7d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7E|&#x9f7e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F7F|&#x9f7f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F8x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F80|&#x9f80;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F81|&#x9f81;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F82|&#x9f82;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F83|&#x9f83;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F84|&#x9f84;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F85|&#x9f85;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F86|&#x9f86;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F87|&#x9f87;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F88|&#x9f88;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F89|&#x9f89;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8A|&#x9f8a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8B|&#x9f8b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8C|&#x9f8c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8D|&#x9f8d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8E|&#x9f8e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F8F|&#x9f8f;}} |----- align="center" style="background:#ff7c57" !style="background:#ffffff"|9F9x |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F90|&#x9f90;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F91|&#x9f91;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F92|&#x9f92;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F93|&#x9f93;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F94|&#x9f94;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F95|&#x9f95;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F96|&#x9f96;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F97|&#x9f97;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F98|&#x9f98;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F99|&#x9f99;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9A|&#x9f9a;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9B|&#x9f9b;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9C|&#x9f9c;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9D|&#x9f9d;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9E|&#x9f9e;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9F9F|&#x9f9f;}} |----- align="center" style="background:#75ff6f" !style="background:#ffffff"|9FAx |style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA0|&#x9fa0;}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA1|&#x9fa1;}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA2|&#x9fa2;}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA3|&#x9fa3;}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA4|&#x9fa4;}}||style="background:#ff7c57"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA5|&#x9fa5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA6|&#x9fa6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA7|&#x9fa7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA8|&#x9fa8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FA9|&#x9fa9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAA|&#x9faa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAB|&#x9fab;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAC|&#x9fac;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAD|&#x9fad;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAE|&#x9fae;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FAF|&#x9faf;}} |----- align="center" style="background:#75ff6f" !style="background:#ffffff"|9FBx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB0|&#x9fb0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB1|&#x9fb1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB2|&#x9fb2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB3|&#x9fb3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB4|&#x9fb4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB5|&#x9fb5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB6|&#x9fb6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB7|&#x9fb7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB8|&#x9fb8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FB9|&#x9fb9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBA|&#x9fba;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBB|&#x9fbb;}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBC|&#x9fbc;}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBD|&#x9fbd;}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBE|&#x9fbe;}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FBF|&#x9fbf;}} |----- align="center" style="background:#78ffca" !style="background:#ffffff"|9FCx |style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC0|&#x9fc0;}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC1|&#x9fc1;}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC2|&#x9fc2;}}||style="background:#75ffab"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC3|&#x9fc3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC4|&#x9fc4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC5|&#x9fc5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC6|&#x9fc6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC7|&#x9fc7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC8|&#x9fc8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FC9|&#x9fc9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCA|&#x9fca;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCB|&#x9fcb;}}||style="background:#7ef9ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCC|&#x9fcc;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCD|&#x9fcd;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCE|&#x9fce;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FCF|&#x9fcf;}} |----- align="center" style="background:#b690ff" !style="background:#ffffff"|9FDx |style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD0|&#x9fd0;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD1|&#x9fd1;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD2|&#x9fd2;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD3|&#x9fd3;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD4|&#x9fd4;}}||style="background:#8a94ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD5|&#x9fd5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD6|&#x9fd6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD7|&#x9fd7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD8|&#x9fd8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FD9|&#x9fd9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDA|&#x9fda;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDB|&#x9fdb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDC|&#x9fdc;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDD|&#x9fdd;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDE|&#x9fde;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FDF|&#x9fdf;}} |----- align="center" style="background:#b690ff" !style="background:#ffffff"|9FEx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE0|&#x9fe0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE1|&#x9fe1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE2|&#x9fe2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE3|&#x9fe3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE4|&#x9fe4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE5|&#x9fe5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE6|&#x9fe6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE7|&#x9fe7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE8|&#x9fe8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FE9|&#x9fe9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEA|&#x9fea;}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEB|&#x9feb;}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEC|&#x9fec;}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FED|&#x9fed;}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEE|&#x9fee;}}||style="background:#d093ff"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FEF|&#x9fef;}} |----- align="center" style="background:#ffb0ff" !style="background:#ffffff"|9FFx |{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF0|&#x9ff0;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF1|&#x9ff1;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF2|&#x9ff2;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF3|&#x9ff3;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF4|&#x9ff4;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF5|&#x9ff5;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF6|&#x9ff6;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF7|&#x9ff7;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF8|&#x9ff8;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FF9|&#x9ff9;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFA|&#x9ffa;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFB|&#x9ffb;}}||{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFC|&#x9ffc;}}||style="background:#ffc0e0"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFD|&#x9ffd;}}||style="background:#ffc0e0"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFE|&#x9ffe;}}||style="background:#ffc0e0"|{{H:title|dotted=no|CJK UNIFIED IDEOGRAPH-9FFF|&#x9fff;}} |----- 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 |&#xe000;||&#xe001;||&#xe002;||&#xe003;||&#xe004;||&#xe005;||&#xe006;||&#xe007;||&#xe008;||&#xe009;||&#xe00a;||&#xe00b;||&#xe00c;||&#xe00d;||&#xe00e;||&#xe00f; |----- align="center" !E01x |&#xe010;||&#xe011;||&#xe012;||&#xe013;||&#xe014;||&#xe015;||&#xe016;||&#xe017;||&#xe018;||&#xe019;||&#xe01a;||&#xe01b;||&#xe01c;||&#xe01d;||&#xe01e;||&#xe01f; |----- align="center" !E02x |&#xe020;||&#xe021;||&#xe022;||&#xe023;||&#xe024;||&#xe025;||&#xe026;||&#xe027;||&#xe028;||&#xe029;||&#xe02a;||&#xe02b;||&#xe02c;||&#xe02d;||&#xe02e;||&#xe02f; |----- align="center" !E03x |&#xe030;||&#xe031;||&#xe032;||&#xe033;||&#xe034;||&#xe035;||&#xe036;||&#xe037;||&#xe038;||&#xe039;||&#xe03a;||&#xe03b;||&#xe03c;||&#xe03d;||&#xe03e;||&#xe03f; |----- align="center" !E04x |&#xe040;||&#xe041;||&#xe042;||&#xe043;||&#xe044;||&#xe045;||&#xe046;||&#xe047;||&#xe048;||&#xe049;||&#xe04a;||&#xe04b;||&#xe04c;||&#xe04d;||&#xe04e;||&#xe04f; |----- align="center" !E05x |&#xe050;||&#xe051;||&#xe052;||&#xe053;||&#xe054;||&#xe055;||&#xe056;||&#xe057;||&#xe058;||&#xe059;||&#xe05a;||&#xe05b;||&#xe05c;||&#xe05d;||&#xe05e;||&#xe05f; |----- align="center" !E06x |&#xe060;||&#xe061;||&#xe062;||&#xe063;||&#xe064;||&#xe065;||&#xe066;||&#xe067;||&#xe068;||&#xe069;||&#xe06a;||&#xe06b;||&#xe06c;||&#xe06d;||&#xe06e;||&#xe06f; |----- align="center" !E07x |&#xe070;||&#xe071;||&#xe072;||&#xe073;||&#xe074;||&#xe075;||&#xe076;||&#xe077;||&#xe078;||&#xe079;||&#xe07a;||&#xe07b;||&#xe07c;||&#xe07d;||&#xe07e;||&#xe07f; |----- align="center" !E08x |&#xe080;||&#xe081;||&#xe082;||&#xe083;||&#xe084;||&#xe085;||&#xe086;||&#xe087;||&#xe088;||&#xe089;||&#xe08a;||&#xe08b;||&#xe08c;||&#xe08d;||&#xe08e;||&#xe08f; |----- align="center" !E09x |&#xe090;||&#xe091;||&#xe092;||&#xe093;||&#xe094;||&#xe095;||&#xe096;||&#xe097;||&#xe098;||&#xe099;||&#xe09a;||&#xe09b;||&#xe09c;||&#xe09d;||&#xe09e;||&#xe09f; |----- align="center" !E0Ax |&#xe0a0;||&#xe0a1;||&#xe0a2;||&#xe0a3;||&#xe0a4;||&#xe0a5;||&#xe0a6;||&#xe0a7;||&#xe0a8;||&#xe0a9;||&#xe0aa;||&#xe0ab;||&#xe0ac;||&#xe0ad;||&#xe0ae;||&#xe0af; |----- align="center" !E0Bx |&#xe0b0;||&#xe0b1;||&#xe0b2;||&#xe0b3;||&#xe0b4;||&#xe0b5;||&#xe0b6;||&#xe0b7;||&#xe0b8;||&#xe0b9;||&#xe0ba;||&#xe0bb;||&#xe0bc;||&#xe0bd;||&#xe0be;||&#xe0bf; |----- align="center" !E0Cx |&#xe0c0;||&#xe0c1;||&#xe0c2;||&#xe0c3;||&#xe0c4;||&#xe0c5;||&#xe0c6;||&#xe0c7;||&#xe0c8;||&#xe0c9;||&#xe0ca;||&#xe0cb;||&#xe0cc;||&#xe0cd;||&#xe0ce;||&#xe0cf; |----- align="center" !E0Dx |&#xe0d0;||&#xe0d1;||&#xe0d2;||&#xe0d3;||&#xe0d4;||&#xe0d5;||&#xe0d6;||&#xe0d7;||&#xe0d8;||&#xe0d9;||&#xe0da;||&#xe0db;||&#xe0dc;||&#xe0dd;||&#xe0de;||&#xe0df; |----- align="center" !E0Ex |&#xe0e0;||&#xe0e1;||&#xe0e2;||&#xe0e3;||&#xe0e4;||&#xe0e5;||&#xe0e6;||&#xe0e7;||&#xe0e8;||&#xe0e9;||&#xe0ea;||&#xe0eb;||&#xe0ec;||&#xe0ed;||&#xe0ee;||&#xe0ef; |----- align="center" !E0Fx |&#xe0f0;||&#xe0f1;||&#xe0f2;||&#xe0f3;||&#xe0f4;||&#xe0f5;||&#xe0f6;||&#xe0f7;||&#xe0f8;||&#xe0f9;||&#xe0fa;||&#xe0fb;||&#xe0fc;||&#xe0fd;||&#xe0fe;||&#xe0ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E10x |&#xe100;||&#xe101;||&#xe102;||&#xe103;||&#xe104;||&#xe105;||&#xe106;||&#xe107;||&#xe108;||&#xe109;||&#xe10a;||&#xe10b;||&#xe10c;||&#xe10d;||&#xe10e;||&#xe10f; |----- align="center" !E11x |&#xe110;||&#xe111;||&#xe112;||&#xe113;||&#xe114;||&#xe115;||&#xe116;||&#xe117;||&#xe118;||&#xe119;||&#xe11a;||&#xe11b;||&#xe11c;||&#xe11d;||&#xe11e;||&#xe11f; |----- align="center" !E12x |&#xe120;||&#xe121;||&#xe122;||&#xe123;||&#xe124;||&#xe125;||&#xe126;||&#xe127;||&#xe128;||&#xe129;||&#xe12a;||&#xe12b;||&#xe12c;||&#xe12d;||&#xe12e;||&#xe12f; |----- align="center" !E13x |&#xe130;||&#xe131;||&#xe132;||&#xe133;||&#xe134;||&#xe135;||&#xe136;||&#xe137;||&#xe138;||&#xe139;||&#xe13a;||&#xe13b;||&#xe13c;||&#xe13d;||&#xe13e;||&#xe13f; |----- align="center" !E14x |&#xe140;||&#xe141;||&#xe142;||&#xe143;||&#xe144;||&#xe145;||&#xe146;||&#xe147;||&#xe148;||&#xe149;||&#xe14a;||&#xe14b;||&#xe14c;||&#xe14d;||&#xe14e;||&#xe14f; |----- align="center" !E15x |&#xe150;||&#xe151;||&#xe152;||&#xe153;||&#xe154;||&#xe155;||&#xe156;||&#xe157;||&#xe158;||&#xe159;||&#xe15a;||&#xe15b;||&#xe15c;||&#xe15d;||&#xe15e;||&#xe15f; |----- align="center" !E16x |&#xe160;||&#xe161;||&#xe162;||&#xe163;||&#xe164;||&#xe165;||&#xe166;||&#xe167;||&#xe168;||&#xe169;||&#xe16a;||&#xe16b;||&#xe16c;||&#xe16d;||&#xe16e;||&#xe16f; |----- align="center" !E17x |&#xe170;||&#xe171;||&#xe172;||&#xe173;||&#xe174;||&#xe175;||&#xe176;||&#xe177;||&#xe178;||&#xe179;||&#xe17a;||&#xe17b;||&#xe17c;||&#xe17d;||&#xe17e;||&#xe17f; |----- align="center" !E18x |&#xe180;||&#xe181;||&#xe182;||&#xe183;||&#xe184;||&#xe185;||&#xe186;||&#xe187;||&#xe188;||&#xe189;||&#xe18a;||&#xe18b;||&#xe18c;||&#xe18d;||&#xe18e;||&#xe18f; |----- align="center" !E19x |&#xe190;||&#xe191;||&#xe192;||&#xe193;||&#xe194;||&#xe195;||&#xe196;||&#xe197;||&#xe198;||&#xe199;||&#xe19a;||&#xe19b;||&#xe19c;||&#xe19d;||&#xe19e;||&#xe19f; |----- align="center" !E1Ax |&#xe1a0;||&#xe1a1;||&#xe1a2;||&#xe1a3;||&#xe1a4;||&#xe1a5;||&#xe1a6;||&#xe1a7;||&#xe1a8;||&#xe1a9;||&#xe1aa;||&#xe1ab;||&#xe1ac;||&#xe1ad;||&#xe1ae;||&#xe1af; |----- align="center" !E1Bx |&#xe1b0;||&#xe1b1;||&#xe1b2;||&#xe1b3;||&#xe1b4;||&#xe1b5;||&#xe1b6;||&#xe1b7;||&#xe1b8;||&#xe1b9;||&#xe1ba;||&#xe1bb;||&#xe1bc;||&#xe1bd;||&#xe1be;||&#xe1bf; |----- align="center" !E1Cx |&#xe1c0;||&#xe1c1;||&#xe1c2;||&#xe1c3;||&#xe1c4;||&#xe1c5;||&#xe1c6;||&#xe1c7;||&#xe1c8;||&#xe1c9;||&#xe1ca;||&#xe1cb;||&#xe1cc;||&#xe1cd;||&#xe1ce;||&#xe1cf; |----- align="center" !E1Dx |&#xe1d0;||&#xe1d1;||&#xe1d2;||&#xe1d3;||&#xe1d4;||&#xe1d5;||&#xe1d6;||&#xe1d7;||&#xe1d8;||&#xe1d9;||&#xe1da;||&#xe1db;||&#xe1dc;||&#xe1dd;||&#xe1de;||&#xe1df; |----- align="center" !E1Ex |&#xe1e0;||&#xe1e1;||&#xe1e2;||&#xe1e3;||&#xe1e4;||&#xe1e5;||&#xe1e6;||&#xe1e7;||&#xe1e8;||&#xe1e9;||&#xe1ea;||&#xe1eb;||&#xe1ec;||&#xe1ed;||&#xe1ee;||&#xe1ef; |----- align="center" !E1Fx |&#xe1f0;||&#xe1f1;||&#xe1f2;||&#xe1f3;||&#xe1f4;||&#xe1f5;||&#xe1f6;||&#xe1f7;||&#xe1f8;||&#xe1f9;||&#xe1fa;||&#xe1fb;||&#xe1fc;||&#xe1fd;||&#xe1fe;||&#xe1ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E20x |&#xe200;||&#xe201;||&#xe202;||&#xe203;||&#xe204;||&#xe205;||&#xe206;||&#xe207;||&#xe208;||&#xe209;||&#xe20a;||&#xe20b;||&#xe20c;||&#xe20d;||&#xe20e;||&#xe20f; |----- align="center" !E21x |&#xe210;||&#xe211;||&#xe212;||&#xe213;||&#xe214;||&#xe215;||&#xe216;||&#xe217;||&#xe218;||&#xe219;||&#xe21a;||&#xe21b;||&#xe21c;||&#xe21d;||&#xe21e;||&#xe21f; |----- align="center" !E22x |&#xe220;||&#xe221;||&#xe222;||&#xe223;||&#xe224;||&#xe225;||&#xe226;||&#xe227;||&#xe228;||&#xe229;||&#xe22a;||&#xe22b;||&#xe22c;||&#xe22d;||&#xe22e;||&#xe22f; |----- align="center" !E23x |&#xe230;||&#xe231;||&#xe232;||&#xe233;||&#xe234;||&#xe235;||&#xe236;||&#xe237;||&#xe238;||&#xe239;||&#xe23a;||&#xe23b;||&#xe23c;||&#xe23d;||&#xe23e;||&#xe23f; |----- align="center" !E24x |&#xe240;||&#xe241;||&#xe242;||&#xe243;||&#xe244;||&#xe245;||&#xe246;||&#xe247;||&#xe248;||&#xe249;||&#xe24a;||&#xe24b;||&#xe24c;||&#xe24d;||&#xe24e;||&#xe24f; |----- align="center" !E25x |&#xe250;||&#xe251;||&#xe252;||&#xe253;||&#xe254;||&#xe255;||&#xe256;||&#xe257;||&#xe258;||&#xe259;||&#xe25a;||&#xe25b;||&#xe25c;||&#xe25d;||&#xe25e;||&#xe25f; |----- align="center" !E26x |&#xe260;||&#xe261;||&#xe262;||&#xe263;||&#xe264;||&#xe265;||&#xe266;||&#xe267;||&#xe268;||&#xe269;||&#xe26a;||&#xe26b;||&#xe26c;||&#xe26d;||&#xe26e;||&#xe26f; |----- align="center" !E27x |&#xe270;||&#xe271;||&#xe272;||&#xe273;||&#xe274;||&#xe275;||&#xe276;||&#xe277;||&#xe278;||&#xe279;||&#xe27a;||&#xe27b;||&#xe27c;||&#xe27d;||&#xe27e;||&#xe27f; |----- align="center" !E28x |&#xe280;||&#xe281;||&#xe282;||&#xe283;||&#xe284;||&#xe285;||&#xe286;||&#xe287;||&#xe288;||&#xe289;||&#xe28a;||&#xe28b;||&#xe28c;||&#xe28d;||&#xe28e;||&#xe28f; |----- align="center" !E29x |&#xe290;||&#xe291;||&#xe292;||&#xe293;||&#xe294;||&#xe295;||&#xe296;||&#xe297;||&#xe298;||&#xe299;||&#xe29a;||&#xe29b;||&#xe29c;||&#xe29d;||&#xe29e;||&#xe29f; |----- align="center" !E2Ax |&#xe2a0;||&#xe2a1;||&#xe2a2;||&#xe2a3;||&#xe2a4;||&#xe2a5;||&#xe2a6;||&#xe2a7;||&#xe2a8;||&#xe2a9;||&#xe2aa;||&#xe2ab;||&#xe2ac;||&#xe2ad;||&#xe2ae;||&#xe2af; |----- align="center" !E2Bx |&#xe2b0;||&#xe2b1;||&#xe2b2;||&#xe2b3;||&#xe2b4;||&#xe2b5;||&#xe2b6;||&#xe2b7;||&#xe2b8;||&#xe2b9;||&#xe2ba;||&#xe2bb;||&#xe2bc;||&#xe2bd;||&#xe2be;||&#xe2bf; |----- align="center" !E2Cx |&#xe2c0;||&#xe2c1;||&#xe2c2;||&#xe2c3;||&#xe2c4;||&#xe2c5;||&#xe2c6;||&#xe2c7;||&#xe2c8;||&#xe2c9;||&#xe2ca;||&#xe2cb;||&#xe2cc;||&#xe2cd;||&#xe2ce;||&#xe2cf; |----- align="center" !E2Dx |&#xe2d0;||&#xe2d1;||&#xe2d2;||&#xe2d3;||&#xe2d4;||&#xe2d5;||&#xe2d6;||&#xe2d7;||&#xe2d8;||&#xe2d9;||&#xe2da;||&#xe2db;||&#xe2dc;||&#xe2dd;||&#xe2de;||&#xe2df; |----- align="center" !E2Ex |&#xe2e0;||&#xe2e1;||&#xe2e2;||&#xe2e3;||&#xe2e4;||&#xe2e5;||&#xe2e6;||&#xe2e7;||&#xe2e8;||&#xe2e9;||&#xe2ea;||&#xe2eb;||&#xe2ec;||&#xe2ed;||&#xe2ee;||&#xe2ef; |----- align="center" !E2Fx |&#xe2f0;||&#xe2f1;||&#xe2f2;||&#xe2f3;||&#xe2f4;||&#xe2f5;||&#xe2f6;||&#xe2f7;||&#xe2f8;||&#xe2f9;||&#xe2fa;||&#xe2fb;||&#xe2fc;||&#xe2fd;||&#xe2fe;||&#xe2ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E30x |&#xe300;||&#xe301;||&#xe302;||&#xe303;||&#xe304;||&#xe305;||&#xe306;||&#xe307;||&#xe308;||&#xe309;||&#xe30a;||&#xe30b;||&#xe30c;||&#xe30d;||&#xe30e;||&#xe30f; |----- align="center" !E31x |&#xe310;||&#xe311;||&#xe312;||&#xe313;||&#xe314;||&#xe315;||&#xe316;||&#xe317;||&#xe318;||&#xe319;||&#xe31a;||&#xe31b;||&#xe31c;||&#xe31d;||&#xe31e;||&#xe31f; |----- align="center" !E32x |&#xe320;||&#xe321;||&#xe322;||&#xe323;||&#xe324;||&#xe325;||&#xe326;||&#xe327;||&#xe328;||&#xe329;||&#xe32a;||&#xe32b;||&#xe32c;||&#xe32d;||&#xe32e;||&#xe32f; |----- align="center" !E33x |&#xe330;||&#xe331;||&#xe332;||&#xe333;||&#xe334;||&#xe335;||&#xe336;||&#xe337;||&#xe338;||&#xe339;||&#xe33a;||&#xe33b;||&#xe33c;||&#xe33d;||&#xe33e;||&#xe33f; |----- align="center" !E34x |&#xe340;||&#xe341;||&#xe342;||&#xe343;||&#xe344;||&#xe345;||&#xe346;||&#xe347;||&#xe348;||&#xe349;||&#xe34a;||&#xe34b;||&#xe34c;||&#xe34d;||&#xe34e;||&#xe34f; |----- align="center" !E35x |&#xe350;||&#xe351;||&#xe352;||&#xe353;||&#xe354;||&#xe355;||&#xe356;||&#xe357;||&#xe358;||&#xe359;||&#xe35a;||&#xe35b;||&#xe35c;||&#xe35d;||&#xe35e;||&#xe35f; |----- align="center" !E36x |&#xe360;||&#xe361;||&#xe362;||&#xe363;||&#xe364;||&#xe365;||&#xe366;||&#xe367;||&#xe368;||&#xe369;||&#xe36a;||&#xe36b;||&#xe36c;||&#xe36d;||&#xe36e;||&#xe36f; |----- align="center" !E37x |&#xe370;||&#xe371;||&#xe372;||&#xe373;||&#xe374;||&#xe375;||&#xe376;||&#xe377;||&#xe378;||&#xe379;||&#xe37a;||&#xe37b;||&#xe37c;||&#xe37d;||&#xe37e;||&#xe37f; |----- align="center" !E38x |&#xe380;||&#xe381;||&#xe382;||&#xe383;||&#xe384;||&#xe385;||&#xe386;||&#xe387;||&#xe388;||&#xe389;||&#xe38a;||&#xe38b;||&#xe38c;||&#xe38d;||&#xe38e;||&#xe38f; |----- align="center" !E39x |&#xe390;||&#xe391;||&#xe392;||&#xe393;||&#xe394;||&#xe395;||&#xe396;||&#xe397;||&#xe398;||&#xe399;||&#xe39a;||&#xe39b;||&#xe39c;||&#xe39d;||&#xe39e;||&#xe39f; |----- align="center" !E3Ax |&#xe3a0;||&#xe3a1;||&#xe3a2;||&#xe3a3;||&#xe3a4;||&#xe3a5;||&#xe3a6;||&#xe3a7;||&#xe3a8;||&#xe3a9;||&#xe3aa;||&#xe3ab;||&#xe3ac;||&#xe3ad;||&#xe3ae;||&#xe3af; |----- align="center" !E3Bx |&#xe3b0;||&#xe3b1;||&#xe3b2;||&#xe3b3;||&#xe3b4;||&#xe3b5;||&#xe3b6;||&#xe3b7;||&#xe3b8;||&#xe3b9;||&#xe3ba;||&#xe3bb;||&#xe3bc;||&#xe3bd;||&#xe3be;||&#xe3bf; |----- align="center" !E3Cx |&#xe3c0;||&#xe3c1;||&#xe3c2;||&#xe3c3;||&#xe3c4;||&#xe3c5;||&#xe3c6;||&#xe3c7;||&#xe3c8;||&#xe3c9;||&#xe3ca;||&#xe3cb;||&#xe3cc;||&#xe3cd;||&#xe3ce;||&#xe3cf; |----- align="center" !E3Dx |&#xe3d0;||&#xe3d1;||&#xe3d2;||&#xe3d3;||&#xe3d4;||&#xe3d5;||&#xe3d6;||&#xe3d7;||&#xe3d8;||&#xe3d9;||&#xe3da;||&#xe3db;||&#xe3dc;||&#xe3dd;||&#xe3de;||&#xe3df; |----- align="center" !E3Ex |&#xe3e0;||&#xe3e1;||&#xe3e2;||&#xe3e3;||&#xe3e4;||&#xe3e5;||&#xe3e6;||&#xe3e7;||&#xe3e8;||&#xe3e9;||&#xe3ea;||&#xe3eb;||&#xe3ec;||&#xe3ed;||&#xe3ee;||&#xe3ef; |----- align="center" !E3Fx |&#xe3f0;||&#xe3f1;||&#xe3f2;||&#xe3f3;||&#xe3f4;||&#xe3f5;||&#xe3f6;||&#xe3f7;||&#xe3f8;||&#xe3f9;||&#xe3fa;||&#xe3fb;||&#xe3fc;||&#xe3fd;||&#xe3fe;||&#xe3ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E40x |&#xe400;||&#xe401;||&#xe402;||&#xe403;||&#xe404;||&#xe405;||&#xe406;||&#xe407;||&#xe408;||&#xe409;||&#xe40a;||&#xe40b;||&#xe40c;||&#xe40d;||&#xe40e;||&#xe40f; |----- align="center" !E41x |&#xe410;||&#xe411;||&#xe412;||&#xe413;||&#xe414;||&#xe415;||&#xe416;||&#xe417;||&#xe418;||&#xe419;||&#xe41a;||&#xe41b;||&#xe41c;||&#xe41d;||&#xe41e;||&#xe41f; |----- align="center" !E42x |&#xe420;||&#xe421;||&#xe422;||&#xe423;||&#xe424;||&#xe425;||&#xe426;||&#xe427;||&#xe428;||&#xe429;||&#xe42a;||&#xe42b;||&#xe42c;||&#xe42d;||&#xe42e;||&#xe42f; |----- align="center" !E43x |&#xe430;||&#xe431;||&#xe432;||&#xe433;||&#xe434;||&#xe435;||&#xe436;||&#xe437;||&#xe438;||&#xe439;||&#xe43a;||&#xe43b;||&#xe43c;||&#xe43d;||&#xe43e;||&#xe43f; |----- align="center" !E44x |&#xe440;||&#xe441;||&#xe442;||&#xe443;||&#xe444;||&#xe445;||&#xe446;||&#xe447;||&#xe448;||&#xe449;||&#xe44a;||&#xe44b;||&#xe44c;||&#xe44d;||&#xe44e;||&#xe44f; |----- align="center" !E45x |&#xe450;||&#xe451;||&#xe452;||&#xe453;||&#xe454;||&#xe455;||&#xe456;||&#xe457;||&#xe458;||&#xe459;||&#xe45a;||&#xe45b;||&#xe45c;||&#xe45d;||&#xe45e;||&#xe45f; |----- align="center" !E46x |&#xe460;||&#xe461;||&#xe462;||&#xe463;||&#xe464;||&#xe465;||&#xe466;||&#xe467;||&#xe468;||&#xe469;||&#xe46a;||&#xe46b;||&#xe46c;||&#xe46d;||&#xe46e;||&#xe46f; |----- align="center" !E47x |&#xe470;||&#xe471;||&#xe472;||&#xe473;||&#xe474;||&#xe475;||&#xe476;||&#xe477;||&#xe478;||&#xe479;||&#xe47a;||&#xe47b;||&#xe47c;||&#xe47d;||&#xe47e;||&#xe47f; |----- align="center" !E48x |&#xe480;||&#xe481;||&#xe482;||&#xe483;||&#xe484;||&#xe485;||&#xe486;||&#xe487;||&#xe488;||&#xe489;||&#xe48a;||&#xe48b;||&#xe48c;||&#xe48d;||&#xe48e;||&#xe48f; |----- align="center" !E49x |&#xe490;||&#xe491;||&#xe492;||&#xe493;||&#xe494;||&#xe495;||&#xe496;||&#xe497;||&#xe498;||&#xe499;||&#xe49a;||&#xe49b;||&#xe49c;||&#xe49d;||&#xe49e;||&#xe49f; |----- align="center" !E4Ax |&#xe4a0;||&#xe4a1;||&#xe4a2;||&#xe4a3;||&#xe4a4;||&#xe4a5;||&#xe4a6;||&#xe4a7;||&#xe4a8;||&#xe4a9;||&#xe4aa;||&#xe4ab;||&#xe4ac;||&#xe4ad;||&#xe4ae;||&#xe4af; |----- align="center" !E4Bx |&#xe4b0;||&#xe4b1;||&#xe4b2;||&#xe4b3;||&#xe4b4;||&#xe4b5;||&#xe4b6;||&#xe4b7;||&#xe4b8;||&#xe4b9;||&#xe4ba;||&#xe4bb;||&#xe4bc;||&#xe4bd;||&#xe4be;||&#xe4bf; |----- align="center" !E4Cx |&#xe4c0;||&#xe4c1;||&#xe4c2;||&#xe4c3;||&#xe4c4;||&#xe4c5;||&#xe4c6;||&#xe4c7;||&#xe4c8;||&#xe4c9;||&#xe4ca;||&#xe4cb;||&#xe4cc;||&#xe4cd;||&#xe4ce;||&#xe4cf; |----- align="center" !E4Dx |&#xe4d0;||&#xe4d1;||&#xe4d2;||&#xe4d3;||&#xe4d4;||&#xe4d5;||&#xe4d6;||&#xe4d7;||&#xe4d8;||&#xe4d9;||&#xe4da;||&#xe4db;||&#xe4dc;||&#xe4dd;||&#xe4de;||&#xe4df; |----- align="center" !E4Ex |&#xe4e0;||&#xe4e1;||&#xe4e2;||&#xe4e3;||&#xe4e4;||&#xe4e5;||&#xe4e6;||&#xe4e7;||&#xe4e8;||&#xe4e9;||&#xe4ea;||&#xe4eb;||&#xe4ec;||&#xe4ed;||&#xe4ee;||&#xe4ef; |----- align="center" !E4Fx |&#xe4f0;||&#xe4f1;||&#xe4f2;||&#xe4f3;||&#xe4f4;||&#xe4f5;||&#xe4f6;||&#xe4f7;||&#xe4f8;||&#xe4f9;||&#xe4fa;||&#xe4fb;||&#xe4fc;||&#xe4fd;||&#xe4fe;||&#xe4ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E50x |&#xe500;||&#xe501;||&#xe502;||&#xe503;||&#xe504;||&#xe505;||&#xe506;||&#xe507;||&#xe508;||&#xe509;||&#xe50a;||&#xe50b;||&#xe50c;||&#xe50d;||&#xe50e;||&#xe50f; |----- align="center" !E51x |&#xe510;||&#xe511;||&#xe512;||&#xe513;||&#xe514;||&#xe515;||&#xe516;||&#xe517;||&#xe518;||&#xe519;||&#xe51a;||&#xe51b;||&#xe51c;||&#xe51d;||&#xe51e;||&#xe51f; |----- align="center" !E52x |&#xe520;||&#xe521;||&#xe522;||&#xe523;||&#xe524;||&#xe525;||&#xe526;||&#xe527;||&#xe528;||&#xe529;||&#xe52a;||&#xe52b;||&#xe52c;||&#xe52d;||&#xe52e;||&#xe52f; |----- align="center" !E53x |&#xe530;||&#xe531;||&#xe532;||&#xe533;||&#xe534;||&#xe535;||&#xe536;||&#xe537;||&#xe538;||&#xe539;||&#xe53a;||&#xe53b;||&#xe53c;||&#xe53d;||&#xe53e;||&#xe53f; |----- align="center" !E54x |&#xe540;||&#xe541;||&#xe542;||&#xe543;||&#xe544;||&#xe545;||&#xe546;||&#xe547;||&#xe548;||&#xe549;||&#xe54a;||&#xe54b;||&#xe54c;||&#xe54d;||&#xe54e;||&#xe54f; |----- align="center" !E55x |&#xe550;||&#xe551;||&#xe552;||&#xe553;||&#xe554;||&#xe555;||&#xe556;||&#xe557;||&#xe558;||&#xe559;||&#xe55a;||&#xe55b;||&#xe55c;||&#xe55d;||&#xe55e;||&#xe55f; |----- align="center" !E56x |&#xe560;||&#xe561;||&#xe562;||&#xe563;||&#xe564;||&#xe565;||&#xe566;||&#xe567;||&#xe568;||&#xe569;||&#xe56a;||&#xe56b;||&#xe56c;||&#xe56d;||&#xe56e;||&#xe56f; |----- align="center" !E57x |&#xe570;||&#xe571;||&#xe572;||&#xe573;||&#xe574;||&#xe575;||&#xe576;||&#xe577;||&#xe578;||&#xe579;||&#xe57a;||&#xe57b;||&#xe57c;||&#xe57d;||&#xe57e;||&#xe57f; |----- align="center" !E58x |&#xe580;||&#xe581;||&#xe582;||&#xe583;||&#xe584;||&#xe585;||&#xe586;||&#xe587;||&#xe588;||&#xe589;||&#xe58a;||&#xe58b;||&#xe58c;||&#xe58d;||&#xe58e;||&#xe58f; |----- align="center" !E59x |&#xe590;||&#xe591;||&#xe592;||&#xe593;||&#xe594;||&#xe595;||&#xe596;||&#xe597;||&#xe598;||&#xe599;||&#xe59a;||&#xe59b;||&#xe59c;||&#xe59d;||&#xe59e;||&#xe59f; |----- align="center" !E5Ax |&#xe5a0;||&#xe5a1;||&#xe5a2;||&#xe5a3;||&#xe5a4;||&#xe5a5;||&#xe5a6;||&#xe5a7;||&#xe5a8;||&#xe5a9;||&#xe5aa;||&#xe5ab;||&#xe5ac;||&#xe5ad;||&#xe5ae;||&#xe5af; |----- align="center" !E5Bx |&#xe5b0;||&#xe5b1;||&#xe5b2;||&#xe5b3;||&#xe5b4;||&#xe5b5;||&#xe5b6;||&#xe5b7;||&#xe5b8;||&#xe5b9;||&#xe5ba;||&#xe5bb;||&#xe5bc;||&#xe5bd;||&#xe5be;||&#xe5bf; |----- align="center" !E5Cx |&#xe5c0;||&#xe5c1;||&#xe5c2;||&#xe5c3;||&#xe5c4;||&#xe5c5;||&#xe5c6;||&#xe5c7;||&#xe5c8;||&#xe5c9;||&#xe5ca;||&#xe5cb;||&#xe5cc;||&#xe5cd;||&#xe5ce;||&#xe5cf; |----- align="center" !E5Dx |&#xe5d0;||&#xe5d1;||&#xe5d2;||&#xe5d3;||&#xe5d4;||&#xe5d5;||&#xe5d6;||&#xe5d7;||&#xe5d8;||&#xe5d9;||&#xe5da;||&#xe5db;||&#xe5dc;||&#xe5dd;||&#xe5de;||&#xe5df; |----- align="center" !E5Ex |&#xe5e0;||&#xe5e1;||&#xe5e2;||&#xe5e3;||&#xe5e4;||&#xe5e5;||&#xe5e6;||&#xe5e7;||&#xe5e8;||&#xe5e9;||&#xe5ea;||&#xe5eb;||&#xe5ec;||&#xe5ed;||&#xe5ee;||&#xe5ef; |----- align="center" !E5Fx |&#xe5f0;||&#xe5f1;||&#xe5f2;||&#xe5f3;||&#xe5f4;||&#xe5f5;||&#xe5f6;||&#xe5f7;||&#xe5f8;||&#xe5f9;||&#xe5fa;||&#xe5fb;||&#xe5fc;||&#xe5fd;||&#xe5fe;||&#xe5ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E60x |&#xe600;||&#xe601;||&#xe602;||&#xe603;||&#xe604;||&#xe605;||&#xe606;||&#xe607;||&#xe608;||&#xe609;||&#xe60a;||&#xe60b;||&#xe60c;||&#xe60d;||&#xe60e;||&#xe60f; |----- align="center" !E61x |&#xe610;||&#xe611;||&#xe612;||&#xe613;||&#xe614;||&#xe615;||&#xe616;||&#xe617;||&#xe618;||&#xe619;||&#xe61a;||&#xe61b;||&#xe61c;||&#xe61d;||&#xe61e;||&#xe61f; |----- align="center" !E62x |&#xe620;||&#xe621;||&#xe622;||&#xe623;||&#xe624;||&#xe625;||&#xe626;||&#xe627;||&#xe628;||&#xe629;||&#xe62a;||&#xe62b;||&#xe62c;||&#xe62d;||&#xe62e;||&#xe62f; |----- align="center" !E63x |&#xe630;||&#xe631;||&#xe632;||&#xe633;||&#xe634;||&#xe635;||&#xe636;||&#xe637;||&#xe638;||&#xe639;||&#xe63a;||&#xe63b;||&#xe63c;||&#xe63d;||&#xe63e;||&#xe63f; |----- align="center" !E64x |&#xe640;||&#xe641;||&#xe642;||&#xe643;||&#xe644;||&#xe645;||&#xe646;||&#xe647;||&#xe648;||&#xe649;||&#xe64a;||&#xe64b;||&#xe64c;||&#xe64d;||&#xe64e;||&#xe64f; |----- align="center" !E65x |&#xe650;||&#xe651;||&#xe652;||&#xe653;||&#xe654;||&#xe655;||&#xe656;||&#xe657;||&#xe658;||&#xe659;||&#xe65a;||&#xe65b;||&#xe65c;||&#xe65d;||&#xe65e;||&#xe65f; |----- align="center" !E66x |&#xe660;||&#xe661;||&#xe662;||&#xe663;||&#xe664;||&#xe665;||&#xe666;||&#xe667;||&#xe668;||&#xe669;||&#xe66a;||&#xe66b;||&#xe66c;||&#xe66d;||&#xe66e;||&#xe66f; |----- align="center" !E67x |&#xe670;||&#xe671;||&#xe672;||&#xe673;||&#xe674;||&#xe675;||&#xe676;||&#xe677;||&#xe678;||&#xe679;||&#xe67a;||&#xe67b;||&#xe67c;||&#xe67d;||&#xe67e;||&#xe67f; |----- align="center" !E68x |&#xe680;||&#xe681;||&#xe682;||&#xe683;||&#xe684;||&#xe685;||&#xe686;||&#xe687;||&#xe688;||&#xe689;||&#xe68a;||&#xe68b;||&#xe68c;||&#xe68d;||&#xe68e;||&#xe68f; |----- align="center" !E69x |&#xe690;||&#xe691;||&#xe692;||&#xe693;||&#xe694;||&#xe695;||&#xe696;||&#xe697;||&#xe698;||&#xe699;||&#xe69a;||&#xe69b;||&#xe69c;||&#xe69d;||&#xe69e;||&#xe69f; |----- align="center" !E6Ax |&#xe6a0;||&#xe6a1;||&#xe6a2;||&#xe6a3;||&#xe6a4;||&#xe6a5;||&#xe6a6;||&#xe6a7;||&#xe6a8;||&#xe6a9;||&#xe6aa;||&#xe6ab;||&#xe6ac;||&#xe6ad;||&#xe6ae;||&#xe6af; |----- align="center" !E6Bx |&#xe6b0;||&#xe6b1;||&#xe6b2;||&#xe6b3;||&#xe6b4;||&#xe6b5;||&#xe6b6;||&#xe6b7;||&#xe6b8;||&#xe6b9;||&#xe6ba;||&#xe6bb;||&#xe6bc;||&#xe6bd;||&#xe6be;||&#xe6bf; |----- align="center" !E6Cx |&#xe6c0;||&#xe6c1;||&#xe6c2;||&#xe6c3;||&#xe6c4;||&#xe6c5;||&#xe6c6;||&#xe6c7;||&#xe6c8;||&#xe6c9;||&#xe6ca;||&#xe6cb;||&#xe6cc;||&#xe6cd;||&#xe6ce;||&#xe6cf; |----- align="center" !E6Dx |&#xe6d0;||&#xe6d1;||&#xe6d2;||&#xe6d3;||&#xe6d4;||&#xe6d5;||&#xe6d6;||&#xe6d7;||&#xe6d8;||&#xe6d9;||&#xe6da;||&#xe6db;||&#xe6dc;||&#xe6dd;||&#xe6de;||&#xe6df; |----- align="center" !E6Ex |&#xe6e0;||&#xe6e1;||&#xe6e2;||&#xe6e3;||&#xe6e4;||&#xe6e5;||&#xe6e6;||&#xe6e7;||&#xe6e8;||&#xe6e9;||&#xe6ea;||&#xe6eb;||&#xe6ec;||&#xe6ed;||&#xe6ee;||&#xe6ef; |----- align="center" !E6Fx |&#xe6f0;||&#xe6f1;||&#xe6f2;||&#xe6f3;||&#xe6f4;||&#xe6f5;||&#xe6f6;||&#xe6f7;||&#xe6f8;||&#xe6f9;||&#xe6fa;||&#xe6fb;||&#xe6fc;||&#xe6fd;||&#xe6fe;||&#xe6ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E70x |&#xe700;||&#xe701;||&#xe702;||&#xe703;||&#xe704;||&#xe705;||&#xe706;||&#xe707;||&#xe708;||&#xe709;||&#xe70a;||&#xe70b;||&#xe70c;||&#xe70d;||&#xe70e;||&#xe70f; |----- align="center" !E71x |&#xe710;||&#xe711;||&#xe712;||&#xe713;||&#xe714;||&#xe715;||&#xe716;||&#xe717;||&#xe718;||&#xe719;||&#xe71a;||&#xe71b;||&#xe71c;||&#xe71d;||&#xe71e;||&#xe71f; |----- align="center" !E72x |&#xe720;||&#xe721;||&#xe722;||&#xe723;||&#xe724;||&#xe725;||&#xe726;||&#xe727;||&#xe728;||&#xe729;||&#xe72a;||&#xe72b;||&#xe72c;||&#xe72d;||&#xe72e;||&#xe72f; |----- align="center" !E73x |&#xe730;||&#xe731;||&#xe732;||&#xe733;||&#xe734;||&#xe735;||&#xe736;||&#xe737;||&#xe738;||&#xe739;||&#xe73a;||&#xe73b;||&#xe73c;||&#xe73d;||&#xe73e;||&#xe73f; |----- align="center" !E74x |&#xe740;||&#xe741;||&#xe742;||&#xe743;||&#xe744;||&#xe745;||&#xe746;||&#xe747;||&#xe748;||&#xe749;||&#xe74a;||&#xe74b;||&#xe74c;||&#xe74d;||&#xe74e;||&#xe74f; |----- align="center" !E75x |&#xe750;||&#xe751;||&#xe752;||&#xe753;||&#xe754;||&#xe755;||&#xe756;||&#xe757;||&#xe758;||&#xe759;||&#xe75a;||&#xe75b;||&#xe75c;||&#xe75d;||&#xe75e;||&#xe75f; |----- align="center" !E76x |&#xe760;||&#xe761;||&#xe762;||&#xe763;||&#xe764;||&#xe765;||&#xe766;||&#xe767;||&#xe768;||&#xe769;||&#xe76a;||&#xe76b;||&#xe76c;||&#xe76d;||&#xe76e;||&#xe76f; |----- align="center" !E77x |&#xe770;||&#xe771;||&#xe772;||&#xe773;||&#xe774;||&#xe775;||&#xe776;||&#xe777;||&#xe778;||&#xe779;||&#xe77a;||&#xe77b;||&#xe77c;||&#xe77d;||&#xe77e;||&#xe77f; |----- align="center" !E78x |&#xe780;||&#xe781;||&#xe782;||&#xe783;||&#xe784;||&#xe785;||&#xe786;||&#xe787;||&#xe788;||&#xe789;||&#xe78a;||&#xe78b;||&#xe78c;||&#xe78d;||&#xe78e;||&#xe78f; |----- align="center" !E79x |&#xe790;||&#xe791;||&#xe792;||&#xe793;||&#xe794;||&#xe795;||&#xe796;||&#xe797;||&#xe798;||&#xe799;||&#xe79a;||&#xe79b;||&#xe79c;||&#xe79d;||&#xe79e;||&#xe79f; |----- align="center" !E7Ax |&#xe7a0;||&#xe7a1;||&#xe7a2;||&#xe7a3;||&#xe7a4;||&#xe7a5;||&#xe7a6;||&#xe7a7;||&#xe7a8;||&#xe7a9;||&#xe7aa;||&#xe7ab;||&#xe7ac;||&#xe7ad;||&#xe7ae;||&#xe7af; |----- align="center" !E7Bx |&#xe7b0;||&#xe7b1;||&#xe7b2;||&#xe7b3;||&#xe7b4;||&#xe7b5;||&#xe7b6;||&#xe7b7;||&#xe7b8;||&#xe7b9;||&#xe7ba;||&#xe7bb;||&#xe7bc;||&#xe7bd;||&#xe7be;||&#xe7bf; |----- align="center" !E7Cx |&#xe7c0;||&#xe7c1;||&#xe7c2;||&#xe7c3;||&#xe7c4;||&#xe7c5;||&#xe7c6;||&#xe7c7;||&#xe7c8;||&#xe7c9;||&#xe7ca;||&#xe7cb;||&#xe7cc;||&#xe7cd;||&#xe7ce;||&#xe7cf; |----- align="center" !E7Dx |&#xe7d0;||&#xe7d1;||&#xe7d2;||&#xe7d3;||&#xe7d4;||&#xe7d5;||&#xe7d6;||&#xe7d7;||&#xe7d8;||&#xe7d9;||&#xe7da;||&#xe7db;||&#xe7dc;||&#xe7dd;||&#xe7de;||&#xe7df; |----- align="center" !E7Ex |&#xe7e0;||&#xe7e1;||&#xe7e2;||&#xe7e3;||&#xe7e4;||&#xe7e5;||&#xe7e6;||&#xe7e7;||&#xe7e8;||&#xe7e9;||&#xe7ea;||&#xe7eb;||&#xe7ec;||&#xe7ed;||&#xe7ee;||&#xe7ef; |----- align="center" !E7Fx |&#xe7f0;||&#xe7f1;||&#xe7f2;||&#xe7f3;||&#xe7f4;||&#xe7f5;||&#xe7f6;||&#xe7f7;||&#xe7f8;||&#xe7f9;||&#xe7fa;||&#xe7fb;||&#xe7fc;||&#xe7fd;||&#xe7fe;||&#xe7ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E80x |&#xe800;||&#xe801;||&#xe802;||&#xe803;||&#xe804;||&#xe805;||&#xe806;||&#xe807;||&#xe808;||&#xe809;||&#xe80a;||&#xe80b;||&#xe80c;||&#xe80d;||&#xe80e;||&#xe80f; |----- align="center" !E81x |&#xe810;||&#xe811;||&#xe812;||&#xe813;||&#xe814;||&#xe815;||&#xe816;||&#xe817;||&#xe818;||&#xe819;||&#xe81a;||&#xe81b;||&#xe81c;||&#xe81d;||&#xe81e;||&#xe81f; |----- align="center" !E82x |&#xe820;||&#xe821;||&#xe822;||&#xe823;||&#xe824;||&#xe825;||&#xe826;||&#xe827;||&#xe828;||&#xe829;||&#xe82a;||&#xe82b;||&#xe82c;||&#xe82d;||&#xe82e;||&#xe82f; |----- align="center" !E83x |&#xe830;||&#xe831;||&#xe832;||&#xe833;||&#xe834;||&#xe835;||&#xe836;||&#xe837;||&#xe838;||&#xe839;||&#xe83a;||&#xe83b;||&#xe83c;||&#xe83d;||&#xe83e;||&#xe83f; |----- align="center" !E84x |&#xe840;||&#xe841;||&#xe842;||&#xe843;||&#xe844;||&#xe845;||&#xe846;||&#xe847;||&#xe848;||&#xe849;||&#xe84a;||&#xe84b;||&#xe84c;||&#xe84d;||&#xe84e;||&#xe84f; |----- align="center" !E85x |&#xe850;||&#xe851;||&#xe852;||&#xe853;||&#xe854;||&#xe855;||&#xe856;||&#xe857;||&#xe858;||&#xe859;||&#xe85a;||&#xe85b;||&#xe85c;||&#xe85d;||&#xe85e;||&#xe85f; |----- align="center" !E86x |&#xe860;||&#xe861;||&#xe862;||&#xe863;||&#xe864;||&#xe865;||&#xe866;||&#xe867;||&#xe868;||&#xe869;||&#xe86a;||&#xe86b;||&#xe86c;||&#xe86d;||&#xe86e;||&#xe86f; |----- align="center" !E87x |&#xe870;||&#xe871;||&#xe872;||&#xe873;||&#xe874;||&#xe875;||&#xe876;||&#xe877;||&#xe878;||&#xe879;||&#xe87a;||&#xe87b;||&#xe87c;||&#xe87d;||&#xe87e;||&#xe87f; |----- align="center" !E88x |&#xe880;||&#xe881;||&#xe882;||&#xe883;||&#xe884;||&#xe885;||&#xe886;||&#xe887;||&#xe888;||&#xe889;||&#xe88a;||&#xe88b;||&#xe88c;||&#xe88d;||&#xe88e;||&#xe88f; |----- align="center" !E89x |&#xe890;||&#xe891;||&#xe892;||&#xe893;||&#xe894;||&#xe895;||&#xe896;||&#xe897;||&#xe898;||&#xe899;||&#xe89a;||&#xe89b;||&#xe89c;||&#xe89d;||&#xe89e;||&#xe89f; |----- align="center" !E8Ax |&#xe8a0;||&#xe8a1;||&#xe8a2;||&#xe8a3;||&#xe8a4;||&#xe8a5;||&#xe8a6;||&#xe8a7;||&#xe8a8;||&#xe8a9;||&#xe8aa;||&#xe8ab;||&#xe8ac;||&#xe8ad;||&#xe8ae;||&#xe8af; |----- align="center" !E8Bx |&#xe8b0;||&#xe8b1;||&#xe8b2;||&#xe8b3;||&#xe8b4;||&#xe8b5;||&#xe8b6;||&#xe8b7;||&#xe8b8;||&#xe8b9;||&#xe8ba;||&#xe8bb;||&#xe8bc;||&#xe8bd;||&#xe8be;||&#xe8bf; |----- align="center" !E8Cx |&#xe8c0;||&#xe8c1;||&#xe8c2;||&#xe8c3;||&#xe8c4;||&#xe8c5;||&#xe8c6;||&#xe8c7;||&#xe8c8;||&#xe8c9;||&#xe8ca;||&#xe8cb;||&#xe8cc;||&#xe8cd;||&#xe8ce;||&#xe8cf; |----- align="center" !E8Dx |&#xe8d0;||&#xe8d1;||&#xe8d2;||&#xe8d3;||&#xe8d4;||&#xe8d5;||&#xe8d6;||&#xe8d7;||&#xe8d8;||&#xe8d9;||&#xe8da;||&#xe8db;||&#xe8dc;||&#xe8dd;||&#xe8de;||&#xe8df; |----- align="center" !E8Ex |&#xe8e0;||&#xe8e1;||&#xe8e2;||&#xe8e3;||&#xe8e4;||&#xe8e5;||&#xe8e6;||&#xe8e7;||&#xe8e8;||&#xe8e9;||&#xe8ea;||&#xe8eb;||&#xe8ec;||&#xe8ed;||&#xe8ee;||&#xe8ef; |----- align="center" !E8Fx |&#xe8f0;||&#xe8f1;||&#xe8f2;||&#xe8f3;||&#xe8f4;||&#xe8f5;||&#xe8f6;||&#xe8f7;||&#xe8f8;||&#xe8f9;||&#xe8fa;||&#xe8fb;||&#xe8fc;||&#xe8fd;||&#xe8fe;||&#xe8ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !E90x |&#xe900;||&#xe901;||&#xe902;||&#xe903;||&#xe904;||&#xe905;||&#xe906;||&#xe907;||&#xe908;||&#xe909;||&#xe90a;||&#xe90b;||&#xe90c;||&#xe90d;||&#xe90e;||&#xe90f; |----- align="center" !E91x |&#xe910;||&#xe911;||&#xe912;||&#xe913;||&#xe914;||&#xe915;||&#xe916;||&#xe917;||&#xe918;||&#xe919;||&#xe91a;||&#xe91b;||&#xe91c;||&#xe91d;||&#xe91e;||&#xe91f; |----- align="center" !E92x |&#xe920;||&#xe921;||&#xe922;||&#xe923;||&#xe924;||&#xe925;||&#xe926;||&#xe927;||&#xe928;||&#xe929;||&#xe92a;||&#xe92b;||&#xe92c;||&#xe92d;||&#xe92e;||&#xe92f; |----- align="center" !E93x |&#xe930;||&#xe931;||&#xe932;||&#xe933;||&#xe934;||&#xe935;||&#xe936;||&#xe937;||&#xe938;||&#xe939;||&#xe93a;||&#xe93b;||&#xe93c;||&#xe93d;||&#xe93e;||&#xe93f; |----- align="center" !E94x |&#xe940;||&#xe941;||&#xe942;||&#xe943;||&#xe944;||&#xe945;||&#xe946;||&#xe947;||&#xe948;||&#xe949;||&#xe94a;||&#xe94b;||&#xe94c;||&#xe94d;||&#xe94e;||&#xe94f; |----- align="center" !E95x |&#xe950;||&#xe951;||&#xe952;||&#xe953;||&#xe954;||&#xe955;||&#xe956;||&#xe957;||&#xe958;||&#xe959;||&#xe95a;||&#xe95b;||&#xe95c;||&#xe95d;||&#xe95e;||&#xe95f; |----- align="center" !E96x |&#xe960;||&#xe961;||&#xe962;||&#xe963;||&#xe964;||&#xe965;||&#xe966;||&#xe967;||&#xe968;||&#xe969;||&#xe96a;||&#xe96b;||&#xe96c;||&#xe96d;||&#xe96e;||&#xe96f; |----- align="center" !E97x |&#xe970;||&#xe971;||&#xe972;||&#xe973;||&#xe974;||&#xe975;||&#xe976;||&#xe977;||&#xe978;||&#xe979;||&#xe97a;||&#xe97b;||&#xe97c;||&#xe97d;||&#xe97e;||&#xe97f; |----- align="center" !E98x |&#xe980;||&#xe981;||&#xe982;||&#xe983;||&#xe984;||&#xe985;||&#xe986;||&#xe987;||&#xe988;||&#xe989;||&#xe98a;||&#xe98b;||&#xe98c;||&#xe98d;||&#xe98e;||&#xe98f; |----- align="center" !E99x |&#xe990;||&#xe991;||&#xe992;||&#xe993;||&#xe994;||&#xe995;||&#xe996;||&#xe997;||&#xe998;||&#xe999;||&#xe99a;||&#xe99b;||&#xe99c;||&#xe99d;||&#xe99e;||&#xe99f; |----- align="center" !E9Ax |&#xe9a0;||&#xe9a1;||&#xe9a2;||&#xe9a3;||&#xe9a4;||&#xe9a5;||&#xe9a6;||&#xe9a7;||&#xe9a8;||&#xe9a9;||&#xe9aa;||&#xe9ab;||&#xe9ac;||&#xe9ad;||&#xe9ae;||&#xe9af; |----- align="center" !E9Bx |&#xe9b0;||&#xe9b1;||&#xe9b2;||&#xe9b3;||&#xe9b4;||&#xe9b5;||&#xe9b6;||&#xe9b7;||&#xe9b8;||&#xe9b9;||&#xe9ba;||&#xe9bb;||&#xe9bc;||&#xe9bd;||&#xe9be;||&#xe9bf; |----- align="center" !E9Cx |&#xe9c0;||&#xe9c1;||&#xe9c2;||&#xe9c3;||&#xe9c4;||&#xe9c5;||&#xe9c6;||&#xe9c7;||&#xe9c8;||&#xe9c9;||&#xe9ca;||&#xe9cb;||&#xe9cc;||&#xe9cd;||&#xe9ce;||&#xe9cf; |----- align="center" !E9Dx |&#xe9d0;||&#xe9d1;||&#xe9d2;||&#xe9d3;||&#xe9d4;||&#xe9d5;||&#xe9d6;||&#xe9d7;||&#xe9d8;||&#xe9d9;||&#xe9da;||&#xe9db;||&#xe9dc;||&#xe9dd;||&#xe9de;||&#xe9df; |----- align="center" !E9Ex |&#xe9e0;||&#xe9e1;||&#xe9e2;||&#xe9e3;||&#xe9e4;||&#xe9e5;||&#xe9e6;||&#xe9e7;||&#xe9e8;||&#xe9e9;||&#xe9ea;||&#xe9eb;||&#xe9ec;||&#xe9ed;||&#xe9ee;||&#xe9ef; |----- align="center" !E9Fx |&#xe9f0;||&#xe9f1;||&#xe9f2;||&#xe9f3;||&#xe9f4;||&#xe9f5;||&#xe9f6;||&#xe9f7;||&#xe9f8;||&#xe9f9;||&#xe9fa;||&#xe9fb;||&#xe9fc;||&#xe9fd;||&#xe9fe;||&#xe9ff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !EA0x |&#xea00;||&#xea01;||&#xea02;||&#xea03;||&#xea04;||&#xea05;||&#xea06;||&#xea07;||&#xea08;||&#xea09;||&#xea0a;||&#xea0b;||&#xea0c;||&#xea0d;||&#xea0e;||&#xea0f; |----- align="center" !EA1x |&#xea10;||&#xea11;||&#xea12;||&#xea13;||&#xea14;||&#xea15;||&#xea16;||&#xea17;||&#xea18;||&#xea19;||&#xea1a;||&#xea1b;||&#xea1c;||&#xea1d;||&#xea1e;||&#xea1f; |----- align="center" !EA2x |&#xea20;||&#xea21;||&#xea22;||&#xea23;||&#xea24;||&#xea25;||&#xea26;||&#xea27;||&#xea28;||&#xea29;||&#xea2a;||&#xea2b;||&#xea2c;||&#xea2d;||&#xea2e;||&#xea2f; |----- align="center" !EA3x |&#xea30;||&#xea31;||&#xea32;||&#xea33;||&#xea34;||&#xea35;||&#xea36;||&#xea37;||&#xea38;||&#xea39;||&#xea3a;||&#xea3b;||&#xea3c;||&#xea3d;||&#xea3e;||&#xea3f; |----- align="center" !EA4x |&#xea40;||&#xea41;||&#xea42;||&#xea43;||&#xea44;||&#xea45;||&#xea46;||&#xea47;||&#xea48;||&#xea49;||&#xea4a;||&#xea4b;||&#xea4c;||&#xea4d;||&#xea4e;||&#xea4f; |----- align="center" !EA5x |&#xea50;||&#xea51;||&#xea52;||&#xea53;||&#xea54;||&#xea55;||&#xea56;||&#xea57;||&#xea58;||&#xea59;||&#xea5a;||&#xea5b;||&#xea5c;||&#xea5d;||&#xea5e;||&#xea5f; |----- align="center" !EA6x |&#xea60;||&#xea61;||&#xea62;||&#xea63;||&#xea64;||&#xea65;||&#xea66;||&#xea67;||&#xea68;||&#xea69;||&#xea6a;||&#xea6b;||&#xea6c;||&#xea6d;||&#xea6e;||&#xea6f; |----- align="center" !EA7x |&#xea70;||&#xea71;||&#xea72;||&#xea73;||&#xea74;||&#xea75;||&#xea76;||&#xea77;||&#xea78;||&#xea79;||&#xea7a;||&#xea7b;||&#xea7c;||&#xea7d;||&#xea7e;||&#xea7f; |----- align="center" !EA8x |&#xea80;||&#xea81;||&#xea82;||&#xea83;||&#xea84;||&#xea85;||&#xea86;||&#xea87;||&#xea88;||&#xea89;||&#xea8a;||&#xea8b;||&#xea8c;||&#xea8d;||&#xea8e;||&#xea8f; |----- align="center" !EA9x |&#xea90;||&#xea91;||&#xea92;||&#xea93;||&#xea94;||&#xea95;||&#xea96;||&#xea97;||&#xea98;||&#xea99;||&#xea9a;||&#xea9b;||&#xea9c;||&#xea9d;||&#xea9e;||&#xea9f; |----- align="center" !EAAx |&#xeaa0;||&#xeaa1;||&#xeaa2;||&#xeaa3;||&#xeaa4;||&#xeaa5;||&#xeaa6;||&#xeaa7;||&#xeaa8;||&#xeaa9;||&#xeaaa;||&#xeaab;||&#xeaac;||&#xeaad;||&#xeaae;||&#xeaaf; |----- align="center" !EABx |&#xeab0;||&#xeab1;||&#xeab2;||&#xeab3;||&#xeab4;||&#xeab5;||&#xeab6;||&#xeab7;||&#xeab8;||&#xeab9;||&#xeaba;||&#xeabb;||&#xeabc;||&#xeabd;||&#xeabe;||&#xeabf; |----- align="center" !EACx |&#xeac0;||&#xeac1;||&#xeac2;||&#xeac3;||&#xeac4;||&#xeac5;||&#xeac6;||&#xeac7;||&#xeac8;||&#xeac9;||&#xeaca;||&#xeacb;||&#xeacc;||&#xeacd;||&#xeace;||&#xeacf; |----- align="center" !EADx |&#xead0;||&#xead1;||&#xead2;||&#xead3;||&#xead4;||&#xead5;||&#xead6;||&#xead7;||&#xead8;||&#xead9;||&#xeada;||&#xeadb;||&#xeadc;||&#xeadd;||&#xeade;||&#xeadf; |----- align="center" !EAEx |&#xeae0;||&#xeae1;||&#xeae2;||&#xeae3;||&#xeae4;||&#xeae5;||&#xeae6;||&#xeae7;||&#xeae8;||&#xeae9;||&#xeaea;||&#xeaeb;||&#xeaec;||&#xeaed;||&#xeaee;||&#xeaef; |----- align="center" !EAFx |&#xeaf0;||&#xeaf1;||&#xeaf2;||&#xeaf3;||&#xeaf4;||&#xeaf5;||&#xeaf6;||&#xeaf7;||&#xeaf8;||&#xeaf9;||&#xeafa;||&#xeafb;||&#xeafc;||&#xeafd;||&#xeafe;||&#xeaff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !EB0x |&#xeb00;||&#xeb01;||&#xeb02;||&#xeb03;||&#xeb04;||&#xeb05;||&#xeb06;||&#xeb07;||&#xeb08;||&#xeb09;||&#xeb0a;||&#xeb0b;||&#xeb0c;||&#xeb0d;||&#xeb0e;||&#xeb0f; |----- align="center" !EB1x |&#xeb10;||&#xeb11;||&#xeb12;||&#xeb13;||&#xeb14;||&#xeb15;||&#xeb16;||&#xeb17;||&#xeb18;||&#xeb19;||&#xeb1a;||&#xeb1b;||&#xeb1c;||&#xeb1d;||&#xeb1e;||&#xeb1f; |----- align="center" !EB2x |&#xeb20;||&#xeb21;||&#xeb22;||&#xeb23;||&#xeb24;||&#xeb25;||&#xeb26;||&#xeb27;||&#xeb28;||&#xeb29;||&#xeb2a;||&#xeb2b;||&#xeb2c;||&#xeb2d;||&#xeb2e;||&#xeb2f; |----- align="center" !EB3x |&#xeb30;||&#xeb31;||&#xeb32;||&#xeb33;||&#xeb34;||&#xeb35;||&#xeb36;||&#xeb37;||&#xeb38;||&#xeb39;||&#xeb3a;||&#xeb3b;||&#xeb3c;||&#xeb3d;||&#xeb3e;||&#xeb3f; |----- align="center" !EB4x |&#xeb40;||&#xeb41;||&#xeb42;||&#xeb43;||&#xeb44;||&#xeb45;||&#xeb46;||&#xeb47;||&#xeb48;||&#xeb49;||&#xeb4a;||&#xeb4b;||&#xeb4c;||&#xeb4d;||&#xeb4e;||&#xeb4f; |----- align="center" !EB5x |&#xeb50;||&#xeb51;||&#xeb52;||&#xeb53;||&#xeb54;||&#xeb55;||&#xeb56;||&#xeb57;||&#xeb58;||&#xeb59;||&#xeb5a;||&#xeb5b;||&#xeb5c;||&#xeb5d;||&#xeb5e;||&#xeb5f; |----- align="center" !EB6x |&#xeb60;||&#xeb61;||&#xeb62;||&#xeb63;||&#xeb64;||&#xeb65;||&#xeb66;||&#xeb67;||&#xeb68;||&#xeb69;||&#xeb6a;||&#xeb6b;||&#xeb6c;||&#xeb6d;||&#xeb6e;||&#xeb6f; |----- align="center" !EB7x |&#xeb70;||&#xeb71;||&#xeb72;||&#xeb73;||&#xeb74;||&#xeb75;||&#xeb76;||&#xeb77;||&#xeb78;||&#xeb79;||&#xeb7a;||&#xeb7b;||&#xeb7c;||&#xeb7d;||&#xeb7e;||&#xeb7f; |----- align="center" !EB8x |&#xeb80;||&#xeb81;||&#xeb82;||&#xeb83;||&#xeb84;||&#xeb85;||&#xeb86;||&#xeb87;||&#xeb88;||&#xeb89;||&#xeb8a;||&#xeb8b;||&#xeb8c;||&#xeb8d;||&#xeb8e;||&#xeb8f; |----- align="center" !EB9x |&#xeb90;||&#xeb91;||&#xeb92;||&#xeb93;||&#xeb94;||&#xeb95;||&#xeb96;||&#xeb97;||&#xeb98;||&#xeb99;||&#xeb9a;||&#xeb9b;||&#xeb9c;||&#xeb9d;||&#xeb9e;||&#xeb9f; |----- align="center" !EBAx |&#xeba0;||&#xeba1;||&#xeba2;||&#xeba3;||&#xeba4;||&#xeba5;||&#xeba6;||&#xeba7;||&#xeba8;||&#xeba9;||&#xebaa;||&#xebab;||&#xebac;||&#xebad;||&#xebae;||&#xebaf; |----- align="center" !EBBx |&#xebb0;||&#xebb1;||&#xebb2;||&#xebb3;||&#xebb4;||&#xebb5;||&#xebb6;||&#xebb7;||&#xebb8;||&#xebb9;||&#xebba;||&#xebbb;||&#xebbc;||&#xebbd;||&#xebbe;||&#xebbf; |----- align="center" !EBCx |&#xebc0;||&#xebc1;||&#xebc2;||&#xebc3;||&#xebc4;||&#xebc5;||&#xebc6;||&#xebc7;||&#xebc8;||&#xebc9;||&#xebca;||&#xebcb;||&#xebcc;||&#xebcd;||&#xebce;||&#xebcf; |----- align="center" !EBDx |&#xebd0;||&#xebd1;||&#xebd2;||&#xebd3;||&#xebd4;||&#xebd5;||&#xebd6;||&#xebd7;||&#xebd8;||&#xebd9;||&#xebda;||&#xebdb;||&#xebdc;||&#xebdd;||&#xebde;||&#xebdf; |----- align="center" !EBEx |&#xebe0;||&#xebe1;||&#xebe2;||&#xebe3;||&#xebe4;||&#xebe5;||&#xebe6;||&#xebe7;||&#xebe8;||&#xebe9;||&#xebea;||&#xebeb;||&#xebec;||&#xebed;||&#xebee;||&#xebef; |----- align="center" !EBFx |&#xebf0;||&#xebf1;||&#xebf2;||&#xebf3;||&#xebf4;||&#xebf5;||&#xebf6;||&#xebf7;||&#xebf8;||&#xebf9;||&#xebfa;||&#xebfb;||&#xebfc;||&#xebfd;||&#xebfe;||&#xebff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !EC0x |&#xec00;||&#xec01;||&#xec02;||&#xec03;||&#xec04;||&#xec05;||&#xec06;||&#xec07;||&#xec08;||&#xec09;||&#xec0a;||&#xec0b;||&#xec0c;||&#xec0d;||&#xec0e;||&#xec0f; |----- align="center" !EC1x |&#xec10;||&#xec11;||&#xec12;||&#xec13;||&#xec14;||&#xec15;||&#xec16;||&#xec17;||&#xec18;||&#xec19;||&#xec1a;||&#xec1b;||&#xec1c;||&#xec1d;||&#xec1e;||&#xec1f; |----- align="center" !EC2x |&#xec20;||&#xec21;||&#xec22;||&#xec23;||&#xec24;||&#xec25;||&#xec26;||&#xec27;||&#xec28;||&#xec29;||&#xec2a;||&#xec2b;||&#xec2c;||&#xec2d;||&#xec2e;||&#xec2f; |----- align="center" !EC3x |&#xec30;||&#xec31;||&#xec32;||&#xec33;||&#xec34;||&#xec35;||&#xec36;||&#xec37;||&#xec38;||&#xec39;||&#xec3a;||&#xec3b;||&#xec3c;||&#xec3d;||&#xec3e;||&#xec3f; |----- align="center" !EC4x |&#xec40;||&#xec41;||&#xec42;||&#xec43;||&#xec44;||&#xec45;||&#xec46;||&#xec47;||&#xec48;||&#xec49;||&#xec4a;||&#xec4b;||&#xec4c;||&#xec4d;||&#xec4e;||&#xec4f; |----- align="center" !EC5x |&#xec50;||&#xec51;||&#xec52;||&#xec53;||&#xec54;||&#xec55;||&#xec56;||&#xec57;||&#xec58;||&#xec59;||&#xec5a;||&#xec5b;||&#xec5c;||&#xec5d;||&#xec5e;||&#xec5f; |----- align="center" !EC6x |&#xec60;||&#xec61;||&#xec62;||&#xec63;||&#xec64;||&#xec65;||&#xec66;||&#xec67;||&#xec68;||&#xec69;||&#xec6a;||&#xec6b;||&#xec6c;||&#xec6d;||&#xec6e;||&#xec6f; |----- align="center" !EC7x |&#xec70;||&#xec71;||&#xec72;||&#xec73;||&#xec74;||&#xec75;||&#xec76;||&#xec77;||&#xec78;||&#xec79;||&#xec7a;||&#xec7b;||&#xec7c;||&#xec7d;||&#xec7e;||&#xec7f; |----- align="center" !EC8x |&#xec80;||&#xec81;||&#xec82;||&#xec83;||&#xec84;||&#xec85;||&#xec86;||&#xec87;||&#xec88;||&#xec89;||&#xec8a;||&#xec8b;||&#xec8c;||&#xec8d;||&#xec8e;||&#xec8f; |----- align="center" !EC9x |&#xec90;||&#xec91;||&#xec92;||&#xec93;||&#xec94;||&#xec95;||&#xec96;||&#xec97;||&#xec98;||&#xec99;||&#xec9a;||&#xec9b;||&#xec9c;||&#xec9d;||&#xec9e;||&#xec9f; |----- align="center" !ECAx |&#xeca0;||&#xeca1;||&#xeca2;||&#xeca3;||&#xeca4;||&#xeca5;||&#xeca6;||&#xeca7;||&#xeca8;||&#xeca9;||&#xecaa;||&#xecab;||&#xecac;||&#xecad;||&#xecae;||&#xecaf; |----- align="center" !ECBx |&#xecb0;||&#xecb1;||&#xecb2;||&#xecb3;||&#xecb4;||&#xecb5;||&#xecb6;||&#xecb7;||&#xecb8;||&#xecb9;||&#xecba;||&#xecbb;||&#xecbc;||&#xecbd;||&#xecbe;||&#xecbf; |----- align="center" !ECCx |&#xecc0;||&#xecc1;||&#xecc2;||&#xecc3;||&#xecc4;||&#xecc5;||&#xecc6;||&#xecc7;||&#xecc8;||&#xecc9;||&#xecca;||&#xeccb;||&#xeccc;||&#xeccd;||&#xecce;||&#xeccf; |----- align="center" !ECDx |&#xecd0;||&#xecd1;||&#xecd2;||&#xecd3;||&#xecd4;||&#xecd5;||&#xecd6;||&#xecd7;||&#xecd8;||&#xecd9;||&#xecda;||&#xecdb;||&#xecdc;||&#xecdd;||&#xecde;||&#xecdf; |----- align="center" !ECEx |&#xece0;||&#xece1;||&#xece2;||&#xece3;||&#xece4;||&#xece5;||&#xece6;||&#xece7;||&#xece8;||&#xece9;||&#xecea;||&#xeceb;||&#xecec;||&#xeced;||&#xecee;||&#xecef; |----- align="center" !ECFx |&#xecf0;||&#xecf1;||&#xecf2;||&#xecf3;||&#xecf4;||&#xecf5;||&#xecf6;||&#xecf7;||&#xecf8;||&#xecf9;||&#xecfa;||&#xecfb;||&#xecfc;||&#xecfd;||&#xecfe;||&#xecff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !ED0x |&#xed00;||&#xed01;||&#xed02;||&#xed03;||&#xed04;||&#xed05;||&#xed06;||&#xed07;||&#xed08;||&#xed09;||&#xed0a;||&#xed0b;||&#xed0c;||&#xed0d;||&#xed0e;||&#xed0f; |----- align="center" !ED1x |&#xed10;||&#xed11;||&#xed12;||&#xed13;||&#xed14;||&#xed15;||&#xed16;||&#xed17;||&#xed18;||&#xed19;||&#xed1a;||&#xed1b;||&#xed1c;||&#xed1d;||&#xed1e;||&#xed1f; |----- align="center" !ED2x |&#xed20;||&#xed21;||&#xed22;||&#xed23;||&#xed24;||&#xed25;||&#xed26;||&#xed27;||&#xed28;||&#xed29;||&#xed2a;||&#xed2b;||&#xed2c;||&#xed2d;||&#xed2e;||&#xed2f; |----- align="center" !ED3x |&#xed30;||&#xed31;||&#xed32;||&#xed33;||&#xed34;||&#xed35;||&#xed36;||&#xed37;||&#xed38;||&#xed39;||&#xed3a;||&#xed3b;||&#xed3c;||&#xed3d;||&#xed3e;||&#xed3f; |----- align="center" !ED4x |&#xed40;||&#xed41;||&#xed42;||&#xed43;||&#xed44;||&#xed45;||&#xed46;||&#xed47;||&#xed48;||&#xed49;||&#xed4a;||&#xed4b;||&#xed4c;||&#xed4d;||&#xed4e;||&#xed4f; |----- align="center" !ED5x |&#xed50;||&#xed51;||&#xed52;||&#xed53;||&#xed54;||&#xed55;||&#xed56;||&#xed57;||&#xed58;||&#xed59;||&#xed5a;||&#xed5b;||&#xed5c;||&#xed5d;||&#xed5e;||&#xed5f; |----- align="center" !ED6x |&#xed60;||&#xed61;||&#xed62;||&#xed63;||&#xed64;||&#xed65;||&#xed66;||&#xed67;||&#xed68;||&#xed69;||&#xed6a;||&#xed6b;||&#xed6c;||&#xed6d;||&#xed6e;||&#xed6f; |----- align="center" !ED7x |&#xed70;||&#xed71;||&#xed72;||&#xed73;||&#xed74;||&#xed75;||&#xed76;||&#xed77;||&#xed78;||&#xed79;||&#xed7a;||&#xed7b;||&#xed7c;||&#xed7d;||&#xed7e;||&#xed7f; |----- align="center" !ED8x |&#xed80;||&#xed81;||&#xed82;||&#xed83;||&#xed84;||&#xed85;||&#xed86;||&#xed87;||&#xed88;||&#xed89;||&#xed8a;||&#xed8b;||&#xed8c;||&#xed8d;||&#xed8e;||&#xed8f; |----- align="center" !ED9x |&#xed90;||&#xed91;||&#xed92;||&#xed93;||&#xed94;||&#xed95;||&#xed96;||&#xed97;||&#xed98;||&#xed99;||&#xed9a;||&#xed9b;||&#xed9c;||&#xed9d;||&#xed9e;||&#xed9f; |----- align="center" !EDAx |&#xeda0;||&#xeda1;||&#xeda2;||&#xeda3;||&#xeda4;||&#xeda5;||&#xeda6;||&#xeda7;||&#xeda8;||&#xeda9;||&#xedaa;||&#xedab;||&#xedac;||&#xedad;||&#xedae;||&#xedaf; |----- align="center" !EDBx |&#xedb0;||&#xedb1;||&#xedb2;||&#xedb3;||&#xedb4;||&#xedb5;||&#xedb6;||&#xedb7;||&#xedb8;||&#xedb9;||&#xedba;||&#xedbb;||&#xedbc;||&#xedbd;||&#xedbe;||&#xedbf; |----- align="center" !EDCx |&#xedc0;||&#xedc1;||&#xedc2;||&#xedc3;||&#xedc4;||&#xedc5;||&#xedc6;||&#xedc7;||&#xedc8;||&#xedc9;||&#xedca;||&#xedcb;||&#xedcc;||&#xedcd;||&#xedce;||&#xedcf; |----- align="center" !EDDx |&#xedd0;||&#xedd1;||&#xedd2;||&#xedd3;||&#xedd4;||&#xedd5;||&#xedd6;||&#xedd7;||&#xedd8;||&#xedd9;||&#xedda;||&#xeddb;||&#xeddc;||&#xeddd;||&#xedde;||&#xeddf; |----- align="center" !EDEx |&#xede0;||&#xede1;||&#xede2;||&#xede3;||&#xede4;||&#xede5;||&#xede6;||&#xede7;||&#xede8;||&#xede9;||&#xedea;||&#xedeb;||&#xedec;||&#xeded;||&#xedee;||&#xedef; |----- align="center" !EDFx |&#xedf0;||&#xedf1;||&#xedf2;||&#xedf3;||&#xedf4;||&#xedf5;||&#xedf6;||&#xedf7;||&#xedf8;||&#xedf9;||&#xedfa;||&#xedfb;||&#xedfc;||&#xedfd;||&#xedfe;||&#xedff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !EE0x |&#xee00;||&#xee01;||&#xee02;||&#xee03;||&#xee04;||&#xee05;||&#xee06;||&#xee07;||&#xee08;||&#xee09;||&#xee0a;||&#xee0b;||&#xee0c;||&#xee0d;||&#xee0e;||&#xee0f; |----- align="center" !EE1x |&#xee10;||&#xee11;||&#xee12;||&#xee13;||&#xee14;||&#xee15;||&#xee16;||&#xee17;||&#xee18;||&#xee19;||&#xee1a;||&#xee1b;||&#xee1c;||&#xee1d;||&#xee1e;||&#xee1f; |----- align="center" !EE2x |&#xee20;||&#xee21;||&#xee22;||&#xee23;||&#xee24;||&#xee25;||&#xee26;||&#xee27;||&#xee28;||&#xee29;||&#xee2a;||&#xee2b;||&#xee2c;||&#xee2d;||&#xee2e;||&#xee2f; |----- align="center" !EE3x |&#xee30;||&#xee31;||&#xee32;||&#xee33;||&#xee34;||&#xee35;||&#xee36;||&#xee37;||&#xee38;||&#xee39;||&#xee3a;||&#xee3b;||&#xee3c;||&#xee3d;||&#xee3e;||&#xee3f; |----- align="center" !EE4x |&#xee40;||&#xee41;||&#xee42;||&#xee43;||&#xee44;||&#xee45;||&#xee46;||&#xee47;||&#xee48;||&#xee49;||&#xee4a;||&#xee4b;||&#xee4c;||&#xee4d;||&#xee4e;||&#xee4f; |----- align="center" !EE5x |&#xee50;||&#xee51;||&#xee52;||&#xee53;||&#xee54;||&#xee55;||&#xee56;||&#xee57;||&#xee58;||&#xee59;||&#xee5a;||&#xee5b;||&#xee5c;||&#xee5d;||&#xee5e;||&#xee5f; |----- align="center" !EE6x |&#xee60;||&#xee61;||&#xee62;||&#xee63;||&#xee64;||&#xee65;||&#xee66;||&#xee67;||&#xee68;||&#xee69;||&#xee6a;||&#xee6b;||&#xee6c;||&#xee6d;||&#xee6e;||&#xee6f; |----- align="center" !EE7x |&#xee70;||&#xee71;||&#xee72;||&#xee73;||&#xee74;||&#xee75;||&#xee76;||&#xee77;||&#xee78;||&#xee79;||&#xee7a;||&#xee7b;||&#xee7c;||&#xee7d;||&#xee7e;||&#xee7f; |----- align="center" !EE8x |&#xee80;||&#xee81;||&#xee82;||&#xee83;||&#xee84;||&#xee85;||&#xee86;||&#xee87;||&#xee88;||&#xee89;||&#xee8a;||&#xee8b;||&#xee8c;||&#xee8d;||&#xee8e;||&#xee8f; |----- align="center" !EE9x |&#xee90;||&#xee91;||&#xee92;||&#xee93;||&#xee94;||&#xee95;||&#xee96;||&#xee97;||&#xee98;||&#xee99;||&#xee9a;||&#xee9b;||&#xee9c;||&#xee9d;||&#xee9e;||&#xee9f; |----- align="center" !EEAx |&#xeea0;||&#xeea1;||&#xeea2;||&#xeea3;||&#xeea4;||&#xeea5;||&#xeea6;||&#xeea7;||&#xeea8;||&#xeea9;||&#xeeaa;||&#xeeab;||&#xeeac;||&#xeead;||&#xeeae;||&#xeeaf; |----- align="center" !EEBx |&#xeeb0;||&#xeeb1;||&#xeeb2;||&#xeeb3;||&#xeeb4;||&#xeeb5;||&#xeeb6;||&#xeeb7;||&#xeeb8;||&#xeeb9;||&#xeeba;||&#xeebb;||&#xeebc;||&#xeebd;||&#xeebe;||&#xeebf; |----- align="center" !EECx |&#xeec0;||&#xeec1;||&#xeec2;||&#xeec3;||&#xeec4;||&#xeec5;||&#xeec6;||&#xeec7;||&#xeec8;||&#xeec9;||&#xeeca;||&#xeecb;||&#xeecc;||&#xeecd;||&#xeece;||&#xeecf; |----- align="center" !EEDx |&#xeed0;||&#xeed1;||&#xeed2;||&#xeed3;||&#xeed4;||&#xeed5;||&#xeed6;||&#xeed7;||&#xeed8;||&#xeed9;||&#xeeda;||&#xeedb;||&#xeedc;||&#xeedd;||&#xeede;||&#xeedf; |----- align="center" !EEEx |&#xeee0;||&#xeee1;||&#xeee2;||&#xeee3;||&#xeee4;||&#xeee5;||&#xeee6;||&#xeee7;||&#xeee8;||&#xeee9;||&#xeeea;||&#xeeeb;||&#xeeec;||&#xeeed;||&#xeeee;||&#xeeef; |----- align="center" !EEFx |&#xeef0;||&#xeef1;||&#xeef2;||&#xeef3;||&#xeef4;||&#xeef5;||&#xeef6;||&#xeef7;||&#xeef8;||&#xeef9;||&#xeefa;||&#xeefb;||&#xeefc;||&#xeefd;||&#xeefe;||&#xeeff; |----- style="background:#ccccff" !U+||0||1||2||3||4||5||6||7||8||9||A||B||C||D||E||F |----- align="center" !EF0x |&#xef00;||&#xef01;||&#xef02;||&#xef03;||&#xef04;||&#xef05;||&#xef06;||&#xef07;||&#xef08;||&#xef09;||&#xef0a;||&#xef0b;||&#xef0c;||&#xef0d;||&#xef0e;||&#xef0f; |----- align="center" !EF1x |&#xef10;||&#xef11;||&#xef12;||&#xef13;||&#xef14;||&#xef15;||&#xef16;||&#xef17;||&#xef18;||&#xef19;||&#xef1a;||&#xef1b;||&#xef1c;||&#xef1d;||&#xef1e;||&#xef1f; |----- align="center" !EF2x |&#xef20;||&#xef21;||&#xef22;||&#xef23;||&#xef24;||&#xef25;||&#xef26;||&#xef27;||&#xef28;||&#xef29;||&#xef2a;||&#xef2b;||&#xef2c;||&#xef2d;||&#xef2e;||&#xef2f; |----- align="center" !EF3x |&#xef30;||&#xef31;||&#xef32;||&#xef33;||&#xef34;||&#xef35;||&#xef36;||&#xef37;||&#xef38;||&#xef39;||&#xef3a;||&#xef3b;||&#xef3c;||&#xef3d;||&#xef3e;||&#xef3f; |----- align="center" !EF4x |&#xef40;||&#xef41;||&#xef42;||&#xef43;||&#xef44;||&#xef45;||&#xef46;||&#xef47;||&#xef48;||&#xef49;||&#xef4a;||&#xef4b;||&#xef4c;||&#xef4d;||&#xef4e;||&#xef4f; |----- align="center" !EF5x |&#xef50;||&#xef51;||&#xef52;||&#xef53;||&#xef54;||&#xef55;||&#xef56;||&#xef57;||&#xef58;||&#xef59;||&#xef5a;||&#xef5b;||&#xef5c;||&#xef5d;||&#xef5e;||&#xef5f; |----- align="center" !EF6x |&#xef60;||&#xef61;||&#xef62;||&#xef63;||&#xef64;||&#xef65;||&#xef66;||&#xef67;||&#xef68;||&#xef69;||&#xef6a;||&#xef6b;||&#xef6c;||&#xef6d;||&#xef6e;||&#xef6f; |----- align="center" !EF7x |&#xef70;||&#xef71;||&#xef72;||&#xef73;||&#xef74;||&#xef75;||&#xef76;||&#xef77;||&#xef78;||&#xef79;||&#xef7a;||&#xef7b;||&#xef7c;||&#xef7d;||&#xef7e;||&#xef7f; |----- align="center" !EF8x |&#xef80;||&#xef81;||&#xef82;||&#xef83;||&#xef84;||&#xef85;||&#xef86;||&#xef87;||&#xef88;||&#xef89;||&#xef8a;||&#xef8b;||&#xef8c;||&#xef8d;||&#xef8e;||&#xef8f; |----- align="center" !EF9x |&#xef90;||&#xef91;||&#xef92;||&#xef93;||&#xef94;||&#xef95;||&#xef96;||&#xef97;||&#xef98;||&#xef99;||&#xef9a;||&#xef9b;||&#xef9c;||&#xef9d;||&#xef9e;||&#xef9f; |----- align="center" !EFAx |&#xefa0;||&#xefa1;||&#xefa2;||&#xefa3;||&#xefa4;||&#xefa5;||&#xefa6;||&#xefa7;||&#xefa8;||&#xefa9;||&#xefaa;||&#xefab;||&#xefac;||&#xefad;||&#xefae;||&#xefaf; |----- align="center" !EFBx |&#xefb0;||&#xefb1;||&#xefb2;||&#xefb3;||&#xefb4;||&#xefb5;||&#xefb6;||&#xefb7;||&#xefb8;||&#xefb9;||&#xefba;||&#xefbb;||&#xefbc;||&#xefbd;||&#xefbe;||&#xefbf; |----- align="center" !EFCx |&#xefc0;||&#xefc1;||&#xefc2;||&#xefc3;||&#xefc4;||&#xefc5;||&#xefc6;||&#xefc7;||&#xefc8;||&#xefc9;||&#xefca;||&#xefcb;||&#xefcc;||&#xefcd;||&#xefce;||&#xefcf; |----- align="center" !EFDx |&#xefd0;||&#xefd1;||&#xefd2;||&#xefd3;||&#xefd4;||&#xefd5;||&#xefd6;||&#xefd7;||&#xefd8;||&#xefd9;||&#xefda;||&#xefdb;||&#xefdc;||&#xefdd;||&#xefde;||&#xefdf; |----- align="center" !EFEx |&#xefe0;||&#xefe1;||&#xefe2;||&#xefe3;||&#xefe4;||&#xefe5;||&#xefe6;||&#xefe7;||&#xefe8;||&#xefe9;||&#xefea;||&#xefeb;||&#xefec;||&#xefed;||&#xefee;||&#xefef; |----- align="center" !EFFx |&#xeff0;||&#xeff1;||&#xeff2;||&#xeff3;||&#xeff4;||&#xeff5;||&#xeff6;||&#xeff7;||&#xeff8;||&#xeff9;||&#xeffa;||&#xeffb;||&#xeffc;||&#xeffd;||&#xeffe;||&#xefff; |----- 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]] &middot; [[:b:fr:Utilisateur:Urhixidur|Français]] &middot; [[:b:it:Utente:Urhixidur|Italiano]] &middot; [[:w:pt:Usuário:Urhixidur|Português]] --> * '''Wikibooks''' : '''this page'''<!--[[:en:User:Urhixidur|English]]--> &middot; [[:fr:Utilisateur:Urhixidur|Français]] &middot; [[:it:Utente:Urhixidur|Italiano]] &middot; [[:pt:Usuário:Urhixidur|Português]] * [[:commons:User:Urhixidur|'''Wikimedia Commons''']] * <s>'''Wikinews''' : [[:wikinews:en:User:Urhixidur|English]] &middot; [[:wikinews:fr:Utilisateur:Urhixidur|Français]] &middot; [[:wikinews:pt:Usuário:Urhixidur|Português]] (Wikinotícias)</s> * '''Wikipedia''' : [[:w:an:Usuario:Urhixidur|Aragonés]] &middot; [[:w:id:Pengguna:Urhixidur|Bahasa Indonesia]] &middot; [[:w:jv:Panganggo:Urhixidur|Basa Jawa]] &middot; [[:w:ca:Usuari:Urhixidur|Català]] &middot; [[:w:en:User:Urhixidur|English]] &middot; [[:w:eu:Lankide:Urhixidur|Euskara]] &middot; [[:w:fr:Utilisateur:Urhixidur|Français]] &middot; [[:w:ga:Úsáideoir:Urhixidur|Gaeilge]] &middot; [[:w:lt:Naudotojas:Urhixidur|Lietuvių]] &middot; [[:w:nl:Gebruiker:Urhixidur|Nederlands]] &middot; [[:w:pt:Usuário:Urhixidur|Português]] &middot; [[:w:ro:Utilizator:Urhixidur|Română]] &middot; [[:w:sh:Korisnik:Urhixidur|Srpskohrvatski/Српскохрватски]] &middot; [[:w:tr:Kullanıcı:Urhixidur|Türkçe]] &middot; [[:w:uk:Користувач:Urhixidur|Українська]] &middot; [[:w:uz:Foydalanuvchi:Urhixidur|O‘zbek]] &middot; [[:w:ar:%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85:Urhixidur|العربية]] &middot; [[:w:ml:ഉപയോക്താവ്:Urhixidur|മലയാളം]] * '''Wikiquote''' : [[:q:en:User:Urhixidur|English]] &middot; [[:q:fr:Utilisateur:Urhixidur|Français]] &middot; [[:q:it:Utente:Urhixidur|Italiano]] * '''Wikisource''' : [[:s:en:User:Urhixidur|English]] &middot; [[:s:fr:Utilisateur:Urhixidur|Français]] &middot; [[: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]] &middot; [[:wikt:en:User:Urhixidur|English]] &middot; [[:wikt:es:Usuario:Urhixidur|Español]] &middot; [[:wikt:eo:Uzanto:Urhixidur|Esperanto]] &middot; [[:wikt:fr:Utilisateur:Urhixidur|Français]] &middot; [[:wikt:nl:Gebruiker:Urhixidur|Nederlands]] &middot; [[:wikt:pl:Wikipedysta:Urhixidur|Polski]] &middot; [[:wikt:pt:Usuário:Urhixidur|Português]] &middot; [[: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] &middot; [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&mdash; 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&mdash; 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&mdash; 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&mdash; 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 &nbsp; | style="font-style:italic; font-weight=normal; text-align:left; border-bottom:solid 2px black;" | &nbsp; Number with <br> &nbsp; that preference |- |style="text-align:right; border-right: solid 2px black"| Democrat > Republican > Third &nbsp; |style="text-align:left;"| &nbsp; 5 |- |style="text-align:right; border-right: solid 2px black"| Democrat > Third > Republican &nbsp; |style="text-align:left;"| &nbsp; 4 |- |style="text-align:right; border-right: solid 2px black"| Republican > Democrat > Third &nbsp; |style="text-align:left;"| &nbsp; 2 |- |style="text-align:right; border-right: solid 2px black"| Republican > Third > Democrat &nbsp; |style="text-align:left;"| &nbsp; 8 |- |style="text-align:right; border-right: solid 2px black"| Third > Democrat > Republican &nbsp; |style="text-align:left;"| &nbsp; 8 |- |style="text-align:right; border-right: solid 2px black; border-bottom:solid 2px black;"| Third > Republican > Democrat &nbsp; |style="text-align:left; border-bottom:solid 2px black;"| &nbsp; 2 |- |style="text-align:right; border-right: solid 2px black"|Total &nbsp; |style="text-align:left;"| &nbsp; 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'''&mdash; 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&mdash;a voting paradox can happen only if all three preference lists remaining after cancellation have the same spin&mdash;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&mdash;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 &center) -> 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/>&nbsp; &nbsp;... and won't be seen at all ''if the text parameter is defined''. &nbsp; ;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 &ge; 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/&#126;2025-30839-28|&#126;2025-30839-28]] ([[User talk:&#126;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>&#8212; [[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>&#8212; [[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/&#126;2025-30839-28|&#126;2025-30839-28]] ([[User talk:&#126;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>&#8212; [[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>&#8212; [[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/&#126;2025-30839-28|&#126;2025-30839-28]] ([[User talk:&#126;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>&#8212; [[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>&#8212; [[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