https://www.pcgamingwiki.com/w/api.php?action=feedcontributions&user=68.129.223.133&feedformat=atomPCGamingWiki - User contributions [en]2024-03-28T16:35:13ZUser contributionsMediaWiki 1.35.7https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1113046Boneworks2021-10-03T18:06:43Z<p>68.129.223.133: /* Network */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [[#Mods|Mods]].<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games launcher = <br />
|epic games launcher notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|ubisoft connect = <br />
|ubisoft connect notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/Entanglement/Entanglement/ Entanglement].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
===Mods===<br />
{{++}} Plethora of mods available at [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
====[https://boneworks.thunderstore.io/package/gnonme/ModThatIsNotMod/ ModThatIsNotMod]====<br />
{{ii}} Required for many mods.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Custom_Maps/ Custom Maps]====<br />
{{ii}} Custom map loader.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Player_Models/ Player Models]====<br />
{{ii}} Player model swapper.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/BetterBottles/ Better Bottles]====<br />
{{ii}} Automatically grab bottles once you break them instead of letting them fall to the ground.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/Better_Flashlight/ Better Flashlight]====<br />
{{ii}} Changes the button to turn the flashlight on and off.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Deltarune&diff=1106114Deltarune2021-09-28T01:08:48Z<p>68.129.223.133: /* Audio */</p>
<hr />
<div>{{Infobox game<br />
|cover = Deltarune - Cover.png<br />
|developers = <br />
{{Infobox game/row/developer|tobyfox}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|GameMaker|ref=<ref name="engineversion">{{Refcheck|user=Marioysikax|date=2018-10-31}}</ref>}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|October 31, 2018}}<br />
{{Infobox game/row/date|OS X|October 31, 2018}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|deltarune-chapter-1| }}<br />
{{Infobox game/row/reception|OpenCritic|6831/deltarune-chapter-1| }}<br />
{{Infobox game/row/reception|IGDB|deltarune-chapter-1| }}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/monetization | DLC }}<br />
{{Infobox game/row/taxonomy/microtransactions | No microtransactions }}<br />
{{Infobox game/row/taxonomy/modes | Singleplayer }}<br />
{{Infobox game/row/taxonomy/pacing | Real-time, Turn-based }}<br />
{{Infobox game/row/taxonomy/perspectives | Bird's-eye view, Side view }}<br />
{{Infobox game/row/taxonomy/controls | Direct control, Menu-based }}<br />
{{Infobox game/row/taxonomy/genres | RPG }}<br />
{{Infobox game/row/taxonomy/sports | }}<br />
{{Infobox game/row/taxonomy/vehicles | }}<br />
{{Infobox game/row/taxonomy/art styles | Cartoon }}<br />
{{Infobox game/row/taxonomy/themes | Comedy, Fantasy }}<br />
{{Infobox game/row/taxonomy/series | Undertale }}<br />
|steam appid = 1671210<br />
|steam appid side = <br />
|gogcom id = <br />
|official site= https://www.deltarune.com/<br />
|igdb = deltarune<br />
|strategywiki = Deltarune<br />
|mobygames = deltarune-chapter-1<br />
|wikipedia = Deltarune<br />
|winehq = <br />
|license = Commercial<br />
}}<br />
<br />
{{Introduction<br />
|introduction = '''''Deltarune''''' is a [[:Category:RPG|role-playing game]] by [[Company:Tobyfox|Tobyfox]] and it is a "parallel story" to the highly acclaimed [[Undertale]].<ref>{{Refurl|url=https://tobyfox.itch.io/deltarune|title=DELTARUNE - itch.io|date=2021-09-18|snippet='''Fight (or spare) alongside new characters in UNDERTALE's parallel story, DELTARUNE...!''}}</ref><br />
<br />
|release history = The game's initial release was "SURVEY PROGRAM", a free executable downloaded from the game's official website on October 31, 2018, which included Chapter 1 for the game.<ref>{{Refurl|url=https://web.archive.org/web/20181031130251/https://deltarune.com/|title=WELCOME. (Deltarune.com retrieved through Wayback Machine)|date=2021-09-18}}</ref> Chapter 2, which was also released freely on September 17, 2021, released on Steam and itch.io instead. <br />
<br />
|current state = Chapters 3 to 5 are in development and set to be paid releases in future.<ref>{{Refurl|url=https://store.steampowered.com/app/1671210/DELTARUNE/|title=DELTARUNE on Steam|date=2021-09-18|snippet=Chapters 3-5 are now in development and will someday be available as a paid release.}}</ref><br />
<br />
}}<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| itch.io | https://tobyfox.itch.io/deltarune | DRM-free | | | Windows, OS X }}<br />
{{Availability/row| Steam | 1671210 | DRM-free | Game can be installed anywhere after initial installation. DRM-free if steam_api.dll is deleted from the game's folder. | | Windows, OS X }}<br />
{{Availability/row| Official | https://deltarune.com/ | DRM-free | Original download for Chapter 1 installer was removed on September 17, 2021 when Chapter 2 was released. | | Windows, OS X | unavailable }}<br />
}}<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|localappdata}}\DELTARUNE\}}<br />
{{Game data/config|OS X|~/Library/Application Support/com.tobyfox.deltarune/}}<br />
}}<br />
{{ii}} The free version will instead use the following Proton path: {{code|{{P|steam}}/steamapps/compatdata/1690940/pfx/}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|localappdata}}\DELTARUNE\}}<br />
{{Game data/saves|OS X|~/Library/Application Support/com.tobyfox.deltarune/}}<br />
}}<br />
{{ii}} The free version will instead use the following Proton path: {{code|{{P|steam}}/steamapps/compatdata/1690940/pfx/}}<br />
<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games launcher = <br />
|epic games launcher notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|ubisoft connect = <br />
|ubisoft connect notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Deltarune - General.png|General settings. Menu is unavailable during parts of regular gameplay.}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = hackable<br />
|widescreen resolution notes= See [[#Widescreen Resolution|Widescreen Resolution]].<br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = false<br />
|4k ultra hd notes = <br />
|fov = n/a<br />
|fov notes = <br />
|windowed = true<br />
|windowed notes = By default.<br />
|borderless windowed = hackable<br />
|borderless windowed notes = See [[#Widescreen Resolution Method 1|Widescreen Resolution Methods]].<br />
|anisotropic = n/a<br />
|anisotropic notes = <br />
|antialiasing = n/a<br />
|antialiasing notes = <br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = hackable<br />
|60 fps notes = Frame rate is capped at 30 FPS. See [[#High frame rate|High frame rate]] to raise the cap to 60 FPS.<br />
|120 fps = false<br />
|120 fps notes = <br />
|hdr = false<br />
|hdr notes = <br />
|color blind = false<br />
|color blind notes = <br />
}}<br />
<br />
===[[Glossary:Widescreen resolution|Widescreen Resolution]]===<br />
{{Fixbox|description=Widescreen Fix with Hex Editor|fix=<br />
# Download and Install [https://mh-nexus.de/en/downloads.php?product=HxD20 HxD]<br />
# Run Game, then run HxD<br />
# Press {{key|Ctrl|Shift|M}} and select Game<br />
# Press {{key|Ctrl|F}} change '''Text-String''' to '''Hex-values''' and type in the text field:<br />
#* For Fullscreen {{code|80 02 00 00 E0 01 00 00 FF}} (second value)<br />
#* For Windowed {{code|09 01 00 80 02 00 00 E0 01}}<br />
<div class="mw-collapsible mw-collapsed" style="width:400px"><br />
:5. Only replace {{code|80 02 00 00 E0 01}} value with:<br />
<div class="mw-collapsible-content"><br />
* {{code|200300005802}} for 800x600<br />
* {{code|000400005802}} for 1024x600<br />
* {{code|000400000003}} for 1024x768<br />
* {{code|800400006003}} for 1152x864<br />
* {{code|00050000D002}} for 1280x720<br />
* {{code|000500000003}} for 1280x768<br />
* {{code|000500002003}} for 1280x800<br />
* {{code|00050000C003}} for 1280x960<br />
* {{code|000500000004}} for 1280x1024<br />
* {{code|500500000003}} for 1360x768<br />
* {{code|560500000003}} for 1366x768<br />
* {{code|780500001A04}} for 1400x1050<br />
* {{code|A00500008403}} for 1440x900<br />
* {{code|A00500003804}} for 1440x1080<br />
* {{code|000600006003}} for 1536x864<br />
* {{code|400600008403}} for 1600x900<br />
* {{code|400600000004}} for 1600x1024<br />
* {{code|40060000B004}} for 1600x1200<br />
* {{code|900600001A04}} for 1680x1050<br />
* {{code|800700003804}} for 1920x1080<br />
* {{code|80070000B004}} for 1920x1200<br />
* {{code|80070000A005}} for 1920x1440<br />
* {{code|000800000006}} for 2048x1536<br />
* {{code|000A0000A005}} for 2560x1440<br />
* {{code|000A00004006}} for 2560x1600<br />
* {{code|000F00007008}} for 3840x2160<br />
* {{code|001E0000E010}} for 7680x4320<br />
* More values available [http://wsgf.org/article/common-hex-values here]<br />
</div></div><br />
:6. Press Ctrl+S and click "Yes" on message box<br />
:7. Finally Return to the Game and Enjoy :)<br />
<br />
'''Notes'''<br />
{{ii}} This change isn't permanent, so performing this edit is required before every launch<br />
{{ii}} This change only works on the first version on the game who only has Chapter 1<br />
}}<br />
{{Fixbox|description=Widescreen Fix with Cheat Engine|fix=<br />
# Download and install [https://cheatengine.org/ Cheat Engine]<br />
# Run Game, then run Cheat Engine<br />
# Press {{key|Ctrl|P}} and select Game<br />
# Change Value Type '''4 Bytes''' to '''Array of Byte''' and type in the text field:<br />
#* For Fullscreen {{code|80 02 00 00 E0 01 00 00 FF}} (second value)<br />
#* For Windowed {{code|09 01 00 80 02 00 00 E0 01}}<br />
<div class="mw-collapsible mw-collapsed" style="width:400px"><br />
# Only replace {{code|80 02 00 00 E0 01}} value with:<br />
<div class="mw-collapsible-content"><br />
:* {{code|200300005802}} for 800x600<br />
:* {{code|000400005802}} for 1024x600<br />
:* {{code|000400000003}} for 1024x768<br />
:* {{code|800400006003}} for 1152x864<br />
:* {{code|00050000D002}} for 1280x720<br />
:* {{code|000500000003}} for 1280x768<br />
:* {{code|000500002003}} for 1280x800<br />
:* {{code|00050000C003}} for 1280x960<br />
:* {{code|000500000004}} for 1280x1024<br />
:* {{code|500500000003}} for 1360x768<br />
:* {{code|560500000003}} for 1366x768<br />
:* {{code|780500001A04}} for 1400x1050<br />
:* {{code|A00500008403}} for 1440x900<br />
:* {{code|A00500003804}} for 1440x1080<br />
:* {{code|000600006003}} for 1536x864<br />
:* {{code|400600008403}} for 1600x900<br />
:* {{code|400600000004}} for 1600x1024<br />
:* {{code|40060000B004}} for 1600x1200<br />
:* {{code|900600001A04}} for 1680x1050<br />
:* {{code|800700003804}} for 1920x1080<br />
:* {{code|80070000B004}} for 1920x1200<br />
:* {{code|80070000A005}} for 1920x1440<br />
:* {{code|000800000006}} for 2048x1536<br />
:* {{code|000A0000A005}} for 2560x1440<br />
:* {{code|000A00004006}} for 2560x1600<br />
:* {{code|000F00007008}} for 3840x2160<br />
:* {{code|001E0000E010}} for 7680x4320<br />
:* More values available [http://wsgf.org/article/common-hex-values here]<br />
</div></div><br />
:6. Finally Return to the Game and Enjoy :)<br />
<br />
'''Notes'''<br />
{{ii}} This change isn't permanent, so performing this edit is required before every launch<br />
{{ii}} This change only works on the first version on the game who only has Chapter 1<br />
}}<br />
<br />
===High frame rate===<br />
{{ii}} Back up the original {{file|data.win}} before applying this hack.<br />
{{Fixbox|description=Install 60 FPS Hack|ref=<ref>{{Refcheck|user=AmethystViper|date=2019-12-06|comment=This hack improves the overall fluidity of the game, however, it does causes issues and visual glitches with some cutscenes (e.g. "seems" on tiles) and animations as warned by the hack's readme file.}}</ref>|fix=<br />
# Download the 60 FPS Hack from [https://www.romhacking.net/hacks/4820/ here].<br />
# Extract and copy the {{file|data.win}} file from the zip archive to <code>{{p|game}}</code>, replacing the original.<br />
<br />
'''Notes'''<br />
{{++}} Improves overall smoothness of gameplay in motion.<br />
{{--}} Can cause some animations to play at double the speed and graphical glitches.<br />
}}<br />
<br />
==Input==<br />
{{Image|Deltarune - Input.png|Input settings.}}<br />
{{Input<br />
|key remap = true<br />
|key remap notes = By default, {{key|Z}} is Confirm, {{key|X}} is Cancel and {{key|C}} is Menu.<br />
|acceleration option = n/a<br />
|acceleration option notes = Mouse not used at all.<br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = true<br />
|controller support notes = <br />
|full controller = true<br />
|full controller notes = <br />
|controller remap = true<br />
|controller remap notes = <br />
|controller sensitivity = n/a<br />
|controller sensitivity notes= Digital movement.<br />
|invert controller y-axis = n/a<br />
|invert controller y-axis notes= <br />
|xinput controllers = true<br />
|xinput controllers notes = <br />
|xbox prompts = true<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = true<br />
|dualshock 4 notes = <br />
|dualshock prompts = true<br />
|dualshock prompts notes = <br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = V1, wired.<br />
|dualshock 4 modes notes = Rest untested.<br />
|tracked motion controllers= false<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = unknown<br />
|tracked motion prompts notes = <br />
|other controllers = limited<br />
|other controllers notes = Some controllers the movement cannot be rebound.<ref>{{Refcheck|user=Marioysikax|date=2021-09-18|comment=Switch SNES Classic controller movement cannot be used for some reason, but other controllers mostly worked fine.}}</ref><br />
|other button prompts = false<br />
|other button prompts notes= Uses Xbox buttons for unknown controllers.<br />
|controller hotplug = true<br />
|controller hotplug notes = <br />
|haptic feedback = false<br />
|haptic feedback notes = <br />
|simultaneous input = true<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = Master only.<br />
|surround sound = false<br />
|surround sound notes = <br />
|subtitles = true<br />
|subtitles notes = All speech is text.<br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = n/a<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = French<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://deltarune.fr Fan translation]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Greek<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://hardcodedut.wixsite.com/deltarunegr Fan translation by Hardcoded_UT on Reddit]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Japanese<br />
|interface = true<br />
|audio = n/a<br />
|subtitles = true<br />
|notes = Completely separate installer.<br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Korean<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://team-sm.tistory.com/105 Fan translation]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://vk.com/deltarunerus Fan translation by Tales&Stories Team]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Simplified Chinese<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://drive.google.com/file/d/1WGA5GJ5nU_oSMe4ku0g47uQyJc877LHR/view?usp=sharing Fan translation]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://www.reddit.com/r/Deltarune/comments/ai1241/deltarune_translationtraducci%C3%B3n_by_me_d/ Fan translation by Nancok on Reddit]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://www.deviantart.com/ellistandarbros/art/DELTARUNE-Neutral-Spanish-Translation-Release-779530132 Fan translation by EllistandarBros on DeviantArt]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://www.youtube.com/watch?v=dZ6tyeb1gbw Fan translation by the Ryushi Fox Team on YouTube]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://www.youtube.com/watch?v=uL9i6kQ1QLY Fan translation by DarkHabbo on YouTube]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Swedish<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = [https://github.com/BreakinBenny/Deltarune-Swedish-translation Fan translation by Breakin'Benny]<br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Turkish<br />
|interface = hackable<br />
|audio = n/a<br />
|subtitles = hackable<br />
|notes = Fan translation, [https://mega.nz/file/pGYATbiS#Dn5j-wjK8IN7OaJiiKIoQiToOqGIn5YkBAl5wHQ9jH0 Download].<br />
|fan = true<br />
}}<br />
}} <!-- NOTES: Custom localizations are possible due to the text files being stored in lang_%language%.json files, but require altering the code to add other languages without replacing the English one, or editing true_config.ini's LANG parameter. --><br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 11<br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = unknown<br />
|macos intel 64-bit app = unknown<br />
|macos app notes = <br />
|linux powerpc app = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = XP, Vista, 8, 10<br />
|minCPU = Intel Core 2<br />
|minRAM = 512 MB<br />
|minHD = 90 MB<br />
|minDX = DX11 Feature Level 9.2<br />
|minGPU = Nvidia GeForce 6600<br />
<br />
|recOS = XP, Vista, 8, 10 <br />
|recCPU = 2 GHz<br />
|recRAM = 1 GB<br />
|recHD = 100 MB<br />
|recDX = DX11 Feature Level 9.3<br />
|recGPU = Intel HD Graphics 2000 <br />
|notes =<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1086578Linux2021-09-08T06:20:59Z<p>68.129.223.133: /* Rolling release */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Avg. aggr. RAM use<ref group="rs note">Average aggregates of 3 surveys from 2019-21: https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/ ; https://www.ubuntubuzz.com/2019/07/comparison-of-memory-usages-of-ubuntu-1904-and-flavors-in-2019.html ; and https://fedoramagazine.org/fedora-desktops-memory-footprints/</ref> !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 773 MB || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 582 MB || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 929 MB || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 628 MB || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 436 MB || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 562 MB || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 277 MB || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 381 MB || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<references group="rs note" /><br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''Fedora'''<br />
<br />
To install support for Vulkan API (will be functional only if you have a Vulkan capable GPU and driver), execute the following command<br />
<br />
<code>sudo dnf install vulkan-loader vulkan-loader.i686</code><br />
<br />
=====Nvidia=====<br />
First, update (and reboot) your system<br />
<br />
<code>sudo dnf update<br />
<br />
reboot</code><br />
<br />
Next, make sure the official repos are installed<br />
<br />
<code>sudo dnf install fedora-workstation-repositories</code><br />
<br />
Enable the NVIDIA driver repo<br />
<br />
<code>sudo dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver</code><br />
<br />
Reboot again. After the reboot, verify the addition of the repository via the following command<br />
<br />
<code>sudo dnf repository-packages rpmfusion-nonfree-nvidia-driver info</code><br />
<br />
If several NVIDIA drivers are loaded, it was done correctly. Finally, login, connect to the internet, and open the software app. Click Add-ons > Hardware Drivers > NVIDIA Linux Graphics Driver > Install.<br />
<br />
'''OpenSUSE'''<br />
<br />
Please refer to the [https://www.nvidia.com/en-us/drivers/unix/ Nvidia website] to determine which driver best supports your GPU.<br />
There are two Nvidia driver options available in the Nvidia repository - nvidia-glG05 and nvidia-glG04, which refers to the Nvidia 460 series driver and Nvidia 390 series driver respectively<br />
=====Leap=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh 'https://download.nvidia.com/opensuse/leap/$releasever' NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
=====Tumbleweed=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of them such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1086577Linux2021-09-08T06:19:25Z<p>68.129.223.133: Undo revision 1086567 by Vleeth (talk)</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, i3, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Avg. aggr. RAM use<ref group="rs note">Average aggregates of 3 surveys from 2019-21: https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/ ; https://www.ubuntubuzz.com/2019/07/comparison-of-memory-usages-of-ubuntu-1904-and-flavors-in-2019.html ; and https://fedoramagazine.org/fedora-desktops-memory-footprints/</ref> !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 773 MB || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 582 MB || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 929 MB || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 628 MB || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 436 MB || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 562 MB || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 277 MB || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 381 MB || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<references group="rs note" /><br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''Fedora'''<br />
<br />
To install support for Vulkan API (will be functional only if you have a Vulkan capable GPU and driver), execute the following command<br />
<br />
<code>sudo dnf install vulkan-loader vulkan-loader.i686</code><br />
<br />
=====Nvidia=====<br />
First, update (and reboot) your system<br />
<br />
<code>sudo dnf update<br />
<br />
reboot</code><br />
<br />
Next, make sure the official repos are installed<br />
<br />
<code>sudo dnf install fedora-workstation-repositories</code><br />
<br />
Enable the NVIDIA driver repo<br />
<br />
<code>sudo dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver</code><br />
<br />
Reboot again. After the reboot, verify the addition of the repository via the following command<br />
<br />
<code>sudo dnf repository-packages rpmfusion-nonfree-nvidia-driver info</code><br />
<br />
If several NVIDIA drivers are loaded, it was done correctly. Finally, login, connect to the internet, and open the software app. Click Add-ons > Hardware Drivers > NVIDIA Linux Graphics Driver > Install.<br />
<br />
'''OpenSUSE'''<br />
<br />
Please refer to the [https://www.nvidia.com/en-us/drivers/unix/ Nvidia website] to determine which driver best supports your GPU.<br />
There are two Nvidia driver options available in the Nvidia repository - nvidia-glG05 and nvidia-glG04, which refers to the Nvidia 460 series driver and Nvidia 390 series driver respectively<br />
=====Leap=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh 'https://download.nvidia.com/opensuse/leap/$releasever' NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
=====Tumbleweed=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of them such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1086576Linux2021-09-08T06:18:56Z<p>68.129.223.133: Undo revision 1086568 by Vleeth (talk)</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, i3, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min RAM !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 4 GB || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 4 GB || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 4 GB || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 4 GB || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 2 GB || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 2 GB || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 2 GB || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 2 GB || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<references group="rs note" /><br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''Fedora'''<br />
<br />
To install support for Vulkan API (will be functional only if you have a Vulkan capable GPU and driver), execute the following command<br />
<br />
<code>sudo dnf install vulkan-loader vulkan-loader.i686</code><br />
<br />
=====Nvidia=====<br />
First, update (and reboot) your system<br />
<br />
<code>sudo dnf update<br />
<br />
reboot</code><br />
<br />
Next, make sure the official repos are installed<br />
<br />
<code>sudo dnf install fedora-workstation-repositories</code><br />
<br />
Enable the NVIDIA driver repo<br />
<br />
<code>sudo dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver</code><br />
<br />
Reboot again. After the reboot, verify the addition of the repository via the following command<br />
<br />
<code>sudo dnf repository-packages rpmfusion-nonfree-nvidia-driver info</code><br />
<br />
If several NVIDIA drivers are loaded, it was done correctly. Finally, login, connect to the internet, and open the software app. Click Add-ons > Hardware Drivers > NVIDIA Linux Graphics Driver > Install.<br />
<br />
'''OpenSUSE'''<br />
<br />
Please refer to the [https://www.nvidia.com/en-us/drivers/unix/ Nvidia website] to determine which driver best supports your GPU.<br />
There are two Nvidia driver options available in the Nvidia repository - nvidia-glG05 and nvidia-glG04, which refers to the Nvidia 460 series driver and Nvidia 390 series driver respectively<br />
=====Leap=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh 'https://download.nvidia.com/opensuse/leap/$releasever' NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
=====Tumbleweed=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of them such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Super_Mario_64&diff=1086208Super Mario 642021-09-06T18:51:50Z<p>68.129.223.133: /* Essential Improvements */</p>
<hr />
<div>{{cleanup|Available options, config location, and features vary between ports, but this page inappropriately lumps them all together as one.}}<br />
{{Infobox game<br />
|cover = Super Mario 64 cover.png<br />
|developers = <br />
{{Infobox game/row/developer|Nintendo|Original}}<br />
|publishers = <br />
|engines = <br />
|release dates= <br />
{{Infobox game/row/date|Windows|May 2, 2020}}<br />
{{Infobox game/row/date|Linux|May 5, 2020}}<br />
{{Infobox game/row/date|OS X|June 1, 2020}}<br />
|reception = <br />
{{Infobox game/row/reception|IGDB|super-mario-64|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/perspectives | Third-person }}<br />
{{Infobox game/row/taxonomy/controls | Direct control }}<br />
{{Infobox game/row/taxonomy/genres | Platform }}<br />
{{Infobox game/row/taxonomy/series|Mario}}<br />
|steam appid = <br />
|steam appid side = <br />
|gogcom id = <br />
|gogcom id side = <br />
|official site= <br />
|winehq = <br />
|hltb = 9364<br />
|igdb = super-mario-64<br />
|strategywiki = Super Mario 64<br />
|mobygames = super-mario-64<br />
|wikipedia = Super Mario 64<br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{ii}} Unofficial port of the Nintendo 64 game with native support for widescreen & 4K.<br />
<br />
==Availability==<br />
{{ii}} Precompiled versions are not easily available due to DMCA takedowns by Nintendo. To play it legally, the game must be compiled using a legitimate ROM and the decompiled source code; see [https://sm64pc.info/ Super Mario 64 PC Port Central] for instructions and tools to compile it.<br />
{{ii}} Compilation requires the ROM be encoded in big endian ({{code|.z64}}) format. To convert a ROM using little endian ({{code|.n64}}) or byte-swapped ({{code|.v64}}) encoding to big endian, use [https://www.zophar.net/utilities/n64aud/tool-n64.html Tool64] or ucon64.<br />
<br />
==Essential Improvements==<br />
<br />
===[https://github.com/sm64pc/sm64ex sm64ex]===<br />
sm64ex is a fork of the original SM64-port, that includes a 60fps patch that can be applied before build and offers optional enhancements as make options, such as a better camera, no drawing distance, texture fixes, and support for external resouces such as texture and sound changes, although can still be made completely vanilla, it also includes an in-game options menu that includes controller configuration and an optional cheats menu, and can support older machines and OS with SDL 1.2 or OpenGL 1.1 build options, although there are other enhanced forks such as sm64nx, you generally want to use ex, as it has the most patches and most other mods such as co-op are forks of sm64ex.<br />
<br />
===Patches===<br />
{{ii}} These can be installed with the programs from the [https://sm64pc.info/ Super Mario 64 PC Port Central] website.<br />
* 60 FPS - Patch for sm64ex which interpolates the game logic from 30 FPS to 60 FPS.<br />
* 3D Coins V2 - Makes coins 3D. <!-- Should this really be here? Not particularly objectively essential --><br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{P|game}}\sm64config.txt}}<br />
{{Game data/config|OS X|}}<br />
{{Game data/config|Linux|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{P|game}}\sm64_save_file.bin}}<br />
{{Game data/saves|OS X|}}<br />
{{Game data/saves|Linux|}}<br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = unknown<br />
|multimonitor notes = <br />
|ultrawidescreen = true<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = false<br />
|fov notes = <br />
|windowed = true<br />
|windowed notes = By default. Freely resizeable.<br/>Toggle to fullscreen with {{key|alt|enter}} or by editing [[#Game data|configuration file.]]<br />
|borderless windowed = hackable<br />
|borderless windowed notes = Use [[Glossary:Borderless fullscreen windowed#Borderless Gaming|Borderless Gaming]].<br />
|anisotropic = true<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = <br />
|vsync = true<br />
|vsync notes = <br />
|60 fps = hackable<br />
|60 fps notes = See [[Super_Mario_64#Essential_Improvements|Essential Improvements.]]<br />
|120 fps = false<br />
|120 fps notes = Game's speed is bound to frame rate.<br />
|hdr = false<br />
|ray tracing = hackable<br />
|ray tracing notes = See [[Super_Mario_64#sm64rt|sm64rt]].<br />
|hdr notes = <br />
|color blind = false<br />
|color blind notes = <br />
}}<br />
<br />
===[https://github.com/DarioSamo/sm64rt sm64rt]===<br />
{{ii}} Can be built with any of the programs on [https://sm64pc.info/ Super Mario 64 PC Port Central].<br />
<br />
==Input==<br />
{{Input<br />
|key remap = limited<br />
|key remap notes = Some keys cannot be mapped to, such as {{key|ctrl}}, {{key|alt}}, or {{key|shift}}.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = No mouse support.<br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = true<br />
|controller support notes = <br />
|full controller = true<br />
|full controller notes = Cursor stays in the middle of the screen.<br />
|controller remap = true<br />
|controller remap notes = <br />
|controller sensitivity = false<br />
|controller sensitivity notes= <br />
|invert controller y-axis = false<br />
|invert controller y-axis notes= <br />
|xinput controllers = true<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = Prompts are for Nintendo 64 controller.<br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = true<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = Prompts are for Nintendo 64 controller.<br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= false<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = unknown<br />
|tracked motion prompts notes = <br />
|other controllers = false<br />
|other controllers notes = <br />
|other button prompts = nintendo<br />
|other button prompts notes= Prompts are for Nintendo 64 controller.<br />
|controller hotplug = true<br />
|controller hotplug notes = <br />
|haptic feedback = false<br />
|haptic feedback notes = <br />
|simultaneous input = true<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = false<br />
|steam controller prompts notes = Prompts are for Nintendo 64 controller.<br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Image|Super Mario 64 audio settings.png|In-game audio settings.}}<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = false<br />
|surround sound notes = <br />
|subtitles = always on<br />
|subtitles notes = Huge majority of dialogues are text based.<br/>Cannot be turned off for voice acting.<br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
|ref = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = hackable<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = See [[Super Mario 64#sm64ex-coop|sm64ex-coop]].<br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = See [[Super Mario 64#sm64ex-coop|sm64ex-coop]].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = false<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = true<br />
|direct ip notes = <br />
}}<br />
<br />
===[https://github.com/djoslin0/sm64ex-coop sm64ex-coop]===<br />
{{ii}} Can be built with any of the programs on [https://sm64pc.info/ Super Mario 64 PC Port Central].<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 11,12<br />
|direct3d notes = Can be selected when compiling the game.<br />
|directdraw versions = <br />
|directdraw notes = <br />
|wing = <br />
|wing notes = <br />
|opengl versions = 1.3, 2.1<br />
|opengl notes = Can be selected when compiling the game.<br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = true<br />
|windows exe notes = Depends on the user's choice when installing the compiler.<br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = unknown<br />
|macos intel 64-bit app = unknown<br />
|macos app notes = <br />
|linux powerpc app = <br />
|linux 32-bit executable= unknown<br />
|linux 64-bit executable= unknown<br />
|linux executable notes = <br />
}}<br />
<br />
===Middleware===<br />
{{Middleware<br />
|physics = <br />
|physics notes = <br />
|audio = <br />
|audio notes = <br />
|interface = <br />
|interface notes = <br />
|input = <br />
|input notes = <br />
|cutscenes = <br />
|cutscenes notes = <br />
|multiplayer = <br />
|multiplayer notes= <br />
|anticheat = <br />
|anticheat notes = <br />
}}<br />
<br />
==System requirements==<br />
{{ii}} No official system requirements have been officially-released.<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=The_Elder_Scrolls_III:_Morrowind&diff=1086103The Elder Scrolls III: Morrowind2021-09-06T07:45:36Z<p>68.129.223.133: /* Input */</p>
<hr />
<div>{{Infobox game<br />
|cover = The Elder Scrolls III Morrowind cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Bethesda Game Studios}}<br />
|publishers = <br />
{{Infobox game/row/publisher|Bethesda Softworks}}<br />
{{Infobox game/row/publisher|Ubisoft|Europe|ref=<ref>{{Refurl|url=https://web.archive.org/web/20070317232115/http://elderscrolls.com/news/press_011102.htm|title=The Elder Scrolls - Ubi Soft signs major publishing contract with Bethesda Softworks to distribute multiple titles in Europe|date=2020-09-09|snippet=Paris, France, January 3, 2002 – Ubi Soft® Entertainment today announced the signing of an exclusive European publishing contract with Bethesda Softworks® Inc., a ZeniMax Media company. The agreement covers nine games, including several yet-to-be-announced titles and the highly anticipated The Elder Scrolls III: Morrowind™ for PC and Xbox™ video game system from Microsoft, as well as the award-winning Sea Dogs™ for PC.}}</ref>}}<br />
|engines = <br />
{{Infobox game/row/engine|Gamebryo (TES Engine)|name=NetImmerse|ref=<ref>[http://rpgvaultarchive.ign.com/articles/357/357244p1.html RPG Vault: Morrowind Developer Q&A #8]</ref><ref>[https://web.archive.org/web/20021220050329/http://www.ndl.com/news/tribunal2.html NDL news]</ref>}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|May 1, 2002}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|the-elder-scrolls-iii-morrowind|89}}<br />
{{Infobox game/row/reception|IGDB|the-elder-scrolls-iii-morrowind|rating}}<br />
|steam appid = 22320<br />
|gogcom id = 1435828767<br />
|gogcom id side = 1440163901<br />
|official site= https://elderscrolls.bethesda.net/en/morrowind/<br />
|hltb = 9850<br />
|strategywiki = The Elder Scrolls III: Morrowind<br />
|mobygames = elder-scrolls-iii-morrowind<br />
|wikipedia = The Elder Scrolls III: Morrowind<br />
|winehq = 1015<br />
|license = commercial<br />
}}<br />
{{Series|The Elder Scrolls}}<br />
<br />
'''Key points'''<br />
{{ii}} For Windows 8 and later apply [https://community.pcgamingwiki.com/files/file/615-the-elder-scrolls-iii-morrowind-fullscreen-border-fix/ The Elder Scrolls III: Morrowind fullscreen border fix].<br />
{{ii}} [[#OpenMW|OpenMW]] is an open-source engine that improves some technical drawbacks and adds native support for MacOS and Linux.<br />
{{++}} Active modding community.<br />
{{++}} A wide array of bugs have been fixed through [[#Unofficial Patches|community patches]].<br />
<br />
'''General information'''<br />
{{GOG.com links|1435828767|elder_scrolls_series|for game series}}<br />
{{mm}} [https://steamcommunity.com/app/22320/discussions/ Steam Community Discussions]<br />
{{mm}} [https://www.nexusmods.com/morrowind/ Morrowind Nexus], the largest active modding community for Morrowind.<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Retail | | disc | Install the latest [[#Patches|patches]] to remove {{removed DRM|SafeDisc}}. Requires the disc to be always present (even after patches).<ref name="SafeDisc">[http://forums.overclockers.com.au/showpost.php?p=784643&postcount=5 Overclockers Australia Forums - View Single Post - Morrowind Patch Released]</ref> | | Windows }}<br />
{{Availability/row| Bethesda.net | EL3GSTPCBG01 | DRM-free | Includes both expansions but not the Construction Set.<br/>DRM-free when launched directly from executable. | | Windows }}<br />
{{Availability/row| GamersGate | DD-ES3MGOTYE | Steam | | | Windows }}<br />
{{Availability/row| Gamesplanet | 1354-1 | Steam | | | Windows }}<br />
{{Availability/row| GOG.com | the_elder_scrolls_iii_morrowind_goty_edition | DRM-free | Includes both expansions and the Construction Set.<ref name="GOG.com Construction Set">[https://www.gog.com/forum/general/release_the_elder_scrolls_5fdb7/post72 Release: The Elder Scrolls, page 4 - Forum - GOG.com]</ref> | | Windows }}<br />
{{Availability/row| GMG | the-elder-scrolls-iii-morrowind-game-of-the-year-edition | Steam | | | Windows }}<br />
{{Availability/row| Humble | the-elder-scrolls-iii-morrowind-game-of-the-year-edition | Steam | | | Windows }}<br />
{{Availability/row| Microsoft Store | 9pp7xsg5ldh1 | DRM-free | DRM-free after being copied to any other folder.<br>Included with {{Store feature|Xbox Game Pass}}. | | Windows }}<br />
{{Availability/row| Steam | 22320 | Steam | Includes both expansions but not the Construction Set.<ref name="Steam Construction Set">{{store link|Steam|22320|The Elder Scrolls III: Morrowind® Game of the Year Edition on Steam}}</ref>| | Windows }}<br />
}}<br />
{{++}} The in-game soundtrack can be found at {{file|{{p|game}}\Data Files\Music}} in 128kbps MP3. These differ in arrangement from the versions on the official soundtrack.<br />
<br />
===Version differences===<br />
{{ii}} The Game of the Year Edition includes both expansions and the latest patches. All digital distribution versions are the Game of the Year Edition and are already fully patched.<br />
{{ii}} The Elder Scrolls Anthology includes both a retail version and a single [[Steam]] key that unlocks Morrowind, [[The Elder Scrolls IV: Oblivion|Oblivion]] and [[The Elder Scrolls V: Skyrim|Skyrim]].<ref>[http://www.bethblog.com/2013/08/07/the-complete-elder-scrolls-collection-comes-to-pc-this-september/comment-page-3/#comment-333770 The Complete Elder Scrolls Collection comes to PC this September (Updated) | Bethesda Blog]</ref><br />
{{ii}} The retail and GOG.com versions include [https://elderscrolls.fandom.com/wiki/The_Elder_Scrolls_III:_Morrowind_Construction_Set The Elder Scrolls Construction Set].<ref name="GOG.com Construction Set"/> The Bethesda.net and Steam versions do not include the Construction Set.<ref name="Steam Construction Set"/><br />
{{--}} The GameStop PC Downloads/Impulse version is not compatible with some mods.<ref>[https://www.reddit.com/r/GameDeals/comments/1jm9dw/gamestop_quakecon_2013_sale_the_elder_scrolls_v/cbg2m7t &#91;Gamestop&#93; Quakecon 2013 Sale: The Elder Scrolls V: Skyrim LE 40% off ($35.99), Skyrim 50% off ($14.99), Oblivion GOTY 75% off ($4.99), Morrowmind GOTY 75% off ($4.99) : GameDeals: - Reddit]</ref> This version is no longer sold.<br />
<br />
{{DLC|<br />
{{DLC/row| Tribunal | Included in the Game of the Year Edition. | Windows }}<br />
{{DLC/row| Bloodmoon | Included in the Game of the Year Edition. | Windows }}<br />
{{DLC/row| Construction Set | Free download from [http://en.uesp.net/wiki/Morrowind:Construction_Set The Unofficial Elder Scrolls Pages] and [https://www.nexusmods.com/morrowind/mods/42196 NexusMods].<br/>Included in retail and GOG.com releases. | Windows }}<br />
{{DLC/row| Entertainers | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Bitter Coast Sounds | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Area Effect Arrows | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Helm of Tohan | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Master Index | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| LeFemm Armor | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Adamantium Armor | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Siege at Firemoth | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
}}<br />
{{ii}} Official downloads for addons no longer hosted on [https://elderscrolls.bethesda.net/morrowind/expansions/ The Elder Scrolls Official Site]. Alternative downloads are available.<br />
<br />
==Essential improvements==<br />
{{cleanup|section|reason=Test intercompatibility between the mods and patches listed here|note=This section is very intimidating for a newcomer.}}<br />
<br />
===Patches===<br />
{{ii}} The Game of the Year Edition and the digital distribution versions are already fully patched.<br />
* The latest patch for the base Morrowind is [https://www.patches-scrolls.de/patch/4212/7/ 1.2.0722].<br />
* The latest patch for Tribunal is [https://www.patches-scrolls.de/patch/4215/7/52153/download 1.14.1313].<br />
* The latest patch for Bloodmoon is [https://www.patches-scrolls.de/patch/4211/7/32729 1.6.1820].<br />
<br />
===Unofficial Patches===<br />
====[https://www.nexusmods.com/morrowind/mods/45096 Patch for Purists]====<br />
{{++}} Aims to fix the bugs in the game without controversial rebalancing or additions.<ref name="NewPlayerGuideVideo">[https://www.youtube.com/watch?v=JR3E4Z3fqxw Morrowind Guide for New Players | Bethesda's Giving TES3 Away Free | Engine, Mods, Multiplayer - YouTube]</ref><br />
<br />
====[https://www.nexusmods.com/morrowind/mods/43931 Unofficial Morrowind Plugins Patched]====<br />
{{ii}} Fixes for the Official Plug-Ins (freely available via UESP, included in the GOG edition)<br />
{{ii}} Comes in merged and individual forms, as well as compatibility variants<br />
{{ii}} Has non-vanilla enhancements in [https://www.nexusmods.com/morrowind/mods/46364 PikachunoTM's Misc Mods]<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/47588 Expansion Delay]====<br />
{{ii}} Delays Tribunal's Dark Brotherhood hit on the player significantly and adds sanity check.<br />
{{ii}} Not everyone knows about Bloodmoon's Solstheim and immediately tells you to go there, also has sanity checks.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/19510/ Morrowind Code Patch]====<br />
{{++}} Fixes bugs in the Morrowind executable that could not be covered by the Morrowind Patch Project.<br />
{{++}} Includes several optional gameplay enhancements, such as a sneak toggle and smoother magic casting.<br />
{{ii}} Modifies the executable. To revert to vanilla, use {{code|Morrowind.Original.exe}}.<ref name="Morrowind Code Patch - Morrowind Modding Wiki">[http://wiki.theassimilationlab.com/mmw/Morrowind_Code_Patch#Installation Morrowind Code Patch - Morrowind Modding Wiki]</ref><br />
<br />
====[https://www.nexusmods.com/morrowind/mods/45384 Morrowind Optimization Patch]====<br />
{{++}} Greatly improves performance of outdoor (and to a degree indoor) performance<br />
<br />
====[https://mw.modhistory.com/download-37-6445 Morrowind Script Tidy]====<br />
{{++}} Fixes scripting errors to reduce save bloat and improve stability.<br />
<br />
====[https://community.pcgamingwiki.com/files/file/1261-tes-iii-morrowind-general-fixed-mod/ General Fixes Mod for Russian version &#91;1С-Акелла&#93;]====<br />
{{ii}} Requires both the Tribunal and Bloodmoon expansions.<br />
{{ii}} The [[#Downloadable content (DLC) and expansions|official plugins]] are included in the patch.<br />
{{++}} Fixes several hundred bugs and inconsistencies not covered by the official patches. Including edits of Russian localization<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/49383 Morrowind PL Patch]====<br />
{{ii}} Complete update of Polish texts in the form of dictionaries and converter for the latest version of the game.<br />
{{++}} Correction of as many errors in the translation of the Polish version of the game as possible.<br />
{{++}} Allowing to run English mods without errors on the Polish version.<br />
{{++}} Translation of [[#Patch for Purists|Patch for Purists]] and Official Plugins (should also work with [[#Unofficial_Morrowind_Plugins_Patched|Unofficial Morrowind Plugins Patched]]).<br />
<br />
====UV Texture fixes====<br />
{{++}} The following mods fix texture seams:<br />
* [https://mw.modhistory.com/download-15-10353 Texture Fix].<br />
* [https://mw.modhistory.com/download-15-10388 Texture Fix - Bloodmoon].<br />
* [https://mw.modhistory.com/download-15-11999 Cave Texture Fix].<br />
* [https://www.nexusmods.com/morrowind/mods/46104 Correct UV Rocks].<br />
* [https://www.nexusmods.com/morrowind/mods/45399 Project Atlas].<br />
* [https://www.nexusmods.com/morrowind/mods/39348 Correct Meshes].<br />
<br />
====[http://www.techpowerup.com/forums/threads/large-address-aware.112556/ Large Address Aware]====<br />
{{++}} Improves stability on systems with at least 3GB RAM by allowing the application to use more than 2GB RAM. Particularly useful when using large numbers of mods or heavily scripted mods.<br />
{{++}} Included with [[#Patch for Purists|Patch for Purists]].<br />
<br />
===[https://www.nexusmods.com/morrowind/mods/41102/ MGE XE]===<br />
A graphics improvement add-on to Morrowind. Also known as Morrowind Graphics Extender XE.<br />
{{++}} Allows you to select any resolution, custom FOV, variety of shaders any many other options<br />
{{++}} An updated fork of [http://sourceforge.net/projects/morrgraphext/ MGE] with expanded features, bug fixes and performance enhancements over standard MGE.<br />
<br />
===Skip intro videos===<br />
{{Fixbox|description=Use replacement video files|fix=<br />
# Download the [https://community.pcgamingwiki.com/files/file/112-the-elder-scrolls-iii-morrowind-intro-skip/ Morrowind intro skip] files.<br />
# Apply the files into {{file|Video}}, replacing existing files if prompted.<br />
}}<br />
<br />
{{Fixbox|description=MGE XE|fix=<br />
# Install [[#MGE XE|MGE XE]].<br />
# Open {{file|MGEXEgui.exe}}.<br />
# Go to '''In-Game''' tab.<br />
# Check '''Skip opening movie'''.<br />
}}<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|game}}\Morrowind.ini|{{p|hklm}}\SOFTWARE\{{p|wow64}}\Bethesda Softworks\Morrowind}}<br />
{{Game data/config|Microsoft Store|{{p|game}}\Morrowind.ini|{{p|hklm}}\SOFTWARE\{{p|wow64}}\Bethesda Softworks\Morrowind}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|game}}\Saves\}}<br />
{{Game data/saves|Microsoft Store|{{p|game}}\Saves\}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = false<br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = Stores up to 953.67 MB of game saves online (maximum 100 files).<br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = unknown<br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|The Elder Scrolls III Morrowind video settings.png|Video settings.}}<br />
{{Image|The Elder Scrolls III Morrowind launcher settings.png|Launcher settings.}}<br />
{{Video<br />
|wsgf link = https://www.wsgf.org/dr/elder-scrolls-iii-morrowind<br />
|widescreen wsgf award = limited<br />
|multimonitor wsgf award = limited<br />
|ultrawidescreen wsgf award = limited<br />
|4k ultra hd wsgf award = incomplete<br />
|widescreen resolution = hackable<br />
|widescreen resolution notes= See [[#Widescreen resolution|Widescreen resolution]] or use [[#OpenMW|OpenMW]].<br />
|multimonitor = hackable<br />
|multimonitor notes = See the [https://www.wsgf.org/dr/elder-scrolls-iii-morrowind WSGF entry].<br />
|ultrawidescreen = hackable<br />
|ultrawidescreen notes = See the [https://www.wsgf.org/dr/elder-scrolls-iii-morrowind WSGF entry].<br />
|4k ultra hd = hackable<br />
|4k ultra hd notes = Use [[#OpenMW|OpenMW]] to fix HUD scaling.<br />
|fov = hackable<br />
|fov notes = 75° by default; see [[#Widescreen resolution|Widescreen resolution]] or use [[#OpenMW|OpenMW]].<br />
|windowed = true<br />
|windowed notes = Set in launcher.<br />
|borderless windowed = hackable<br />
|borderless windowed notes = Use [[#MGE XE|MGE XE]] or [[#OpenMW|OpenMW]] (set Fullscreen and Window Border to off if using the latter)<br />
|anisotropic = hackable<br />
|anisotropic notes = Use [[#MGE XE|MGE XE]] or [[#OpenMW|OpenMW]]<br />
|antialiasing = hackable<br />
|antialiasing notes = See [[#Anti-aliasing (AA)|Anti-aliasing (AA)]] or use [[#OpenMW|OpenMW]].<br />
|vsync = hackable<br />
|vsync notes = See [[#Vertical sync (Vsync)|Vertical sync (Vsync)]] or use [[#OpenMW|OpenMW]].<br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = No frame rate cap ({{file|Morrowind.ini}} specifies a 240 FPS cap but this setting is ignored).<br />
|hdr = false<br />
|hdr notes = <br />
|color blind = false<br />
|color blind notes = <br />
}}<br />
<br />
===[[Glossary:Widescreen resolution|Widescreen resolution]]===<br />
{{Fixbox|description=Use [[#MGE XE|MGE XE]]|ref=<ref name="BB_MGEXE">{{Refcheck|user=Blackbird|date=2019-05-19|comment=Extremely easy to use and worth it for the number of useful options you get.}}</ref>}}<br />
<br />
{{Fixbox|description=Edit registry|ref=<ref name="SYJconfig"/>|fix=<br />
# Open the [[#Configuration file(s) location|configuration settings]] in the registry.<br />
# In the right hand window, change {{code|Screen Height}} and {{code|Screen Width}} to the desired resolution. <br />
'''Notes'''<br />
{{--}} FOV change is {{term|vert-}}.<br />
}}<br />
<br />
{{Fixbox|description=Set widescreen resolution|ref={{cn|date=January 2017}}|fix=<br />
# Run Morrowind at least once.<br />
# Download and run [https://community.pcgamingwiki.com/files/file/1385-morrowindfpsoptimizerzip/ Morrowind FPS Optimizer]. ([https://community.pcgamingwiki.com/files/file/1385-morrowindfpsoptimizerzip/ all versions])<br />
# Choose Change Morrowind registry settings here.<br />
# Change defaults to the resolution you want.<br />
# Uncheck novice mode and set your [[Glossary:Field of view (FOV)|field of view (FOV)]] on the misc/2 tab.<br />
'''Notes'''<br />
{{ii}} FOV change is only applied when the Morrowind FPS Optimizer is running.<br />
{{ii}} Some UI elements have maximum resizing limits; use [https://www.nexusmods.com/morrowind/mods/19510/ Morrowind Code Patch] to remove these limits.<br />
}}<br />
<br />
===[[Glossary:Anti-aliasing (AA)|Anti-aliasing (AA)]]===<br />
{{Fixbox|description=Use [[#MGE XE|MGE XE]]|ref=<ref name="BB_MGEXE"/>}}<br />
<br />
{{Fixbox|description=Enable [[MSAA]]|ref=<ref name="SYJconfig">{{Refcheck|user=SirYodaJedi|date=26 March 2019}}</ref>|fix=<br />
# Open the [[#Configuration file(s) location|configuration settings]] in the registry.<br />
# In the right hand window, change {{code|Multisamples}} from 0 to the number of samples you wish to use (ie, 4 = 4x [[MSAA]]).<br />
}}<br />
<br />
===[[Glossary:Vertical sync (Vsync)|Vertical sync (Vsync)]]===<br />
{{Fixbox|description=Use [[#MGE XE|MGE XE]]|ref=<ref name="BB_MGEXE"/>}}<br />
<br />
{{Fixbox|description=Enable Vsync|ref=<ref name="SYJconfig"/>|fix=<br />
# Open the [[#Configuration file(s) location|configuration settings]] in the registry.<br />
# In the right hand window, change {{code|Presentation Interval}} from 0 to 1.<br />
}}<br />
<br />
==Input==<br />
{{Image|The Elder Scrolls III Morrowind input settings.png|Input settings.}}<br />
{{Input<br />
|key remap = true<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = true<br />
|mouse sensitivity notes = <br />
|mouse menu = true<br />
|mouse menu notes = <br />
|invert mouse y-axis = true<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = true<br />
|controller support notes = Must be enabled first.<br />
|full controller = false<br />
|full controller notes = <br />
|controller remap = true<br />
|controller remap notes = <br />
|controller sensitivity = true<br />
|controller sensitivity notes= <br />
|invert controller y-axis = true<br />
|invert controller y-axis notes= <br />
|xinput controllers = unknown<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = unknown<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = unknown<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = unknown<br />
|haptic feedback notes = <br />
|simultaneous input = true<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Image|The Elder Scrolls III Morrowind audio settings.png|Audio settings.}}<br />
{{Audio<br />
|separate volume = true<br />
|separate volume notes = Voice, Effects, Footsteps, Music.<br />
|surround sound = true<br />
|surround sound notes = Up to 7.1 output{{cn|reason=While DirectSound is flexible, no testing method was provided, nor was it made clear whether testing was done on the vanilla game, a patched game (such as MCP), or OpenMW.}}<br />
|subtitles = true<br />
|subtitles notes = <br />
|closed captions = true<br />
|closed captions notes = Subtitles must be enabled as they also enable closed captioning.<br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = true<br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = French<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = German<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Italian<br />
|interface = hackable<br />
|audio = false<br />
|subtitles = hackable<br />
|fan = true<br />
|notes = Fan translation by «Morrowind Italian Translation Project», [https://mw.modhistory.com/download-84-14067 download link] and [https://web.archive.org/web/20100907073231/http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=8693 WM-link on PES].<br />
}}<br />
{{L10n/switch<br />
|language = Polish<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = Retail version only. For digital versions download [https://www.mediafire.com/file/qx6bqhph5p9pama/TES_III_Morrowind_GOTY_Spolszczenie_by_RPG'owo.zip/file this]<br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = Official localization by «[[Company:Akella|Akella]]». Retail only, digital version available [https://www.gameru.net/games/4402 here].<br>[https://www.fullrest.ru/files/morrowind/official Fan translation official plugins]<br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = true<br />
|audio = unknown<br />
|subtitles = true<br />
|notes = [https://www.zoneofgames.ru/games/elder_scrolls_3_morrowind_the/files/114.html Unofficial translation by «Fargus Multimedia»]. Poor quality translation. Expansion "Bloodmoon" not translated (English translit). <br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = hackable<br />
|audio = false<br />
|subtitles = hackable<br />
|fan = true<br />
|notes = Fan translation, [http://www.clandlan.net/foros/topic/58471-ultimate-pack-traduccion-morrowind-espanol-v14309042011/ download].<br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = <br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = hackable<br />
|lan play players = <br />
|lan play modes = Co-op, Versus<br />
|lan play notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP]<br />
|online play = hackable<br />
|online play players = <br />
|online play modes = Co-op, Versus<br />
|online play notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP]<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}{{Network/Connections<br />
|matchmaking = true <br />
|matchmaking notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] provides server browser<br />
|p2p = hackable<br />
|p2p notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] client can establish connection to TES3MP server without using the master server<br />
|dedicated = hackable<br />
|dedicated notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] server can run headless<br />
|self-hosting = hackable<br />
|self-hosting notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] provides server executable<br />
|direct ip = hackable<br />
|direct ip notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] client can connect to TES3MP server using server's IP address<br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vorpx = true<br />
|vorpx modes = G3D,DirectVR<br />
|vorpx notes = Officially supported game, see [https://www.vorpx.com/supported-games/ official vorpx game list].<br />
|vr only = false<br />
|htc vive = hackable<br />
|htc vive notes = Use [https://openmw-vr.readthedocs.io/en/latest/index.html OpenMW-VR].<br />
|oculus rift = hackable<br />
|oculus rift notes = Use [https://openmw-vr.readthedocs.io/en/latest/index.html OpenMW-VR].<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = hackable<br />
|windows mixed reality notes = Use [https://openmw-vr.readthedocs.io/en/latest/index.html OpenMW-VR].<br />
|keyboard-mouse = true<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Issues fixed==<br />
===Crashing During Install or Launch===<br />
{{Fixbox|description=Crashing During Install or Launch|ref={{cn|date=January 2017}}|fix=<br />
Some users have reported issues with crashes whilst installing or launching the game.<ref>[http://forums.bethsoft.com/topic/29-known-issues-and-resolutions/ Known Issues and Resolutions - The Elder Scrolls: Morrowind Forums]</ref> This can often be put down to a conflict between the Macrovision SafeDisc encryption software packaged with the game, and specific background programs installed on your computer. Programs known to lead to this conflict:<br />
* Iomega removable hard disk drives and flash drives<br />
* Hex and kernel editors.<br />
In order to resolve this issue, the user should use the Ctrl+Alt+Del key combination, and end all running processes except <code>Explorer</code> and <code>Systray</code> (these are essential system processes).<br />
}}<br />
<br />
===Render Creation Failure===<br />
{{Fixbox|description=Render Creation Failure|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} This issue often occurs with users who have a corrupted install of the [[#MGE XE|MGE XE]]. If this is the cause, it can be resolved by reinstalling the mod correctly.<br />
<br />
However, the issue may also be caused by the following:<br />
* The system does not meet the minimum [[#System requirements|system requirements]] for Morrowind, or is using an unsupported video card. In this case, there is little that can be done to resolve the issue, other than upgrading the under-performing parts to meet system requirements.<br />
* Outdated graphics card drivers. In this case, the user must update their drivers to the latest version, available from their respective manufacturer's website. <br />
}}<br />
<br />
===Audio Problems (Windows XP)===<br />
{{Fixbox|description=Audio Problems (Windows XP)|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} Some users have reported issues with in-game audio, which may often lead to crashing. One way to resolve this is to reduce sound quality to low in the options menu. If this does not work, try the following:<br />
# Open the Start menu, and search <code>dxdiag</code>, then open the program.<br />
# Go to the "Sound" tab, and reduce the audio hardware acceleration down two notches to Basic Acceleration.<br />
}}<br />
<br />
===Grey Haze===<br />
{{Fixbox|description=Grey Haze|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} Users with Nvidia cards who report a grey haze in their games often have their "fog emulation table" turned off. It can be turned back on by doing the following in '''Windows XP''':<br />
# Click the Start button, and navigate to the Control Panel<br />
# Double click Display, and navigate to Settings, then Advanced<br />
# Select the GeForce Tab and click Additional Properties<br />
# Click on the Direct3D Tab <br />
# Place a check mark in the box for Enable Fog Emulation Table<br />
}}<br />
<br />
===Crash After a Few Minutes of Play===<br />
{{Fixbox|description=Crash After A Few Minutes of Play|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} Users with the Nvidia GeForce 2MX video card and a Via based motherboard often report this issue. <br />
* It can be resolved by downloading the latest drivers.<br />
* It is unknown where the latest version of Via's 4-in-1 driver can be obtained, after the original domain (<code>viaarena.com</code>) elapsed and was bought by malware groups.<br />
{{ii}} Many computer and motherboard manufacturers have special version of these drivers for use with their hardware. It is highly recommended that you contact the system/motherboard manufacturer to see if the manufacturer has a special version of these drivers, in which case you should use the version specified.<br />
}}<br />
<br />
===Mouse Lag===<br />
{{Fixbox|description=Mouse Lag|ref={{cn|date=January 2017}}|fix=<br />
Turning down the music slider to its minimum often results in severe mouse lag, particularly indoors.<br />
* This can be resolved by moving the slider one notch up, which will halt the lag whilst keeping the music inaudible.<br />
}}<br />
<br />
===Load Failure===<br />
{{Fixbox|description=Load Failure|ref={{cn|date=January 2017}}|fix=<br />
Some users who have installed both the Tribunal and Bloodmoon expansions separately have reported loading errors, which are caused by the expansions being installed in the wrong order. This can be resolved by installing Bloodmoon over the top of the existing installations, with no need to uninstall anything.<br />
}}<br />
<br />
===Black Sun===<br />
{{Fixbox|description=Black Sun|ref={{cn|date=January 2017}}|fix=<br />
Users with ATI Radeon graphics cards often see a black sun during gameplay. This graphical anomaly can be resolved by installing the fan-made "[http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=8188 ATI Card Sun Fix]" mod. [[#MGE XE|MGE XE]] also fixes it.<br />
}}<br />
<br />
===Installing The Elder Scrolls Construction Set Disc===<br />
{{Fixbox|description=Installing Disc|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} If the user purchased the game on disc, they may be unable to install the construction set through its packaged disk. This issue can be resolved by installing the set from the game disc (Disk 1) instead. To do this, follow these steps:<br />
# Place Disc 1 in the CD-ROM drive<br />
# Right-Click on your CD-ROM drive and click on Explore<br />
# Go to <code>CSInstall</code>, then double click on <code>setup.exe</code><br />
{{ii}} This will launch the construction set install from the play disc rather than its specific disc, and should resolve any install issues.<br />
}}<br />
<br />
===Unable to construct potions, due to a wrong message it does not have a name===<br />
{{Fixbox|description=Use Morrowind Code Patch|ref=<ref>[http://www.uesp.net/wiki/Morrowind_talk:Alchemy#Bug Morrowind talk:Alchemy - UESPWiki]</ref>|fix=<br />
Use the [https://www.nexusmods.com/morrowind/mods/19510/ Morrowind Code Patch] to apply the "Alchemy name bug" fix.<br />
}}<br />
<br />
===Window border visible in fullscreen mode===<br />
{{ii}} Morrowind does not go fullscreen correctly on Windows 8 and later.<br />
<br />
{{Fixbox|description=Apply the fix|fix=<br />
Apply [https://community.pcgamingwiki.com/files/file/615-the-elder-scrolls-iii-morrowind-fullscreen-border-fix/ The Elder Scrolls III: Morrowind fullscreen border fix].<br />
}}<br />
<br />
===Retail version does not work===<br />
Install the latest [[#Patches|Patches]] to remove the incompatible SafeDisc protection from the retail version.<ref name="SafeDisc"/><br />
<br />
===Settings don't stay saved===<br />
{{Fixbox|description=Run as administrator|ref={{cn|date=August 2016}}|fix=<br />
#Right click Morrowind Launcher.exe<br />
#Select properties<br />
#Select compatibility tab<br />
#Tick run this program as an administrator <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 8<br />
|direct3d notes = [[#MGE XE|MGE XE]] implements DirectX 9.0c and [[#OpenMW|OpenMW]] implements OpenGL<br />
|directdraw versions = <br />
|directdraw notes = <br />
|wing = <br />
|wing notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = hackable<br />
|windows arm app = unknown<br />
|windows exe notes = For 64-bit use [[#OpenMW|OpenMW]]<br />
|mac os x powerpc app = false<br />
|macos intel 32-bit app = false<br />
|macos intel 64-bit app = hackable<br />
|macos arm app = unknown<br />
|macos app notes = Natively supported by [[#OpenMW|OpenMW]]<br />
|linux powerpc app = hackable<br />
|linux 32-bit executable= hackable<br />
|linux 64-bit executable= hackable<br />
|linux arm app = hackable<br />
|linux executable notes = Natively supported by [[#OpenMW|OpenMW]]. ARM32 builds of OpenMW are not easily available, but do exist;<ref>{{Refurl|https://retropie.org.uk/forum/topic/27034/new-port-installer-openmw-morrowind|title=New port installer: OpenMW (Morrowind)|date=2021-05-08}}</ref> ARM64 is widely available. Raspberry Pi is not officially supported.<ref>{{Refurl|url=https://gitlab.com/OpenMW/openmw/-/issues/6006|title=Missing Textures Raspberry Pi 4 B Model, 4GB RAM|date=2021-05-08}}</ref><br />
}}<br />
<br />
===Middleware===<br />
{{Middleware<br />
|physics = <br />
|physics notes = <br />
|audio = <br />
|audio notes = <br />
|interface = <br />
|interface notes = <br />
|input = <br />
|input notes = <br />
|cutscenes = Bink Video<br />
|cutscenes notes = 1.5.1.0<br />
|multiplayer = <br />
|multiplayer notes= <br />
}}<br />
<br />
===[https://openmw.org/ OpenMW]===<br />
{{ii}} Open-source re-implementation of game's engine<br />
{{++}} Allows Morrowind to be played natively on Windows, MacOS, and Linux. It allows for technical drawbacks to be fixed at the level of the engine, as well as enhance the game by correcting design flaws such as savegame "doubling" and improving physics, combat, AI, and graphics.<ref>[https://openmw.org/faq/ OpenMW FAQ]</ref> OpenMW requires a legal copy of the game in order to play Morrowind.<ref>https://openmw.org/faq/#do_i_need_morrowind</ref><br />
<br />
{{ii}} Not all mods are compatible with the engine, the official wiki maintains a [https://wiki.openmw.org/index.php?title=Mod_status#Working_status_of_existing_Morrowind_mods compatibility guide].<br />
{{ii}} Mod installation guides are available on the [https://wiki.openmw.org/index.php?title=Mod_installation wiki] or in the [http://openmw.readthedocs.io/en/master/reference/modding/mod-install.html documentation]<br />
<br />
===Mods===<br />
====Morroblivion / Skywind====<br />
{{ii}} Morroblivion, a full port/remake of Morrowind in the [[The Elder Scrolls IV: Oblivion]] engine has been released and is available [https://morroblivion.com/morroblivion-download here].<br />
{{ii}} Skywind, a full port/remake of Morrowind in [[The Elder Scrolls V: Skyrim]] engine is still in progress. More information can be found [http://tesrenewal.com/skywind-download here].<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/47469/ Intelligent Textures]====<br />
{{ii}} AI upscale of vanilla textures.<br />
{{ii}} Has less upscaling and compression artifacts than [[#Morrowind Enhanced Textures|Morrowind Enhanced Textures]]<ref>{{Refurl|url=https://staticdelivery.nexusmods.com/mods/100/images/47469/47469-1588350453-1372567136.jpeg Morrowind Enhanced Textures 4.1 vs Intelligent Textures 2.0|title=|date=2021-06-22}}</ref><br />
{{++}} Authentic to the original textures' artstyle.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/46221 Morrowind Enhanced Textures]====<br />
{{ii}} AI upscale of vanilla textures.<br />
{{++}} 100% vanilla-friendly.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/45336 Normal Maps for Morrowind]====<br />
{{ii}} Normal maps for Morrowind adding depth to original flat textures.<br />
{{++}} Compatible with [[#Intelligent Textures|Intelligent Textures]] and [[#Morrowind Enhanced Textures|Morrowind Enhanced Textures]].<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/36873 Better Dialogue Font] & [https://www.nexusmods.com/morrowind/mods/44540 Better Daedric Font]====<br />
{{++}} A high resolution replacements for Morrowind's Magic Cards font, used in most of the UI and for the Daedric font used in scrolls.<br />
{{ii}} Both mods have special version for Polish fonts compatibility.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/46596 Better Balanced Combat]====<br />
{{ii}} Modernizes combat by removing the dice roll hit chance and changing parts of the game that were built around it.<br />
{{++}} Includes other popular gameplay tweeks.<br />
{{++}} Compatible with Tamriel Rebuilt and Morrowind Rebirth.<br />
<br />
====Replacements for MGSO/Morrowind Overhaul====<br />
{{ii}} MGSO/MO is ancient and will likely have issues with any modern install<br />
{{++}} [https://github.com/Tyler799/Morrowind-2020/blob/master/Morrowind_2020.md Thastus] is a pretty solid guide, though it has many small mods.<br />
{{++}} [https://wiki.nexusmods.com/index.php/Morrowind_graphics_guide Morrowind Graphics Guide] is a bit simpler. Compare and contrast.<br />
<br />
Many users have experienced issues with the game merely displaying a black screen past the main menu. There are two causes of this issue - their solutions are outlined below:<br />
<br />
{{Fixbox|description=[[Store:Steam#Game-specific setting 2|Disable Steam Overlay]]|ref={{cn|date=January 2017}}|fix=<br />
}}<br />
{{Fixbox|description=Morrowind Graphics Extender (MGE XE)|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} The latest version of the mod, using [[#MGE XE|MGE XE]], is often the cause of this issue.<ref>[http://forum.rpgitalia.net/topic/17380-black-screen-unrelated-to-steam/ Black Screen Unrelated to Steam (Problem starting new game) - RPG Italia Forums]</ref><br />
# Users can select an older, less advanced version by navigating to {{code|{{P|game}}}}<br />
# Select <code>MGSO Options</code><br />
# Go to the '''MGE''' tab.<br />
# The user will then need to regenerate the '''Distant Lands''' using <code>MGEgui.exe</code>.<br />
}}<br />
<br />
===Utilities===<br />
====[https://www.nexusmods.com/morrowind/mods/45439 Wrye Mash]====<br />
{{ii}} 3rd Party mod manager and conflict resolution tool.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/43001/ mlox]====<br />
{{ii}} Sorts mod load order to reduce conflicts and provides messages regarding known issues with mods.<br />
<br />
====[https://www.nexusmods.com/skyrimspecialedition/mods/6194 Mod Organizer]====<br />
{{ii}} Powerful and easy to use mod manager with mod virtualization, in order to keep the installation folder clean.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 98, ME, 2000, XP<br />
|minCPU = Intel Pentium 3 and Intel Celeron 500 MHz<br />
|minCPU2 = AMD Athlon<br />
|minRAM = 128 MB<br />
|minHD = 1 GB<br />
|minGPU = <br />
|minGPU2 = <br />
|minGPU3 = <br />
|minVRAM = 32 MB<br />
|minOGL = <br />
|minDX = 8.1<br />
|minSM = <br />
|minaudio = <br />
|mincont = <br />
|minother = <br />
<br />
|recOS = <br />
|recCPU = Intel Pentium 3 800 MHz<br />
|recCPU2 = AMD Athlon <br />
|recRAM = 256 MB<br />
|recHD = <br />
|recGPU = Nvidia GeForce 2 GTS<br />
|recGPU2 = ATI Radeon 7500<br />
|recGPU3 = <br />
|recVRAM = <br />
|recOGL = <br />
|recDX = <br />
|recSM = <br />
|recaudio = <br />
|reccont = <br />
|recother = <br />
|notes = '''Supported Video Cards:''' NVIDIA GeForce 4, NVIDIA GeForce 3, NVIDIA GeForce 2, NVIDIA GeForce 256, NVIDIA GeForce TNT2, ATI Radeon 8500, ATI Radeon 7500, ATI Radeon 7200, ATI Radeon.<br />
}}<br />
{{References}}<br />
[[Category:GOG.com Enhancement Project]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=The_Elder_Scrolls_III:_Morrowind&diff=1086102The Elder Scrolls III: Morrowind2021-09-06T07:44:38Z<p>68.129.223.133: /* VR support */</p>
<hr />
<div>{{Infobox game<br />
|cover = The Elder Scrolls III Morrowind cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Bethesda Game Studios}}<br />
|publishers = <br />
{{Infobox game/row/publisher|Bethesda Softworks}}<br />
{{Infobox game/row/publisher|Ubisoft|Europe|ref=<ref>{{Refurl|url=https://web.archive.org/web/20070317232115/http://elderscrolls.com/news/press_011102.htm|title=The Elder Scrolls - Ubi Soft signs major publishing contract with Bethesda Softworks to distribute multiple titles in Europe|date=2020-09-09|snippet=Paris, France, January 3, 2002 – Ubi Soft® Entertainment today announced the signing of an exclusive European publishing contract with Bethesda Softworks® Inc., a ZeniMax Media company. The agreement covers nine games, including several yet-to-be-announced titles and the highly anticipated The Elder Scrolls III: Morrowind™ for PC and Xbox™ video game system from Microsoft, as well as the award-winning Sea Dogs™ for PC.}}</ref>}}<br />
|engines = <br />
{{Infobox game/row/engine|Gamebryo (TES Engine)|name=NetImmerse|ref=<ref>[http://rpgvaultarchive.ign.com/articles/357/357244p1.html RPG Vault: Morrowind Developer Q&A #8]</ref><ref>[https://web.archive.org/web/20021220050329/http://www.ndl.com/news/tribunal2.html NDL news]</ref>}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|May 1, 2002}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|the-elder-scrolls-iii-morrowind|89}}<br />
{{Infobox game/row/reception|IGDB|the-elder-scrolls-iii-morrowind|rating}}<br />
|steam appid = 22320<br />
|gogcom id = 1435828767<br />
|gogcom id side = 1440163901<br />
|official site= https://elderscrolls.bethesda.net/en/morrowind/<br />
|hltb = 9850<br />
|strategywiki = The Elder Scrolls III: Morrowind<br />
|mobygames = elder-scrolls-iii-morrowind<br />
|wikipedia = The Elder Scrolls III: Morrowind<br />
|winehq = 1015<br />
|license = commercial<br />
}}<br />
{{Series|The Elder Scrolls}}<br />
<br />
'''Key points'''<br />
{{ii}} For Windows 8 and later apply [https://community.pcgamingwiki.com/files/file/615-the-elder-scrolls-iii-morrowind-fullscreen-border-fix/ The Elder Scrolls III: Morrowind fullscreen border fix].<br />
{{ii}} [[#OpenMW|OpenMW]] is an open-source engine that improves some technical drawbacks and adds native support for MacOS and Linux.<br />
{{++}} Active modding community.<br />
{{++}} A wide array of bugs have been fixed through [[#Unofficial Patches|community patches]].<br />
<br />
'''General information'''<br />
{{GOG.com links|1435828767|elder_scrolls_series|for game series}}<br />
{{mm}} [https://steamcommunity.com/app/22320/discussions/ Steam Community Discussions]<br />
{{mm}} [https://www.nexusmods.com/morrowind/ Morrowind Nexus], the largest active modding community for Morrowind.<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Retail | | disc | Install the latest [[#Patches|patches]] to remove {{removed DRM|SafeDisc}}. Requires the disc to be always present (even after patches).<ref name="SafeDisc">[http://forums.overclockers.com.au/showpost.php?p=784643&postcount=5 Overclockers Australia Forums - View Single Post - Morrowind Patch Released]</ref> | | Windows }}<br />
{{Availability/row| Bethesda.net | EL3GSTPCBG01 | DRM-free | Includes both expansions but not the Construction Set.<br/>DRM-free when launched directly from executable. | | Windows }}<br />
{{Availability/row| GamersGate | DD-ES3MGOTYE | Steam | | | Windows }}<br />
{{Availability/row| Gamesplanet | 1354-1 | Steam | | | Windows }}<br />
{{Availability/row| GOG.com | the_elder_scrolls_iii_morrowind_goty_edition | DRM-free | Includes both expansions and the Construction Set.<ref name="GOG.com Construction Set">[https://www.gog.com/forum/general/release_the_elder_scrolls_5fdb7/post72 Release: The Elder Scrolls, page 4 - Forum - GOG.com]</ref> | | Windows }}<br />
{{Availability/row| GMG | the-elder-scrolls-iii-morrowind-game-of-the-year-edition | Steam | | | Windows }}<br />
{{Availability/row| Humble | the-elder-scrolls-iii-morrowind-game-of-the-year-edition | Steam | | | Windows }}<br />
{{Availability/row| Microsoft Store | 9pp7xsg5ldh1 | DRM-free | DRM-free after being copied to any other folder.<br>Included with {{Store feature|Xbox Game Pass}}. | | Windows }}<br />
{{Availability/row| Steam | 22320 | Steam | Includes both expansions but not the Construction Set.<ref name="Steam Construction Set">{{store link|Steam|22320|The Elder Scrolls III: Morrowind® Game of the Year Edition on Steam}}</ref>| | Windows }}<br />
}}<br />
{{++}} The in-game soundtrack can be found at {{file|{{p|game}}\Data Files\Music}} in 128kbps MP3. These differ in arrangement from the versions on the official soundtrack.<br />
<br />
===Version differences===<br />
{{ii}} The Game of the Year Edition includes both expansions and the latest patches. All digital distribution versions are the Game of the Year Edition and are already fully patched.<br />
{{ii}} The Elder Scrolls Anthology includes both a retail version and a single [[Steam]] key that unlocks Morrowind, [[The Elder Scrolls IV: Oblivion|Oblivion]] and [[The Elder Scrolls V: Skyrim|Skyrim]].<ref>[http://www.bethblog.com/2013/08/07/the-complete-elder-scrolls-collection-comes-to-pc-this-september/comment-page-3/#comment-333770 The Complete Elder Scrolls Collection comes to PC this September (Updated) | Bethesda Blog]</ref><br />
{{ii}} The retail and GOG.com versions include [https://elderscrolls.fandom.com/wiki/The_Elder_Scrolls_III:_Morrowind_Construction_Set The Elder Scrolls Construction Set].<ref name="GOG.com Construction Set"/> The Bethesda.net and Steam versions do not include the Construction Set.<ref name="Steam Construction Set"/><br />
{{--}} The GameStop PC Downloads/Impulse version is not compatible with some mods.<ref>[https://www.reddit.com/r/GameDeals/comments/1jm9dw/gamestop_quakecon_2013_sale_the_elder_scrolls_v/cbg2m7t &#91;Gamestop&#93; Quakecon 2013 Sale: The Elder Scrolls V: Skyrim LE 40% off ($35.99), Skyrim 50% off ($14.99), Oblivion GOTY 75% off ($4.99), Morrowmind GOTY 75% off ($4.99) : GameDeals: - Reddit]</ref> This version is no longer sold.<br />
<br />
{{DLC|<br />
{{DLC/row| Tribunal | Included in the Game of the Year Edition. | Windows }}<br />
{{DLC/row| Bloodmoon | Included in the Game of the Year Edition. | Windows }}<br />
{{DLC/row| Construction Set | Free download from [http://en.uesp.net/wiki/Morrowind:Construction_Set The Unofficial Elder Scrolls Pages] and [https://www.nexusmods.com/morrowind/mods/42196 NexusMods].<br/>Included in retail and GOG.com releases. | Windows }}<br />
{{DLC/row| Entertainers | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Bitter Coast Sounds | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Area Effect Arrows | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Helm of Tohan | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Master Index | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| LeFemm Armor | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Adamantium Armor | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
{{DLC/row| Siege at Firemoth | Free download from [http://en.uesp.net/wiki/Morrowind:Plugins The Unofficial Elder Scrolls Pages]. | Windows }}<br />
}}<br />
{{ii}} Official downloads for addons no longer hosted on [https://elderscrolls.bethesda.net/morrowind/expansions/ The Elder Scrolls Official Site]. Alternative downloads are available.<br />
<br />
==Essential improvements==<br />
{{cleanup|section|reason=Test intercompatibility between the mods and patches listed here|note=This section is very intimidating for a newcomer.}}<br />
<br />
===Patches===<br />
{{ii}} The Game of the Year Edition and the digital distribution versions are already fully patched.<br />
* The latest patch for the base Morrowind is [https://www.patches-scrolls.de/patch/4212/7/ 1.2.0722].<br />
* The latest patch for Tribunal is [https://www.patches-scrolls.de/patch/4215/7/52153/download 1.14.1313].<br />
* The latest patch for Bloodmoon is [https://www.patches-scrolls.de/patch/4211/7/32729 1.6.1820].<br />
<br />
===Unofficial Patches===<br />
====[https://www.nexusmods.com/morrowind/mods/45096 Patch for Purists]====<br />
{{++}} Aims to fix the bugs in the game without controversial rebalancing or additions.<ref name="NewPlayerGuideVideo">[https://www.youtube.com/watch?v=JR3E4Z3fqxw Morrowind Guide for New Players | Bethesda's Giving TES3 Away Free | Engine, Mods, Multiplayer - YouTube]</ref><br />
<br />
====[https://www.nexusmods.com/morrowind/mods/43931 Unofficial Morrowind Plugins Patched]====<br />
{{ii}} Fixes for the Official Plug-Ins (freely available via UESP, included in the GOG edition)<br />
{{ii}} Comes in merged and individual forms, as well as compatibility variants<br />
{{ii}} Has non-vanilla enhancements in [https://www.nexusmods.com/morrowind/mods/46364 PikachunoTM's Misc Mods]<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/47588 Expansion Delay]====<br />
{{ii}} Delays Tribunal's Dark Brotherhood hit on the player significantly and adds sanity check.<br />
{{ii}} Not everyone knows about Bloodmoon's Solstheim and immediately tells you to go there, also has sanity checks.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/19510/ Morrowind Code Patch]====<br />
{{++}} Fixes bugs in the Morrowind executable that could not be covered by the Morrowind Patch Project.<br />
{{++}} Includes several optional gameplay enhancements, such as a sneak toggle and smoother magic casting.<br />
{{ii}} Modifies the executable. To revert to vanilla, use {{code|Morrowind.Original.exe}}.<ref name="Morrowind Code Patch - Morrowind Modding Wiki">[http://wiki.theassimilationlab.com/mmw/Morrowind_Code_Patch#Installation Morrowind Code Patch - Morrowind Modding Wiki]</ref><br />
<br />
====[https://www.nexusmods.com/morrowind/mods/45384 Morrowind Optimization Patch]====<br />
{{++}} Greatly improves performance of outdoor (and to a degree indoor) performance<br />
<br />
====[https://mw.modhistory.com/download-37-6445 Morrowind Script Tidy]====<br />
{{++}} Fixes scripting errors to reduce save bloat and improve stability.<br />
<br />
====[https://community.pcgamingwiki.com/files/file/1261-tes-iii-morrowind-general-fixed-mod/ General Fixes Mod for Russian version &#91;1С-Акелла&#93;]====<br />
{{ii}} Requires both the Tribunal and Bloodmoon expansions.<br />
{{ii}} The [[#Downloadable content (DLC) and expansions|official plugins]] are included in the patch.<br />
{{++}} Fixes several hundred bugs and inconsistencies not covered by the official patches. Including edits of Russian localization<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/49383 Morrowind PL Patch]====<br />
{{ii}} Complete update of Polish texts in the form of dictionaries and converter for the latest version of the game.<br />
{{++}} Correction of as many errors in the translation of the Polish version of the game as possible.<br />
{{++}} Allowing to run English mods without errors on the Polish version.<br />
{{++}} Translation of [[#Patch for Purists|Patch for Purists]] and Official Plugins (should also work with [[#Unofficial_Morrowind_Plugins_Patched|Unofficial Morrowind Plugins Patched]]).<br />
<br />
====UV Texture fixes====<br />
{{++}} The following mods fix texture seams:<br />
* [https://mw.modhistory.com/download-15-10353 Texture Fix].<br />
* [https://mw.modhistory.com/download-15-10388 Texture Fix - Bloodmoon].<br />
* [https://mw.modhistory.com/download-15-11999 Cave Texture Fix].<br />
* [https://www.nexusmods.com/morrowind/mods/46104 Correct UV Rocks].<br />
* [https://www.nexusmods.com/morrowind/mods/45399 Project Atlas].<br />
* [https://www.nexusmods.com/morrowind/mods/39348 Correct Meshes].<br />
<br />
====[http://www.techpowerup.com/forums/threads/large-address-aware.112556/ Large Address Aware]====<br />
{{++}} Improves stability on systems with at least 3GB RAM by allowing the application to use more than 2GB RAM. Particularly useful when using large numbers of mods or heavily scripted mods.<br />
{{++}} Included with [[#Patch for Purists|Patch for Purists]].<br />
<br />
===[https://www.nexusmods.com/morrowind/mods/41102/ MGE XE]===<br />
A graphics improvement add-on to Morrowind. Also known as Morrowind Graphics Extender XE.<br />
{{++}} Allows you to select any resolution, custom FOV, variety of shaders any many other options<br />
{{++}} An updated fork of [http://sourceforge.net/projects/morrgraphext/ MGE] with expanded features, bug fixes and performance enhancements over standard MGE.<br />
<br />
===Skip intro videos===<br />
{{Fixbox|description=Use replacement video files|fix=<br />
# Download the [https://community.pcgamingwiki.com/files/file/112-the-elder-scrolls-iii-morrowind-intro-skip/ Morrowind intro skip] files.<br />
# Apply the files into {{file|Video}}, replacing existing files if prompted.<br />
}}<br />
<br />
{{Fixbox|description=MGE XE|fix=<br />
# Install [[#MGE XE|MGE XE]].<br />
# Open {{file|MGEXEgui.exe}}.<br />
# Go to '''In-Game''' tab.<br />
# Check '''Skip opening movie'''.<br />
}}<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|game}}\Morrowind.ini|{{p|hklm}}\SOFTWARE\{{p|wow64}}\Bethesda Softworks\Morrowind}}<br />
{{Game data/config|Microsoft Store|{{p|game}}\Morrowind.ini|{{p|hklm}}\SOFTWARE\{{p|wow64}}\Bethesda Softworks\Morrowind}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|game}}\Saves\}}<br />
{{Game data/saves|Microsoft Store|{{p|game}}\Saves\}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = false<br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = Stores up to 953.67 MB of game saves online (maximum 100 files).<br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = unknown<br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|The Elder Scrolls III Morrowind video settings.png|Video settings.}}<br />
{{Image|The Elder Scrolls III Morrowind launcher settings.png|Launcher settings.}}<br />
{{Video<br />
|wsgf link = https://www.wsgf.org/dr/elder-scrolls-iii-morrowind<br />
|widescreen wsgf award = limited<br />
|multimonitor wsgf award = limited<br />
|ultrawidescreen wsgf award = limited<br />
|4k ultra hd wsgf award = incomplete<br />
|widescreen resolution = hackable<br />
|widescreen resolution notes= See [[#Widescreen resolution|Widescreen resolution]] or use [[#OpenMW|OpenMW]].<br />
|multimonitor = hackable<br />
|multimonitor notes = See the [https://www.wsgf.org/dr/elder-scrolls-iii-morrowind WSGF entry].<br />
|ultrawidescreen = hackable<br />
|ultrawidescreen notes = See the [https://www.wsgf.org/dr/elder-scrolls-iii-morrowind WSGF entry].<br />
|4k ultra hd = hackable<br />
|4k ultra hd notes = Use [[#OpenMW|OpenMW]] to fix HUD scaling.<br />
|fov = hackable<br />
|fov notes = 75° by default; see [[#Widescreen resolution|Widescreen resolution]] or use [[#OpenMW|OpenMW]].<br />
|windowed = true<br />
|windowed notes = Set in launcher.<br />
|borderless windowed = hackable<br />
|borderless windowed notes = Use [[#MGE XE|MGE XE]] or [[#OpenMW|OpenMW]] (set Fullscreen and Window Border to off if using the latter)<br />
|anisotropic = hackable<br />
|anisotropic notes = Use [[#MGE XE|MGE XE]] or [[#OpenMW|OpenMW]]<br />
|antialiasing = hackable<br />
|antialiasing notes = See [[#Anti-aliasing (AA)|Anti-aliasing (AA)]] or use [[#OpenMW|OpenMW]].<br />
|vsync = hackable<br />
|vsync notes = See [[#Vertical sync (Vsync)|Vertical sync (Vsync)]] or use [[#OpenMW|OpenMW]].<br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = No frame rate cap ({{file|Morrowind.ini}} specifies a 240 FPS cap but this setting is ignored).<br />
|hdr = false<br />
|hdr notes = <br />
|color blind = false<br />
|color blind notes = <br />
}}<br />
<br />
===[[Glossary:Widescreen resolution|Widescreen resolution]]===<br />
{{Fixbox|description=Use [[#MGE XE|MGE XE]]|ref=<ref name="BB_MGEXE">{{Refcheck|user=Blackbird|date=2019-05-19|comment=Extremely easy to use and worth it for the number of useful options you get.}}</ref>}}<br />
<br />
{{Fixbox|description=Edit registry|ref=<ref name="SYJconfig"/>|fix=<br />
# Open the [[#Configuration file(s) location|configuration settings]] in the registry.<br />
# In the right hand window, change {{code|Screen Height}} and {{code|Screen Width}} to the desired resolution. <br />
'''Notes'''<br />
{{--}} FOV change is {{term|vert-}}.<br />
}}<br />
<br />
{{Fixbox|description=Set widescreen resolution|ref={{cn|date=January 2017}}|fix=<br />
# Run Morrowind at least once.<br />
# Download and run [https://community.pcgamingwiki.com/files/file/1385-morrowindfpsoptimizerzip/ Morrowind FPS Optimizer]. ([https://community.pcgamingwiki.com/files/file/1385-morrowindfpsoptimizerzip/ all versions])<br />
# Choose Change Morrowind registry settings here.<br />
# Change defaults to the resolution you want.<br />
# Uncheck novice mode and set your [[Glossary:Field of view (FOV)|field of view (FOV)]] on the misc/2 tab.<br />
'''Notes'''<br />
{{ii}} FOV change is only applied when the Morrowind FPS Optimizer is running.<br />
{{ii}} Some UI elements have maximum resizing limits; use [https://www.nexusmods.com/morrowind/mods/19510/ Morrowind Code Patch] to remove these limits.<br />
}}<br />
<br />
===[[Glossary:Anti-aliasing (AA)|Anti-aliasing (AA)]]===<br />
{{Fixbox|description=Use [[#MGE XE|MGE XE]]|ref=<ref name="BB_MGEXE"/>}}<br />
<br />
{{Fixbox|description=Enable [[MSAA]]|ref=<ref name="SYJconfig">{{Refcheck|user=SirYodaJedi|date=26 March 2019}}</ref>|fix=<br />
# Open the [[#Configuration file(s) location|configuration settings]] in the registry.<br />
# In the right hand window, change {{code|Multisamples}} from 0 to the number of samples you wish to use (ie, 4 = 4x [[MSAA]]).<br />
}}<br />
<br />
===[[Glossary:Vertical sync (Vsync)|Vertical sync (Vsync)]]===<br />
{{Fixbox|description=Use [[#MGE XE|MGE XE]]|ref=<ref name="BB_MGEXE"/>}}<br />
<br />
{{Fixbox|description=Enable Vsync|ref=<ref name="SYJconfig"/>|fix=<br />
# Open the [[#Configuration file(s) location|configuration settings]] in the registry.<br />
# In the right hand window, change {{code|Presentation Interval}} from 0 to 1.<br />
}}<br />
<br />
==Input==<br />
{{Image|The Elder Scrolls III Morrowind input settings.png|Input settings.}}<br />
{{Input<br />
|key remap = true<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = true<br />
|mouse sensitivity notes = <br />
|mouse menu = true<br />
|mouse menu notes = <br />
|invert mouse y-axis = true<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = true<br />
|controller support notes = Must be enabled first.<br />
|full controller = false<br />
|full controller notes = <br />
|controller remap = true<br />
|controller remap notes = <br />
|controller sensitivity = true<br />
|controller sensitivity notes= <br />
|invert controller y-axis = true<br />
|invert controller y-axis notes= <br />
|xinput controllers = unknown<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = unknown<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= false<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = unknown<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = unknown<br />
|haptic feedback notes = <br />
|simultaneous input = true<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Image|The Elder Scrolls III Morrowind audio settings.png|Audio settings.}}<br />
{{Audio<br />
|separate volume = true<br />
|separate volume notes = Voice, Effects, Footsteps, Music.<br />
|surround sound = true<br />
|surround sound notes = Up to 7.1 output{{cn|reason=While DirectSound is flexible, no testing method was provided, nor was it made clear whether testing was done on the vanilla game, a patched game (such as MCP), or OpenMW.}}<br />
|subtitles = true<br />
|subtitles notes = <br />
|closed captions = true<br />
|closed captions notes = Subtitles must be enabled as they also enable closed captioning.<br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = true<br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = French<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = German<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Italian<br />
|interface = hackable<br />
|audio = false<br />
|subtitles = hackable<br />
|fan = true<br />
|notes = Fan translation by «Morrowind Italian Translation Project», [https://mw.modhistory.com/download-84-14067 download link] and [https://web.archive.org/web/20100907073231/http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=8693 WM-link on PES].<br />
}}<br />
{{L10n/switch<br />
|language = Polish<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = Retail version only. For digital versions download [https://www.mediafire.com/file/qx6bqhph5p9pama/TES_III_Morrowind_GOTY_Spolszczenie_by_RPG'owo.zip/file this]<br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = Official localization by «[[Company:Akella|Akella]]». Retail only, digital version available [https://www.gameru.net/games/4402 here].<br>[https://www.fullrest.ru/files/morrowind/official Fan translation official plugins]<br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = true<br />
|audio = unknown<br />
|subtitles = true<br />
|notes = [https://www.zoneofgames.ru/games/elder_scrolls_3_morrowind_the/files/114.html Unofficial translation by «Fargus Multimedia»]. Poor quality translation. Expansion "Bloodmoon" not translated (English translit). <br />
|fan = true<br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = hackable<br />
|audio = false<br />
|subtitles = hackable<br />
|fan = true<br />
|notes = Fan translation, [http://www.clandlan.net/foros/topic/58471-ultimate-pack-traduccion-morrowind-espanol-v14309042011/ download].<br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = <br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = hackable<br />
|lan play players = <br />
|lan play modes = Co-op, Versus<br />
|lan play notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP]<br />
|online play = hackable<br />
|online play players = <br />
|online play modes = Co-op, Versus<br />
|online play notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP]<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}{{Network/Connections<br />
|matchmaking = true <br />
|matchmaking notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] provides server browser<br />
|p2p = hackable<br />
|p2p notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] client can establish connection to TES3MP server without using the master server<br />
|dedicated = hackable<br />
|dedicated notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] server can run headless<br />
|self-hosting = hackable<br />
|self-hosting notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] provides server executable<br />
|direct ip = hackable<br />
|direct ip notes = [https://github.com/TES3MP/openmw-tes3mp TES3MP] client can connect to TES3MP server using server's IP address<br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vorpx = true<br />
|vorpx modes = G3D,DirectVR<br />
|vorpx notes = Officially supported game, see [https://www.vorpx.com/supported-games/ official vorpx game list].<br />
|vr only = false<br />
|htc vive = hackable<br />
|htc vive notes = Use [https://openmw-vr.readthedocs.io/en/latest/index.html OpenMW-VR].<br />
|oculus rift = hackable<br />
|oculus rift notes = Use [https://openmw-vr.readthedocs.io/en/latest/index.html OpenMW-VR].<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = hackable<br />
|windows mixed reality notes = Use [https://openmw-vr.readthedocs.io/en/latest/index.html OpenMW-VR].<br />
|keyboard-mouse = true<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Issues fixed==<br />
===Crashing During Install or Launch===<br />
{{Fixbox|description=Crashing During Install or Launch|ref={{cn|date=January 2017}}|fix=<br />
Some users have reported issues with crashes whilst installing or launching the game.<ref>[http://forums.bethsoft.com/topic/29-known-issues-and-resolutions/ Known Issues and Resolutions - The Elder Scrolls: Morrowind Forums]</ref> This can often be put down to a conflict between the Macrovision SafeDisc encryption software packaged with the game, and specific background programs installed on your computer. Programs known to lead to this conflict:<br />
* Iomega removable hard disk drives and flash drives<br />
* Hex and kernel editors.<br />
In order to resolve this issue, the user should use the Ctrl+Alt+Del key combination, and end all running processes except <code>Explorer</code> and <code>Systray</code> (these are essential system processes).<br />
}}<br />
<br />
===Render Creation Failure===<br />
{{Fixbox|description=Render Creation Failure|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} This issue often occurs with users who have a corrupted install of the [[#MGE XE|MGE XE]]. If this is the cause, it can be resolved by reinstalling the mod correctly.<br />
<br />
However, the issue may also be caused by the following:<br />
* The system does not meet the minimum [[#System requirements|system requirements]] for Morrowind, or is using an unsupported video card. In this case, there is little that can be done to resolve the issue, other than upgrading the under-performing parts to meet system requirements.<br />
* Outdated graphics card drivers. In this case, the user must update their drivers to the latest version, available from their respective manufacturer's website. <br />
}}<br />
<br />
===Audio Problems (Windows XP)===<br />
{{Fixbox|description=Audio Problems (Windows XP)|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} Some users have reported issues with in-game audio, which may often lead to crashing. One way to resolve this is to reduce sound quality to low in the options menu. If this does not work, try the following:<br />
# Open the Start menu, and search <code>dxdiag</code>, then open the program.<br />
# Go to the "Sound" tab, and reduce the audio hardware acceleration down two notches to Basic Acceleration.<br />
}}<br />
<br />
===Grey Haze===<br />
{{Fixbox|description=Grey Haze|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} Users with Nvidia cards who report a grey haze in their games often have their "fog emulation table" turned off. It can be turned back on by doing the following in '''Windows XP''':<br />
# Click the Start button, and navigate to the Control Panel<br />
# Double click Display, and navigate to Settings, then Advanced<br />
# Select the GeForce Tab and click Additional Properties<br />
# Click on the Direct3D Tab <br />
# Place a check mark in the box for Enable Fog Emulation Table<br />
}}<br />
<br />
===Crash After a Few Minutes of Play===<br />
{{Fixbox|description=Crash After A Few Minutes of Play|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} Users with the Nvidia GeForce 2MX video card and a Via based motherboard often report this issue. <br />
* It can be resolved by downloading the latest drivers.<br />
* It is unknown where the latest version of Via's 4-in-1 driver can be obtained, after the original domain (<code>viaarena.com</code>) elapsed and was bought by malware groups.<br />
{{ii}} Many computer and motherboard manufacturers have special version of these drivers for use with their hardware. It is highly recommended that you contact the system/motherboard manufacturer to see if the manufacturer has a special version of these drivers, in which case you should use the version specified.<br />
}}<br />
<br />
===Mouse Lag===<br />
{{Fixbox|description=Mouse Lag|ref={{cn|date=January 2017}}|fix=<br />
Turning down the music slider to its minimum often results in severe mouse lag, particularly indoors.<br />
* This can be resolved by moving the slider one notch up, which will halt the lag whilst keeping the music inaudible.<br />
}}<br />
<br />
===Load Failure===<br />
{{Fixbox|description=Load Failure|ref={{cn|date=January 2017}}|fix=<br />
Some users who have installed both the Tribunal and Bloodmoon expansions separately have reported loading errors, which are caused by the expansions being installed in the wrong order. This can be resolved by installing Bloodmoon over the top of the existing installations, with no need to uninstall anything.<br />
}}<br />
<br />
===Black Sun===<br />
{{Fixbox|description=Black Sun|ref={{cn|date=January 2017}}|fix=<br />
Users with ATI Radeon graphics cards often see a black sun during gameplay. This graphical anomaly can be resolved by installing the fan-made "[http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=8188 ATI Card Sun Fix]" mod. [[#MGE XE|MGE XE]] also fixes it.<br />
}}<br />
<br />
===Installing The Elder Scrolls Construction Set Disc===<br />
{{Fixbox|description=Installing Disc|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} If the user purchased the game on disc, they may be unable to install the construction set through its packaged disk. This issue can be resolved by installing the set from the game disc (Disk 1) instead. To do this, follow these steps:<br />
# Place Disc 1 in the CD-ROM drive<br />
# Right-Click on your CD-ROM drive and click on Explore<br />
# Go to <code>CSInstall</code>, then double click on <code>setup.exe</code><br />
{{ii}} This will launch the construction set install from the play disc rather than its specific disc, and should resolve any install issues.<br />
}}<br />
<br />
===Unable to construct potions, due to a wrong message it does not have a name===<br />
{{Fixbox|description=Use Morrowind Code Patch|ref=<ref>[http://www.uesp.net/wiki/Morrowind_talk:Alchemy#Bug Morrowind talk:Alchemy - UESPWiki]</ref>|fix=<br />
Use the [https://www.nexusmods.com/morrowind/mods/19510/ Morrowind Code Patch] to apply the "Alchemy name bug" fix.<br />
}}<br />
<br />
===Window border visible in fullscreen mode===<br />
{{ii}} Morrowind does not go fullscreen correctly on Windows 8 and later.<br />
<br />
{{Fixbox|description=Apply the fix|fix=<br />
Apply [https://community.pcgamingwiki.com/files/file/615-the-elder-scrolls-iii-morrowind-fullscreen-border-fix/ The Elder Scrolls III: Morrowind fullscreen border fix].<br />
}}<br />
<br />
===Retail version does not work===<br />
Install the latest [[#Patches|Patches]] to remove the incompatible SafeDisc protection from the retail version.<ref name="SafeDisc"/><br />
<br />
===Settings don't stay saved===<br />
{{Fixbox|description=Run as administrator|ref={{cn|date=August 2016}}|fix=<br />
#Right click Morrowind Launcher.exe<br />
#Select properties<br />
#Select compatibility tab<br />
#Tick run this program as an administrator <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 8<br />
|direct3d notes = [[#MGE XE|MGE XE]] implements DirectX 9.0c and [[#OpenMW|OpenMW]] implements OpenGL<br />
|directdraw versions = <br />
|directdraw notes = <br />
|wing = <br />
|wing notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = hackable<br />
|windows arm app = unknown<br />
|windows exe notes = For 64-bit use [[#OpenMW|OpenMW]]<br />
|mac os x powerpc app = false<br />
|macos intel 32-bit app = false<br />
|macos intel 64-bit app = hackable<br />
|macos arm app = unknown<br />
|macos app notes = Natively supported by [[#OpenMW|OpenMW]]<br />
|linux powerpc app = hackable<br />
|linux 32-bit executable= hackable<br />
|linux 64-bit executable= hackable<br />
|linux arm app = hackable<br />
|linux executable notes = Natively supported by [[#OpenMW|OpenMW]]. ARM32 builds of OpenMW are not easily available, but do exist;<ref>{{Refurl|https://retropie.org.uk/forum/topic/27034/new-port-installer-openmw-morrowind|title=New port installer: OpenMW (Morrowind)|date=2021-05-08}}</ref> ARM64 is widely available. Raspberry Pi is not officially supported.<ref>{{Refurl|url=https://gitlab.com/OpenMW/openmw/-/issues/6006|title=Missing Textures Raspberry Pi 4 B Model, 4GB RAM|date=2021-05-08}}</ref><br />
}}<br />
<br />
===Middleware===<br />
{{Middleware<br />
|physics = <br />
|physics notes = <br />
|audio = <br />
|audio notes = <br />
|interface = <br />
|interface notes = <br />
|input = <br />
|input notes = <br />
|cutscenes = Bink Video<br />
|cutscenes notes = 1.5.1.0<br />
|multiplayer = <br />
|multiplayer notes= <br />
}}<br />
<br />
===[https://openmw.org/ OpenMW]===<br />
{{ii}} Open-source re-implementation of game's engine<br />
{{++}} Allows Morrowind to be played natively on Windows, MacOS, and Linux. It allows for technical drawbacks to be fixed at the level of the engine, as well as enhance the game by correcting design flaws such as savegame "doubling" and improving physics, combat, AI, and graphics.<ref>[https://openmw.org/faq/ OpenMW FAQ]</ref> OpenMW requires a legal copy of the game in order to play Morrowind.<ref>https://openmw.org/faq/#do_i_need_morrowind</ref><br />
<br />
{{ii}} Not all mods are compatible with the engine, the official wiki maintains a [https://wiki.openmw.org/index.php?title=Mod_status#Working_status_of_existing_Morrowind_mods compatibility guide].<br />
{{ii}} Mod installation guides are available on the [https://wiki.openmw.org/index.php?title=Mod_installation wiki] or in the [http://openmw.readthedocs.io/en/master/reference/modding/mod-install.html documentation]<br />
<br />
===Mods===<br />
====Morroblivion / Skywind====<br />
{{ii}} Morroblivion, a full port/remake of Morrowind in the [[The Elder Scrolls IV: Oblivion]] engine has been released and is available [https://morroblivion.com/morroblivion-download here].<br />
{{ii}} Skywind, a full port/remake of Morrowind in [[The Elder Scrolls V: Skyrim]] engine is still in progress. More information can be found [http://tesrenewal.com/skywind-download here].<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/47469/ Intelligent Textures]====<br />
{{ii}} AI upscale of vanilla textures.<br />
{{ii}} Has less upscaling and compression artifacts than [[#Morrowind Enhanced Textures|Morrowind Enhanced Textures]]<ref>{{Refurl|url=https://staticdelivery.nexusmods.com/mods/100/images/47469/47469-1588350453-1372567136.jpeg Morrowind Enhanced Textures 4.1 vs Intelligent Textures 2.0|title=|date=2021-06-22}}</ref><br />
{{++}} Authentic to the original textures' artstyle.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/46221 Morrowind Enhanced Textures]====<br />
{{ii}} AI upscale of vanilla textures.<br />
{{++}} 100% vanilla-friendly.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/45336 Normal Maps for Morrowind]====<br />
{{ii}} Normal maps for Morrowind adding depth to original flat textures.<br />
{{++}} Compatible with [[#Intelligent Textures|Intelligent Textures]] and [[#Morrowind Enhanced Textures|Morrowind Enhanced Textures]].<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/36873 Better Dialogue Font] & [https://www.nexusmods.com/morrowind/mods/44540 Better Daedric Font]====<br />
{{++}} A high resolution replacements for Morrowind's Magic Cards font, used in most of the UI and for the Daedric font used in scrolls.<br />
{{ii}} Both mods have special version for Polish fonts compatibility.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/46596 Better Balanced Combat]====<br />
{{ii}} Modernizes combat by removing the dice roll hit chance and changing parts of the game that were built around it.<br />
{{++}} Includes other popular gameplay tweeks.<br />
{{++}} Compatible with Tamriel Rebuilt and Morrowind Rebirth.<br />
<br />
====Replacements for MGSO/Morrowind Overhaul====<br />
{{ii}} MGSO/MO is ancient and will likely have issues with any modern install<br />
{{++}} [https://github.com/Tyler799/Morrowind-2020/blob/master/Morrowind_2020.md Thastus] is a pretty solid guide, though it has many small mods.<br />
{{++}} [https://wiki.nexusmods.com/index.php/Morrowind_graphics_guide Morrowind Graphics Guide] is a bit simpler. Compare and contrast.<br />
<br />
Many users have experienced issues with the game merely displaying a black screen past the main menu. There are two causes of this issue - their solutions are outlined below:<br />
<br />
{{Fixbox|description=[[Store:Steam#Game-specific setting 2|Disable Steam Overlay]]|ref={{cn|date=January 2017}}|fix=<br />
}}<br />
{{Fixbox|description=Morrowind Graphics Extender (MGE XE)|ref={{cn|date=January 2017}}|fix=<br />
{{ii}} The latest version of the mod, using [[#MGE XE|MGE XE]], is often the cause of this issue.<ref>[http://forum.rpgitalia.net/topic/17380-black-screen-unrelated-to-steam/ Black Screen Unrelated to Steam (Problem starting new game) - RPG Italia Forums]</ref><br />
# Users can select an older, less advanced version by navigating to {{code|{{P|game}}}}<br />
# Select <code>MGSO Options</code><br />
# Go to the '''MGE''' tab.<br />
# The user will then need to regenerate the '''Distant Lands''' using <code>MGEgui.exe</code>.<br />
}}<br />
<br />
===Utilities===<br />
====[https://www.nexusmods.com/morrowind/mods/45439 Wrye Mash]====<br />
{{ii}} 3rd Party mod manager and conflict resolution tool.<br />
<br />
====[https://www.nexusmods.com/morrowind/mods/43001/ mlox]====<br />
{{ii}} Sorts mod load order to reduce conflicts and provides messages regarding known issues with mods.<br />
<br />
====[https://www.nexusmods.com/skyrimspecialedition/mods/6194 Mod Organizer]====<br />
{{ii}} Powerful and easy to use mod manager with mod virtualization, in order to keep the installation folder clean.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 98, ME, 2000, XP<br />
|minCPU = Intel Pentium 3 and Intel Celeron 500 MHz<br />
|minCPU2 = AMD Athlon<br />
|minRAM = 128 MB<br />
|minHD = 1 GB<br />
|minGPU = <br />
|minGPU2 = <br />
|minGPU3 = <br />
|minVRAM = 32 MB<br />
|minOGL = <br />
|minDX = 8.1<br />
|minSM = <br />
|minaudio = <br />
|mincont = <br />
|minother = <br />
<br />
|recOS = <br />
|recCPU = Intel Pentium 3 800 MHz<br />
|recCPU2 = AMD Athlon <br />
|recRAM = 256 MB<br />
|recHD = <br />
|recGPU = Nvidia GeForce 2 GTS<br />
|recGPU2 = ATI Radeon 7500<br />
|recGPU3 = <br />
|recVRAM = <br />
|recOGL = <br />
|recDX = <br />
|recSM = <br />
|recaudio = <br />
|reccont = <br />
|recother = <br />
|notes = '''Supported Video Cards:''' NVIDIA GeForce 4, NVIDIA GeForce 3, NVIDIA GeForce 2, NVIDIA GeForce 256, NVIDIA GeForce TNT2, ATI Radeon 8500, ATI Radeon 7500, ATI Radeon 7200, ATI Radeon.<br />
}}<br />
{{References}}<br />
[[Category:GOG.com Enhancement Project]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1086094Linux2021-09-06T05:35:23Z<p>68.129.223.133: /* Installing Drivers */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Avg. aggr. RAM use<ref group="rs note">Average aggregates of 3 surveys from 2019-21: https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/ ; https://www.ubuntubuzz.com/2019/07/comparison-of-memory-usages-of-ubuntu-1904-and-flavors-in-2019.html ; and https://fedoramagazine.org/fedora-desktops-memory-footprints/</ref> !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 773 MB || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 582 MB || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 929 MB || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 628 MB || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 436 MB || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 562 MB || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 277 MB || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 381 MB || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<references group="rs note" /><br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''Fedora'''<br />
<br />
To install support for Vulkan API (will be functional only if you have a Vulkan capable GPU and driver), execute the following command<br />
<br />
<code>sudo dnf install vulkan-loader vulkan-loader.i686</code><br />
<br />
=====Nvidia=====<br />
First, update (and reboot) your system<br />
<br />
<code>sudo dnf update<br />
<br />
reboot</code><br />
<br />
Next, make sure the official repos are installed<br />
<br />
<code>sudo dnf install fedora-workstation-repositories</code><br />
<br />
Enable the NVIDIA driver repo<br />
<br />
<code>sudo dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver</code><br />
<br />
Reboot again. After the reboot, verify the addition of the repository via the following command<br />
<br />
<code>sudo dnf repository-packages rpmfusion-nonfree-nvidia-driver info</code><br />
<br />
If several NVIDIA drivers are loaded, it was done correctly. Finally, login, connect to the internet, and open the software app. Click Add-ons > Hardware Drivers > NVIDIA Linux Graphics Driver > Install.<br />
<br />
'''OpenSUSE'''<br />
<br />
Please refer to the [https://www.nvidia.com/en-us/drivers/unix/ Nvidia website] to determine which driver best supports your GPU.<br />
There are two Nvidia driver options available in the Nvidia repository - nvidia-glG05 and nvidia-glG04, which refers to the Nvidia 460 series driver and Nvidia 390 series driver respectively<br />
=====Leap=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh 'https://download.nvidia.com/opensuse/leap/$releasever' NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
=====Tumbleweed=====<br />
<br />
Add the Nvidia Repository<br />
<br />
<code>sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA</code><br />
<br />
Install the appropriate driver by running<br />
<br />
<code>sudo zypper in x11-video-nvidiaG05</code> or <code>sudo zypper in x11-video-nvidiaG04</code><br />
<br />
Reboot<br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of them such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1086078Linux2021-09-06T01:03:05Z<p>68.129.223.133: /* Rolling release */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Avg. aggr. RAM use<ref group="rs note">Average aggregates of 3 surveys from 2019-21: https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/ ; https://www.ubuntubuzz.com/2019/07/comparison-of-memory-usages-of-ubuntu-1904-and-flavors-in-2019.html ; and https://fedoramagazine.org/fedora-desktops-memory-footprints/</ref> !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 773 MB || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 582 MB || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 929 MB || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 628 MB || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 436 MB || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 562 MB || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 277 MB || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 381 MB || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<references group="rs note" /><br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of them such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1086023Linux2021-09-05T17:16:33Z<p>68.129.223.133: </p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, i3, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Avg. aggr. RAM use<ref group="rs note">Average aggregates of 3 surveys from 2019-21: https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/ ; https://www.ubuntubuzz.com/2019/07/comparison-of-memory-usages-of-ubuntu-1904-and-flavors-in-2019.html ; and https://fedoramagazine.org/fedora-desktops-memory-footprints/</ref> !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 773 MB || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 582 MB || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 929 MB || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 628 MB || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 436 MB || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 562 MB || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 277 MB || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 381 MB || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<references group="rs note" /><br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of them such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1086022Linux2021-09-05T17:15:14Z<p>68.129.223.133: </p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://archlinux.org/ Arch Linux]''' || Independent || Budgie, Cinnamon, GNOME, KDE Plasma, LXDE, LXQt, MATE, XFCE, SUGAR, Deepin || style="text-align: left;"| Arch linux is a distribution focused on advanced users looking to customize every aspect of their system, offering a huge amount of packages to satisfy all types of users thanks to AUR (Arch linux Repository). Arch linux does not have a graphical installer so its use is not recommended for beginners.<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || Gnome, KDE Plasma, XFCE || style="text-align: left;"| Manjaro is based on Arch linux but unlike Arch's power user approach Manjaro is an extremely user friendly distribution. by default it comes with Nvidia's proprietary drivers which makes it very easy to install. it features the Pamac GUI to install native packages, AUR, Flatpak and Snap in a very simple way.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Avg. aggr. RAM use<ref group="rs note">Average aggregates of 3 surveys from 2019-21: https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/ ; https://www.ubuntubuzz.com/2019/07/comparison-of-memory-usages-of-ubuntu-1904-and-flavors-in-2019.html ; and https://fedoramagazine.org/fedora-desktops-memory-footprints/</ref> !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 773 MB || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 582 MB || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 929 MB || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 628 MB || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 436 MB || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 562 MB || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 277 MB || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 381 MB || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<references group="rs note" /><br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of them such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1084160Linux2021-09-02T05:57:55Z<p>68.129.223.133: Undo revision 1082834 by Vleeth (talk)</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1083745Boneworks2021-09-01T00:18:43Z<p>68.129.223.133: /* Other information */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [[#Mods|Mods]].<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
===Mods===<br />
{{++}} Plethora of mods available at [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
====[https://boneworks.thunderstore.io/package/gnonme/ModThatIsNotMod/ ModThatIsNotMod]====<br />
{{ii}} Required for many mods.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Custom_Maps/ Custom Maps]====<br />
{{ii}} Custom map loader.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Player_Models/ Player Models]====<br />
{{ii}} Player model swapper.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/BetterBottles/ Better Bottles]====<br />
{{ii}} Automatically grab bottles once you break them instead of letting them fall to the ground.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/Better_Flashlight/ Better Flashlight]====<br />
{{ii}} Changes the button to turn the flashlight on and off.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1083744Boneworks2021-09-01T00:18:11Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [[#Mods|Mods]].<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
===Mods===<br />
{{++}} Plethora of mods available at [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
===[https://boneworks.thunderstore.io/package/gnonme/ModThatIsNotMod/ ModThatIsNotMod]===<br />
{{ii}} Required for many mods.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Custom_Maps/ Custom Maps]====<br />
{{ii}} Custom map loader.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Player_Models/ Player Models]====<br />
{{ii}} Player model swapper.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/BetterBottles/ Better Bottles]====<br />
{{ii}} Automatically grab bottles once you break them instead of letting them fall to the ground.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/Better_Flashlight/ Better Flashlight]====<br />
{{ii}} Changes the button to turn the flashlight on and off.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1083743Boneworks2021-09-01T00:17:05Z<p>68.129.223.133: /* Other information */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
===Mods===<br />
{{++}} Plethora of mods available at [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
===[https://boneworks.thunderstore.io/package/gnonme/ModThatIsNotMod/ ModThatIsNotMod]===<br />
{{ii}} Required for many mods.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Custom_Maps/ Custom Maps]====<br />
{{ii}} Custom map loader.<br />
<br />
====[https://boneworks.thunderstore.io/package/Maranara/Player_Models/ Player Models]====<br />
{{ii}} Player model swapper.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/BetterBottles/ Better Bottles]====<br />
{{ii}} Automatically grab bottles once you break them instead of letting them fall to the ground.<br />
<br />
====[https://boneworks.thunderstore.io/package/gnonme/Better_Flashlight/ Better Flashlight]====<br />
{{ii}} Changes the button to turn the flashlight on and off.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1083742Boneworks2021-09-01T00:16:00Z<p>68.129.223.133: /* Other information */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
===Mods===<br />
{{++}} Plethora of mods available at [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
===[https://boneworks.thunderstore.io/package/gnonme/ModThatIsNotMod/ ModThatIsNotMod]===<br />
{{ii}} Required for many mods.<br />
<br />
===[https://boneworks.thunderstore.io/package/Maranara/Custom_Maps/ Custom Maps]===<br />
{{ii}} Custom map loader.<br />
<br />
===[https://boneworks.thunderstore.io/package/Maranara/Player_Models/ Player Models]===<br />
{{ii}} Player model swapper.<br />
<br />
===[https://boneworks.thunderstore.io/package/gnonme/BetterBottles/ Better Bottles]===<br />
{{ii}} Automatically grab bottles once you break them instead of letting them fall to the ground.<br />
<br />
===[https://boneworks.thunderstore.io/package/gnonme/Better_Flashlight/ Better Flashlight]===<br />
{{ii}} Changes the button to turn the flashlight on and off.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Blade_%26_Sorcery&diff=1081198Blade & Sorcery2021-08-27T03:56:20Z<p>68.129.223.133: /* Local Multiplayer */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Blade and Sorcery cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|WarpFrog}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|EA}}<br />
|steam appid = 629730<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|wikipedia = <br />
|winehq = <br />
|license = <br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. <ref>https://www.nexusmods.com/bladeandsorcery</ref><br />
<br />
'''General information'''<br />
{{mm}} [https://steamcommunity.com/app/629730/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Oculus | 2472374902778951 | Oculus | | | Windows }}<br />
{{Availability/row| Steam | 629730 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential improvements==<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1019 Medieval Megapack]===<br />
{{ii}} Adds 200+ Medieval European weapons.<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/4375?tab=description Realistic Blood]===<br />
{{ii}} Adds blood FX to wounds.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|userprofile\Documents}}\My Games\BladeAndSorcery\Saves\Default}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video settings==<br />
{{Image|B&S Performance Options U7.png|Performance Options}}<br />
{{Video settings<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = unknown<br />
|widescreen resolution notes= <br />
|multimonitor = unknown<br />
|multimonitor notes = <br />
|ultrawidescreen = unknown<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = unknown<br />
|fov notes = <br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = false<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input settings==<br />
{{Input settings<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = false<br />
|full controller notes = <br />
|controller remap = false<br />
|controller remap notes = <br />
|controller sensitivity = false<br />
|controller sensitivity notes= <br />
|invert controller y-axis = false<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = false<br />
|tracked motion prompts notes = <br />
|other controllers = false<br />
|other controllers notes = <br />
|other button prompts = false<br />
|other button prompts notes= <br />
|controller hotplug = false<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio settings==<br />
{{Audio settings<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = unknown<br />
|surround sound notes = <br />
|subtitles = n/a<br />
|subtitles notes = <br />
|closed captions = n/a<br />
|closed captions notes = <br />
|mute on focus lost = limited<br />
|mute on focus lost notes = Only when SteamVR dashboard is opened.<br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = n/a<br />
|subtitles = n/a<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = hackable<br />
|local play players = <br />
|local play modes = <br />
|local play notes = See [[Blade_and_Sorcery#Local Multiplayer|Local Multiplayer.]]<br />
|lan play = hackable<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = See [[Blade_and_Sorcery#Johnny.27s_Multiplayer_Beta|Johnny's Multiplayer Beta.]]<br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = See [[Blade_and_Sorcery#Johnny.27s_Multiplayer_Beta|Johnny's Multiplayer Beta.]]<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = false<br />
|p2p notes = <br />
|dedicated = true<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = true<br />
|direct ip notes = <br />
}}<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1756?tab=description Johnny's Multiplayer Beta]===<br />
{{ii}} Let's you play with friends in VR.<br />
{{--}} Only supports U7.<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1405 Local Multiplayer]===<br />
{{ii}} Adds basic local multiplayer support by allowing the PC player to possess NPCs via keyboard/mouse.<br />
<br />
==VR support==<br />
{{VR support<br />
|gg3d name = <br />
|native 3d gg3d award = <br />
|nvidia 3d vision gg3d award = <br />
|tridef 3d gg3d award = <br />
|iz3d gg3d award = <br />
|native 3d = <br />
|native 3d notes = <br />
|nvidia 3d vision = <br />
|nvidia 3d vision notes = <br />
|tridef 3d = <br />
|tridef 3d notes = <br />
|iz3d = <br />
|iz3d notes = <br />
|vr only = true<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = With Steam version, right click and choose {{code|"Launch in Oculus VR Mode"}} to play with native Oculus SDK support.<ref>{{Refurl|url=https://www.reddit.com/r/oculus/wiki/steamgameswithnativesupport|title=steamgameswithnativesupport - /r/oculus|date=2020-01-28}}</ref><br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = <br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = false<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = unknown<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 7<br />
|minCPU = Intel Core i5<br />
|minRAM = 8 GB<br />
|minHD = <br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
<br />
|recOS = 10<br />
|recCPU = Intel Core i7<br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1070<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Blade_%26_Sorcery&diff=1081196Blade & Sorcery2021-08-27T03:55:51Z<p>68.129.223.133: /* Johnny's Multiplayer Beta */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Blade and Sorcery cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|WarpFrog}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|EA}}<br />
|steam appid = 629730<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|wikipedia = <br />
|winehq = <br />
|license = <br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. <ref>https://www.nexusmods.com/bladeandsorcery</ref><br />
<br />
'''General information'''<br />
{{mm}} [https://steamcommunity.com/app/629730/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Oculus | 2472374902778951 | Oculus | | | Windows }}<br />
{{Availability/row| Steam | 629730 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential improvements==<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1019 Medieval Megapack]===<br />
{{ii}} Adds 200+ Medieval European weapons.<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/4375?tab=description Realistic Blood]===<br />
{{ii}} Adds blood FX to wounds.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|userprofile\Documents}}\My Games\BladeAndSorcery\Saves\Default}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video settings==<br />
{{Image|B&S Performance Options U7.png|Performance Options}}<br />
{{Video settings<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = unknown<br />
|widescreen resolution notes= <br />
|multimonitor = unknown<br />
|multimonitor notes = <br />
|ultrawidescreen = unknown<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = unknown<br />
|fov notes = <br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = false<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input settings==<br />
{{Input settings<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = false<br />
|full controller notes = <br />
|controller remap = false<br />
|controller remap notes = <br />
|controller sensitivity = false<br />
|controller sensitivity notes= <br />
|invert controller y-axis = false<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = false<br />
|tracked motion prompts notes = <br />
|other controllers = false<br />
|other controllers notes = <br />
|other button prompts = false<br />
|other button prompts notes= <br />
|controller hotplug = false<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio settings==<br />
{{Audio settings<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = unknown<br />
|surround sound notes = <br />
|subtitles = n/a<br />
|subtitles notes = <br />
|closed captions = n/a<br />
|closed captions notes = <br />
|mute on focus lost = limited<br />
|mute on focus lost notes = Only when SteamVR dashboard is opened.<br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = n/a<br />
|subtitles = n/a<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = hackable<br />
|local play players = <br />
|local play modes = <br />
|local play notes = See [[Blade_and_Sorcery#Local Multiplayer|Local Multiplayer.]]<br />
|lan play = hackable<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = See [[Blade_and_Sorcery#Johnny.27s_Multiplayer_Beta|Johnny's Multiplayer Beta.]]<br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = See [[Blade_and_Sorcery#Johnny.27s_Multiplayer_Beta|Johnny's Multiplayer Beta.]]<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = false<br />
|p2p notes = <br />
|dedicated = true<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = true<br />
|direct ip notes = <br />
}}<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1756?tab=description Johnny's Multiplayer Beta]===<br />
{{ii}} Let's you play with friends in VR.<br />
{{--}} Only supports U7.<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1405 Local Multiplayer]===<br />
{{ii}} Let's one person play in Keyboard and Mouse and the other in VR.<br />
<br />
==VR support==<br />
{{VR support<br />
|gg3d name = <br />
|native 3d gg3d award = <br />
|nvidia 3d vision gg3d award = <br />
|tridef 3d gg3d award = <br />
|iz3d gg3d award = <br />
|native 3d = <br />
|native 3d notes = <br />
|nvidia 3d vision = <br />
|nvidia 3d vision notes = <br />
|tridef 3d = <br />
|tridef 3d notes = <br />
|iz3d = <br />
|iz3d notes = <br />
|vr only = true<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = With Steam version, right click and choose {{code|"Launch in Oculus VR Mode"}} to play with native Oculus SDK support.<ref>{{Refurl|url=https://www.reddit.com/r/oculus/wiki/steamgameswithnativesupport|title=steamgameswithnativesupport - /r/oculus|date=2020-01-28}}</ref><br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = <br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = false<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = unknown<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 7<br />
|minCPU = Intel Core i5<br />
|minRAM = 8 GB<br />
|minHD = <br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
<br />
|recOS = 10<br />
|recCPU = Intel Core i7<br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1070<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Blade_%26_Sorcery&diff=1081195Blade & Sorcery2021-08-27T03:55:10Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Blade and Sorcery cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|WarpFrog}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|EA}}<br />
|steam appid = 629730<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|wikipedia = <br />
|winehq = <br />
|license = <br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. <ref>https://www.nexusmods.com/bladeandsorcery</ref><br />
<br />
'''General information'''<br />
{{mm}} [https://steamcommunity.com/app/629730/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Oculus | 2472374902778951 | Oculus | | | Windows }}<br />
{{Availability/row| Steam | 629730 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential improvements==<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1019 Medieval Megapack]===<br />
{{ii}} Adds 200+ Medieval European weapons.<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/4375?tab=description Realistic Blood]===<br />
{{ii}} Adds blood FX to wounds.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|userprofile\Documents}}\My Games\BladeAndSorcery\Saves\Default}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video settings==<br />
{{Image|B&S Performance Options U7.png|Performance Options}}<br />
{{Video settings<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = unknown<br />
|widescreen resolution notes= <br />
|multimonitor = unknown<br />
|multimonitor notes = <br />
|ultrawidescreen = unknown<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = unknown<br />
|fov notes = <br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = false<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input settings==<br />
{{Input settings<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = false<br />
|full controller notes = <br />
|controller remap = false<br />
|controller remap notes = <br />
|controller sensitivity = false<br />
|controller sensitivity notes= <br />
|invert controller y-axis = false<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = false<br />
|tracked motion prompts notes = <br />
|other controllers = false<br />
|other controllers notes = <br />
|other button prompts = false<br />
|other button prompts notes= <br />
|controller hotplug = false<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio settings==<br />
{{Audio settings<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = unknown<br />
|surround sound notes = <br />
|subtitles = n/a<br />
|subtitles notes = <br />
|closed captions = n/a<br />
|closed captions notes = <br />
|mute on focus lost = limited<br />
|mute on focus lost notes = Only when SteamVR dashboard is opened.<br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = n/a<br />
|subtitles = n/a<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = hackable<br />
|local play players = <br />
|local play modes = <br />
|local play notes = See [[Blade_and_Sorcery#Local Multiplayer|Local Multiplayer.]]<br />
|lan play = hackable<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = See [[Blade_and_Sorcery#Johnny.27s_Multiplayer_Beta|Johnny's Multiplayer Beta.]]<br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = See [[Blade_and_Sorcery#Johnny.27s_Multiplayer_Beta|Johnny's Multiplayer Beta.]]<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = false<br />
|p2p notes = <br />
|dedicated = true<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = true<br />
|direct ip notes = <br />
}}<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1756?tab=description Johnny's Multiplayer Beta]===<br />
{{ii}} Let's you play with friends in VR.<br />
{{--}} Currently doesn't support U8.<br />
<br />
===[https://www.nexusmods.com/bladeandsorcery/mods/1405 Local Multiplayer]===<br />
{{ii}} Let's one person play in Keyboard and Mouse and the other in VR.<br />
<br />
==VR support==<br />
{{VR support<br />
|gg3d name = <br />
|native 3d gg3d award = <br />
|nvidia 3d vision gg3d award = <br />
|tridef 3d gg3d award = <br />
|iz3d gg3d award = <br />
|native 3d = <br />
|native 3d notes = <br />
|nvidia 3d vision = <br />
|nvidia 3d vision notes = <br />
|tridef 3d = <br />
|tridef 3d notes = <br />
|iz3d = <br />
|iz3d notes = <br />
|vr only = true<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = With Steam version, right click and choose {{code|"Launch in Oculus VR Mode"}} to play with native Oculus SDK support.<ref>{{Refurl|url=https://www.reddit.com/r/oculus/wiki/steamgameswithnativesupport|title=steamgameswithnativesupport - /r/oculus|date=2020-01-28}}</ref><br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = <br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = false<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = unknown<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 7<br />
|minCPU = Intel Core i5<br />
|minRAM = 8 GB<br />
|minHD = <br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
<br />
|recOS = 10<br />
|recCPU = Intel Core i7<br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1070<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1080699Boneworks2021-08-26T02:57:10Z<p>68.129.223.133: /* Audio */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1080684Boneworks2021-08-26T01:41:29Z<p>68.129.223.133: /* Audio */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = trUe<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1080238Boneworks2021-08-25T00:13:27Z<p>68.129.223.133: /* Input= */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input=<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1080237Boneworks2021-08-25T00:13:09Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Peripheral_Culling_Fix_for_Wide_FOV_Headsets|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input==<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1080234Boneworks2021-08-25T00:06:56Z<p>68.129.223.133: /* Essential Improvements */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/modes|Singleplayer}}<br />
{{Infobox game/row/taxonomy/pacing|Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives|First-person}}<br />
{{Infobox game/row/taxonomy/controls|Gestures,Point and select }}<br />
{{Infobox game/row/taxonomy/genres|Action, Shooter}}<br />
{{Infobox game/row/taxonomy/art styles|Realistic}}<br />
{{Infobox game/row/taxonomy/themes|Sci-fi}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Universal Unity Culling Fix|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/illusionX3/random-uploads/blob/main/CullFix.dll?raw=true Peripheral Culling Fix for Wide FOV Headsets]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Boneworks_graphics_settings.jpeg|Graphics Options}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
=Input==<br />
{{Input<br />
|key remap = true<br />
|key remap notes = Uses SteamVR Input 2.0, allowing for specific actions to be bound to buttons. Must be configured in SteamVR, there are no in-game remapping options.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = In-game prompts (such as tutorials) will change based on motion controller type, and the controller binding settings in SteamVR.<br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Deathmatch_Classic&diff=1079827Deathmatch Classic2021-08-24T08:27:52Z<p>68.129.223.133: /* Essential improvements */</p>
<hr />
<div>{{Infobox game<br />
|cover = Deathmatch Classic Logo.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Valve Corporation}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|GoldSrc}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|June 1, 2001}}<br />
{{Infobox game/row/date|OS X|March 30, 2013}}<br />
{{Infobox game/row/date|Linux|March 30, 2013}}<br />
|reception = <br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/monetization | }}<br />
{{Infobox game/row/taxonomy/microtransactions | }}<br />
{{Infobox game/row/taxonomy/modes | Multiplayer}}<br />
{{Infobox game/row/taxonomy/pacing | Real-time}}<br />
{{Infobox game/row/taxonomy/perspectives | First-person}}<br />
{{Infobox game/row/taxonomy/controls | Direct control}}<br />
{{Infobox game/row/taxonomy/genres | Action, Shooter}}<br />
{{Infobox game/row/taxonomy/sports | }}<br />
{{Infobox game/row/taxonomy/vehicles | }}<br />
{{Infobox game/row/taxonomy/art styles | Realistic}}<br />
{{Infobox game/row/taxonomy/themes | Fantasy, Sci-fi}}<br />
{{Infobox game/row/taxonomy/series | }}<br />
|steam appid = 40<br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = deathmatch-classic<br />
|wikipedia = Deathmatch Classic<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{--}} There are few working servers left.<br />
{{--}} The player base is extremely small.<br />
<br />
'''General information'''<br />
{{mm}} [https://github.com/ValveSoftware/halflife/issues?labels=&page=1&state=open GitHub Issue Tracker for Deathmatch Classic] and other GoldSrc-based games<br />
{{mm}} [https://steamcommunity.com/app/40/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Retail | | DRM-free | Included for free with updates for Half-Life. | | Windows }}<br />
{{Availability/row| Steam | 40 | Steam | | | Windows, OS X, Linux }}<br />
}}<br />
<br />
==Essential improvements==<br />
===Skip intro videos===<br />
{{Fixbox|description=Use <code>-nointro</code> [[Glossary:Command line arguments|command line argument]]}}<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|game}}\Half-Life\dmc\}}<br />
{{Game data/config|OS X|{{p|game}}/Half-Life/dmc/}}<br />
{{Game data/config|Linux|{{p|game}}/Half-Life/dmc/}}<br />
}}<br />
{{XDG|unknown}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Deathmatch Classic Video.png|In-game video settings.}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= FOV is cropped, see FOV notes<br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = unknown<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = Only with OpenGL renderer. Different renderer will cause game crash.<br />
|fov = hackable<br />
|fov notes = See [[#Field of view (FOV)|Field of view (FOV)]].<br />
|windowed = true<br />
|windowed notes = <br />
|borderless windowed = hackable<br />
|borderless windowed notes = See [[#Borderless fullscreen windowed|Borderless fullscreen windowed]].<br />
|anisotropic = true<br />
|anisotropic notes = Use cvar gl_aniso to configure. Restart required.<br />
|antialiasing = true<br />
|antialiasing notes = MSAA 4x<br />
|vsync = true<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = hackable<br />
|120 fps notes = See [[#High frame rate|High frame rate]].<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
===[[Glossary:Field of view (FOV)|Field of view (FOV)]]===<br />
{{Fixbox|description=Field of view|ref={{cn|date=November 2016}}|fix=<br />
{{ii}} The fov is not automatically adjusted when the 'Display Mode' is changed to 'Widescreen'.<br />
<br />
'''First Method:'''<br />
# While in game, push {{key|~}} to open the developer console. <br />
# Type <code>cl_fov (value)</code> and press {{key|Enter}}.<br />
<br />
'''Second Method:'''<br />
# Alternatively you can also open <code>config.cfg</code> located in <code>{{p|game}}\Half-Life\dmc\cfg\</code>.<br />
# Add the following to the bottom of it.<br />
<br />
'''For 16:10 at 90 FOV:'''<br />
<code>cl_fov 100.39</code><br />
<br />
'''For 16:10 at 120 FOV:'''<br />
<code>cl_fov 128.61</code><br />
<br />
'''For 16:9 at 90 FOV:'''<br />
<code>cl_fov 106.27</code><br />
<br />
'''For 16:9 at 120 FOV:'''<br />
<code>cl_fov 133.17</code><br />
<br />
If the new fov doesn't stick try creating an <code>autoexec.cfg</code>-file in the same folder and adding the line to it.<br />
}}<br />
<br />
===[[Glossary:Borderless fullscreen windowed|Borderless fullscreen windowed]]===<br />
{{Fixbox|description=-window -noborder|ref={{cn|date=July 2016}}|fix=<br />
# Find Deathmatch Classic in your Steam Library<br />
# Right-click the game name<br />
# Select <code>Properties</code><br />
# Select <code>Set Launch Options...</code><br />
# Input <code>-window -noborder</code><br />
# Press <code>OK</code><br />
# Launch the game<br />
}}<br />
<br />
===[[Glossary:Frame rate (FPS)|High frame rate]]===<br />
{{Fixbox|description=Setting FPS higher than 100|ref={{cn|date=November 2016}}|fix=<br />
{{ii}} Increasing the FPS is necessary to make the game seem less choppy without <code>vsync</code> enabled.<br />
<br />
'''First Method:'''<br />
# While in game, push {{key|~}} to open the developer console. <br />
# Type <code>developer 1</code> and press {{key|Enter}}. This enables developer mode, going past the video standards of when TFC was first released.<br />
# Type <code>fps_override 1</code> and press {{key|Enter}}. This enables entering in FPS levels higher than 100.<br />
# Finally type <code>fps_max 200</code> and press {{key|Enter}}. Setting to 200 is recommended, higher values will feel floaty.<br />
<br />
'''Second Method:'''<br />
# Alternatively you can also open <code>autoexec.cfg</code> located in the game folder (see above).<br />
# Add the following to the bottom of it.<br />
<pre>developer 1<br />
fps_override 1<br />
fps_max 200</pre><br />
}}<br />
<br />
==Input==<br />
{{Image|Deathmatch Classic Remapping.png|In-game key map settings.}}<br />
{{Image|Deathmatch Classic Mouse.png|In-game mouse/joystick settings.}}<br />
{{Input<br />
|key remap = true<br />
|key remap notes = <br />
|acceleration option = true<br />
|acceleration option notes = Does not work in Windows 10 Creators Update. See Issues Fixed for a workaround.<br />
|mouse sensitivity = true<br />
|mouse sensitivity notes = <br />
|mouse menu = true<br />
|mouse menu notes = <br />
|invert mouse y-axis = true<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = hackable<br />
|controller support notes = In-game support only allows for single-joystick interaction, and buttons must be bound via console commands.<br />
|full controller = false<br />
|full controller notes = <br />
|controller remap = hackable<br />
|controller remap notes = Can only be done via the <code>bind</code> command in the console.<br />
|controller sensitivity = false<br />
|controller sensitivity notes= <br />
|invert controller y-axis = true<br />
|invert controller y-axis notes= Enable option "Reverse mouse" to invert Joystick Y-axis.<br />
|xinput controllers = unknown<br />
|xinput controllers notes = <br />
|xbox prompts = unknown<br />
|xbox prompts notes = <br />
|impulse triggers = unknown<br />
|impulse triggers notes = <br />
|dualshock 4 = unknown<br />
|dualshock 4 notes = <br />
|dualshock prompts = unknown<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= unknown<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = unknown<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|button prompts = false<br />
|button prompts notes = <br />
|controller hotplug = false<br />
|controller hotplug notes = <br />
|haptic feedback = false<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
}}<br />
<br />
==Audio==<br />
{{Image|Deathmatch Classic Audio.png|In-game audio settings.}}<br />
{{Image|Deathmatch Classic Voice.png|In-game voice settings.}}<br />
{{Audio<br />
|separate volume = true<br />
|separate volume notes = <br />
|surround sound = false<br />
|surround sound notes = Lost with Linux update.<ref>[https://steamcommunity.com/app/70/discussions/0/828934913113943429 Steam HL1 5.1 sound - Steam discussions forums].</ref><br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = true<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = French<br />
|interface = true<br />
|audio = unknown<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = German<br />
|interface = true<br />
|audio = unknown<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Italian<br />
|interface = true<br />
|audio = unknown<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = true<br />
|audio = unknown<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Image|Deathmatch Classic Multiplayer.png|In-game multiplayer settings.}}<br />
{{ii}} For more information, see the [[Engine:GoldSrc#Half-Life Dedicated Server|"Half-Life Dedicated Server" section of our GoldSrc article]].<br />
<br />
{{Network/Multiplayer<br />
|local play = <br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = true<br />
|lan play players = 32<br />
|lan play modes = Versus<br />
|lan play notes = <br />
|online play = true<br />
|online play players = 32<br />
|online play modes = Versus<br />
|online play notes = <br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = true<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = hackable<br />
|direct ip notes = Open the console ({{key|~}}) and use <code>connect [IP address here]</code>.<br />
}}<br />
<br />
{{Network/Ports<br />
|tcp = <br />
|udp = 6003, 7002, 27010, 27015, 27025<br />
|upnp = unknown<br />
}}<br />
<br />
==Issues fixed==<br />
===Broken mouselook on Windows 10 Creators Update===<br />
{{ii}} Toggle raw mouse input ON in mouse options.<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 7<br />
|direct3d notes = Lost with Linux update.<ref>[https://steamcommunity.com/app/70/discussions/0/828934913113943429 Steam HL1 5.1 sound - Steam discussions forums].</ref><br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = 2.1<br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = true<br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = false<br />
|windows exe notes = <br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = true<br />
|macos intel 64-bit app = false<br />
|macos app notes = <br />
|linux 32-bit executable= true<br />
|linux 64-bit executable= false<br />
|linux executable notes = <br />
}}<br />
<br />
===Middleware===<br />
{{Middleware<br />
|physics = <br />
|physics notes = <br />
|audio = Miles Sound System<br />
|audio notes = <br />
|interface = <br />
|interface notes = <br />
|cutscenes = <br />
|cutscenes notes = <br />
|multiplayer = WON, Steamworks<br />
|multiplayer notes= WON for retail version, Steamworks for Steam version.<br />
}}<br />
<br />
===Console commands===<br />
{{ii}} Games running on the GoldSrc engine can utilize [https://developer.valvesoftware.com/wiki/Command_Line_Options#Goldsource_Games GoldSrc Engine Console Commands] for various tasks.<br />
{{ii}} The console is enabled by default in GoldSrc games, press {{key|~}} to open it.<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = XP<br />
|minCPU = 500 MHz<br />
|minRAM = 96 MB<br />
|minHD = 4 GB<br />
|minVRAM = 16 MB<br />
<br />
|recCPU = 800 MHz<br />
|recRAM = 128 MB<br />
|recVRAM = 32 MB<br />
}}<br />
<br />
{{System requirements<br />
|OSfamily = OS X<br />
<br />
|minOS = Snow Leopard 10.6.3<br />
|minCPU = 500 MHz<br />
|minRAM = 1 GB<br />
|minHD = 4 GB<br />
|minGPU = Nvidia GeForce 8000 series<br />
|minGPU2 = ATI Radeon X1600<br />
|minGPU3 = Intel HD 3000<br />
}}<br />
<br />
{{System requirements<br />
|OSfamily = Linux<br />
<br />
|minOS = Ubuntu 12.04<br />
|minCPU = Dual-core from Intel at 2.8 GHz<br />
|minCPU2 =Dual-core from AMD at 2.8 GHz<br />
|minRAM = 1 GB<br />
|minHD = 4 GB<br />
|minGPU = Nvidia GeForce 8600/9600GT<br />
|minGPU2 = ATI/AMD Radeon HD2600/3600<br />
|minOGL = 2.0<br />
|minaudio = OpenAL Compatible Sound Card<br />
|minother = (Graphic Drivers: Nvidia 310, AMD 12.11)<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Higurashi_When_They_Cry_Hou_-_Ch.2_Watanagashi&diff=1079713Higurashi When They Cry Hou - Ch.2 Watanagashi2021-08-23T19:55:56Z<p>68.129.223.133: /* Essential improvements */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Higurashi When They Cry Hou - Ch.2 Watanagashi cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|07th Expansion}}<br />
|publishers = <br />
{{Infobox game/row/publisher|MangaGamer}}<br />
|engines = <br />
{{Infobox game/row/engine|Unity|name=Unity 5|ref=<ref name="engineversion">{{Refcheck|user=Vetle|date=2017-06-30}}</ref>|build=5.2.2f1}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|November 13, 2015}}<br />
{{Infobox game/row/date|OS X|November 13, 2015|ref={{cn|reason=Might be incorrect.|date=September 2016}}}}<br />
{{Infobox game/row/date|Linux|November 13, 2015|ref={{cn|reason=Might be incorrect.|date=September 2016}}}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/monetization | }}<br />
{{Infobox game/row/taxonomy/microtransactions | }}<br />
{{Infobox game/row/taxonomy/modes | Singleplayer }}<br />
{{Infobox game/row/taxonomy/pacing | }}<br />
{{Infobox game/row/taxonomy/perspectives | First-person }}<br />
{{Infobox game/row/taxonomy/controls | }}<br />
{{Infobox game/row/taxonomy/genres | Visual novel }}<br />
{{Infobox game/row/taxonomy/art styles | Anime }}<br />
{{Infobox game/row/taxonomy/themes | Detective/mystery, Horror }}<br />
{{Infobox game/row/taxonomy/series | Higurashi }} <br />
|steam appid = 410890<br />
|steam appid side = <br />
|gogcom id = 1387720706<br />
|strategywiki = <br />
|wikipedia = Higurashi When They Cry<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''General information'''<br />
{{mm}} [https://vndb.org/v67 Visual Novel Database article]<br />
{{GOG.com links|1387720706|higurashi_when_they_cry_hou_series|for game series}}<br />
{{mm}} [https://steamcommunity.com/app/410890/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| 1=Publisher | 2=http://www.mangagamer.com/detail.php?goods_type=0&product_code=154 | 3=DRM-free | 4=NSFW store. | 5= | 6=Windows, OS X, Linux }}<br />
{{Availability/row| GOG.com | higurashi_when_they_cry_hou_ch2_watanagashi | DRM-free | | | Windows, OS X, Linux }}<br />
{{Availability/row| Steam | 410890 | Steam | | | Windows, OS X, Linux }}<br />
}}<br />
<br />
==Essential improvements==<br />
===[https://07th-mod.com/wiki/Higurashi/Higurashi-Getting-started/ 07th-Mod]===<br />
{{ii}} Adds the voice acting, graphics, and other features exclusive to the PS3 version of the game. Can restore music tracks that were changed in the April 2019 update.<br />
{{--}} Save files from the unpatched version or previous patched versions do not always work properly.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|appdata}}\Mangagamer\higurashi02}}<br />
{{Game data/config|OS X|}}<br />
{{Game data/config|Linux|}}<br />
}}<br />
{{XDG|unknown}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|appdata}}\Mangagamer\higurashi02}}<br />
{{Game data/saves|OS X|}}<br />
{{Game data/saves|Linux|}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = true<br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = hackable<br />
|widescreen resolution notes= [[#PS3 Voices and Graphics Patch|PS3 patch]] makes the game 16:9.<br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = false<br />
|4k ultra hd notes = Unpatched, backgrounds are 480p and sprites are up to 960p. [[#PS3 Voices and Graphics Patch|PS3 patch]] backgrounds are 1080p and sprites are 1440p.<br />
|fov = n/a<br />
|fov notes = <br />
|windowed = true<br />
|windowed notes = <br />
|borderless windowed = true<br />
|borderless windowed notes = Labeled as "Fullscreen".<br />
|anisotropic = n/a<br />
|anisotropic notes = <br />
|antialiasing = n/a<br />
|antialiasing notes = <br />
|vsync = always on<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Runs at screen refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = true<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = unknown<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = true<br />
|separate volume notes = BGM and Sound.<br />
|surround sound = false<br />
|surround sound notes = <br />
|subtitles = n/a<br />
|subtitles notes = <br />
|closed captions = n/a<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = Disabled by default.<br />
|eax support = unknown<br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = n/a<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Japanese<br />
|interface = true<br />
|audio = n/a<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = hackable<br />
|audio = false<br />
|subtitles = hackable<br />
|notes = [https://steamcommunity.com/sharedfiles/filedetails/?id=556903367 Fan translation by «-07- & tr1ton»]<br />
|fan = true<br />
}}<br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 11<br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = false<br />
|windows exe notes = <br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = unknown<br />
|macos intel 64-bit app = unknown<br />
|macos app notes = <br />
|linux 32-bit executable= unknown<br />
|linux 64-bit executable= unknown<br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 7<br />
|minCPU = Intel Pentium III 800.0 MHz<br />
|minRAM = 512 MB<br />
|minHD = 500 MB<br />
|minGPU = OpenGL Compatible Card<br />
|minDX = 9.0<br />
<br />
|recOS = <br />
|recCPU = Intel Pentium 4 1.4 GHz<br />
|recRAM = 1 GB<br />
|recHD = <br />
|recGPU = DirectX or OpenGL Compatible Card<br />
|recDX = <br />
}}<br />
<br />
{{System requirements<br />
|OSfamily = OS X<br />
<br />
|minOS = 10.8 Mountain Lion<br />
|minCPU = 1 GHz or faster processor<br />
|minRAM = 512 MB<br />
|minHD = 500 MB<br />
|minGPU = <br />
<br />
|recOS = <br />
|recCPU = <br />
|recRAM = 1 GB<br />
|recHD = <br />
|recGPU = <br />
}}<br />
<br />
{{System requirements<br />
|OSfamily = Linux<br />
<br />
|minOS = Ubuntu or equivalent<br />
|minCPU = 1 GHz or faster processor<br />
|minRAM = <br />
|minHD = 512 MB<br />
|minGPU = <br />
<br />
|recOS = <br />
|recCPU = <br />
|recRAM = <br />
|recHD = 1 GB<br />
|recGPU = <br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Higurashi_When_They_Cry_Hou_-_Ch.1_Onikakushi&diff=1079712Higurashi When They Cry Hou - Ch.1 Onikakushi2021-08-23T19:55:27Z<p>68.129.223.133: /* Essential improvements */</p>
<hr />
<div>{{Infobox game<br />
|cover = Higurashi When They Cry Hou - Ch.1 Onikakushi cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|07th Expansion}}<br />
|publishers = <br />
{{Infobox game/row/publisher|MangaGamer}}<br />
|engines = <br />
{{Infobox game/row/engine|Unity|name=Unity 5|ref=<ref name="engineversion">{{Refcheck|user=Vetle|date=2017-05-25}}</ref>|build=5.2.2f1}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|May 15, 2015}}<br />
{{Infobox game/row/date|OS X|May 15, 2015}}<br />
{{Infobox game/row/date|Linux|May 15, 2015}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/monetization | }}<br />
{{Infobox game/row/taxonomy/microtransactions | }}<br />
{{Infobox game/row/taxonomy/modes | Singleplayer }}<br />
{{Infobox game/row/taxonomy/pacing | }}<br />
{{Infobox game/row/taxonomy/perspectives | First-person }}<br />
{{Infobox game/row/taxonomy/controls | }}<br />
{{Infobox game/row/taxonomy/genres | Visual novel }}<br />
{{Infobox game/row/taxonomy/art styles | Anime }}<br />
{{Infobox game/row/taxonomy/themes | Detective/mystery, Horror }}<br />
{{Infobox game/row/taxonomy/series | Higurashi }} <br />
|steam appid = 310360<br />
|gogcom id = 1532671653<br />
|hltb = 26829<br />
|igdb = higurashi-when-they-cry-hou-ch-dot-1-onikakushi<br />
|strategywiki = <br />
|mobygames = higurashi-when-they-cry-ch1-onikakushi<br />
|wikipedia = Higurashi When They Cry<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''General information'''<br />
{{mm}} [https://vndb.org/v67 Visual Novel Database article]<br />
{{GOG.com links|1532671653|higurashi_when_they_cry_hou_series|for game series}}<br />
{{mm}} [https://steamcommunity.com/app/310360/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| 1=Publisher | 2=http://www.mangagamer.com/detail.php?goods_type=0&product_code=132 | 3=DRM-free | 4=NSFW store. | 5= | 6=Windows, OS X, Linux }}<br />
{{Availability/row| GOG.com | higurashi_when_they_cry_hou_ch1_onikakushi | DRM-free | | | Windows, OS X, Linux }}<br />
{{Availability/row| Steam | 310360 | Steam | | | Windows, OS X, Linux }}<br />
}}<br />
<br />
==Essential improvements==<br />
===[https://07th-mod.com/wiki/Higurashi/Higurashi-Getting-started/ 07th-Mod]===<br />
{{ii}} Adds the voice acting, graphics, and other features exclusive to the PS3 version of the game. Can restore music tracks that were changed in the April 2019 update.<br />
{{--}} Save files from the unpatched version or previous patched versions do not always work properly.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|hkcu}}\Software\Mangagamer\Higurashi When They Cry - Ch.1 Onikakushi}}<br />
{{Game data/config|OS X|}}<br />
{{Game data/config|Linux|~/.config/unity3d/MangaGamer/Higurashi When They Cry - Ch.1 Onikakushi}}<br />
}}<br />
{{XDG|unknown}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|appdata}}\Mangagamer\higurashi01}}<br />
{{Game data/saves|OS X|}}<br />
{{Game data/saves|Linux|}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = true<br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Higurashi Chapter 1 Settings.png|In-game general settings.}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = hackable<br />
|widescreen resolution notes= [[#PS3 Voices and Graphics Patch|PS3 patch]] makes the game 16:9.<br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = false<br />
|4k ultra hd notes = Unpatched, backgrounds are 480p and sprites are up to 960p. [[#PS3 Voices and Graphics Patch|PS3 patch]] backgrounds are 1080p and sprites are 1440p.<br />
|fov = n/a<br />
|fov notes = <br />
|windowed = true<br />
|windowed notes = <br />
|borderless windowed = true<br />
|borderless windowed notes = Labeled as "Fullscreen".<br />
|anisotropic = n/a<br />
|anisotropic notes = <br />
|antialiasing = n/a<br />
|antialiasing notes = <br />
|vsync = always on<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Runs at screen refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = true<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = unknown<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = true<br />
|separate volume notes = BGM and Sound.<br />
|surround sound = false<br />
|surround sound notes = <br />
|subtitles = n/a<br />
|subtitles notes = <br />
|closed captions = n/a<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = Disabled by default.<br />
|eax support = unknown<br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Japanese<br />
|interface = true<br />
|audio = hackable<br />
|subtitles = true<br />
|notes = [[#PS3 Voices and Graphics Patch|PS3 patch]] adds voice acting from the PS3 version.<br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = hackable<br />
|audio = false<br />
|subtitles = hackable<br />
|notes = [https://steamcommunity.com/sharedfiles/filedetails/?id=478592411 Fan translation by «-07- & tr1ton»]<br />
|fan = true<br />
}}<br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 11<br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = false<br />
|windows exe notes = <br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = unknown<br />
|macos intel 64-bit app = unknown<br />
|macos app notes = <br />
|linux 32-bit executable= unknown<br />
|linux 64-bit executable= unknown<br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = XP<br />
|minCPU = Intel Pentium III 800 MHz<br />
|minRAM = 512 MB<br />
|minHD = 500 MB<br />
|minGPU = <br />
|minDX = 9<br />
<br />
|recOS = Vista, 7, 8<br />
|recCPU = Intel Pentium 4 1.4 GHz<br />
|recRAM = 1 GB<br />
|recHD = <br />
|recGPU = <br />
|recDX = <br />
}}<br />
<br />
{{References}}<br />
[[Category:GOG.com Enhancement Project]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Higurashi_When_They_Cry_Hou_-_Ch.1_Onikakushi&diff=1079711Higurashi When They Cry Hou - Ch.1 Onikakushi2021-08-23T19:54:31Z<p>68.129.223.133: /* Essential improvements */</p>
<hr />
<div>{{Infobox game<br />
|cover = Higurashi When They Cry Hou - Ch.1 Onikakushi cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|07th Expansion}}<br />
|publishers = <br />
{{Infobox game/row/publisher|MangaGamer}}<br />
|engines = <br />
{{Infobox game/row/engine|Unity|name=Unity 5|ref=<ref name="engineversion">{{Refcheck|user=Vetle|date=2017-05-25}}</ref>|build=5.2.2f1}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|May 15, 2015}}<br />
{{Infobox game/row/date|OS X|May 15, 2015}}<br />
{{Infobox game/row/date|Linux|May 15, 2015}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/monetization | }}<br />
{{Infobox game/row/taxonomy/microtransactions | }}<br />
{{Infobox game/row/taxonomy/modes | Singleplayer }}<br />
{{Infobox game/row/taxonomy/pacing | }}<br />
{{Infobox game/row/taxonomy/perspectives | First-person }}<br />
{{Infobox game/row/taxonomy/controls | }}<br />
{{Infobox game/row/taxonomy/genres | Visual novel }}<br />
{{Infobox game/row/taxonomy/art styles | Anime }}<br />
{{Infobox game/row/taxonomy/themes | Detective/mystery, Horror }}<br />
{{Infobox game/row/taxonomy/series | Higurashi }} <br />
|steam appid = 310360<br />
|gogcom id = 1532671653<br />
|hltb = 26829<br />
|igdb = higurashi-when-they-cry-hou-ch-dot-1-onikakushi<br />
|strategywiki = <br />
|mobygames = higurashi-when-they-cry-ch1-onikakushi<br />
|wikipedia = Higurashi When They Cry<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''General information'''<br />
{{mm}} [https://vndb.org/v67 Visual Novel Database article]<br />
{{GOG.com links|1532671653|higurashi_when_they_cry_hou_series|for game series}}<br />
{{mm}} [https://steamcommunity.com/app/310360/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| 1=Publisher | 2=http://www.mangagamer.com/detail.php?goods_type=0&product_code=132 | 3=DRM-free | 4=NSFW store. | 5= | 6=Windows, OS X, Linux }}<br />
{{Availability/row| GOG.com | higurashi_when_they_cry_hou_ch1_onikakushi | DRM-free | | | Windows, OS X, Linux }}<br />
{{Availability/row| Steam | 310360 | Steam | | | Windows, OS X, Linux }}<br />
}}<br />
<br />
==Essential improvements==<br />
===[https://07th-mod.com/wiki/Higurashi/Higurashi-Getting-started/ PS3 Voices and Graphics Patch]===<br />
{{ii}} Adds the voice acting, graphics, and other features exclusive to the PS3 version of the game. Can restore music tracks that were changed in the April 2019 update.<br />
{{--}} Save files from the unpatched version or previous patched versions do not always work properly.<br />
}}<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|hkcu}}\Software\Mangagamer\Higurashi When They Cry - Ch.1 Onikakushi}}<br />
{{Game data/config|OS X|}}<br />
{{Game data/config|Linux|~/.config/unity3d/MangaGamer/Higurashi When They Cry - Ch.1 Onikakushi}}<br />
}}<br />
{{XDG|unknown}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|appdata}}\Mangagamer\higurashi01}}<br />
{{Game data/saves|OS X|}}<br />
{{Game data/saves|Linux|}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = true<br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Higurashi Chapter 1 Settings.png|In-game general settings.}}<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = hackable<br />
|widescreen resolution notes= [[#PS3 Voices and Graphics Patch|PS3 patch]] makes the game 16:9.<br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = false<br />
|4k ultra hd notes = Unpatched, backgrounds are 480p and sprites are up to 960p. [[#PS3 Voices and Graphics Patch|PS3 patch]] backgrounds are 1080p and sprites are 1440p.<br />
|fov = n/a<br />
|fov notes = <br />
|windowed = true<br />
|windowed notes = <br />
|borderless windowed = true<br />
|borderless windowed notes = Labeled as "Fullscreen".<br />
|anisotropic = n/a<br />
|anisotropic notes = <br />
|antialiasing = n/a<br />
|antialiasing notes = <br />
|vsync = always on<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Runs at screen refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = true<br />
|mouse menu notes = <br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = unknown<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = true<br />
|separate volume notes = BGM and Sound.<br />
|surround sound = false<br />
|surround sound notes = <br />
|subtitles = n/a<br />
|subtitles notes = <br />
|closed captions = n/a<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = Disabled by default.<br />
|eax support = unknown<br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Japanese<br />
|interface = true<br />
|audio = hackable<br />
|subtitles = true<br />
|notes = [[#PS3 Voices and Graphics Patch|PS3 patch]] adds voice acting from the PS3 version.<br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = hackable<br />
|audio = false<br />
|subtitles = hackable<br />
|notes = [https://steamcommunity.com/sharedfiles/filedetails/?id=478592411 Fan translation by «-07- & tr1ton»]<br />
|fan = true<br />
}}<br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 11<br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = false<br />
|windows exe notes = <br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = unknown<br />
|macos intel 64-bit app = unknown<br />
|macos app notes = <br />
|linux 32-bit executable= unknown<br />
|linux 64-bit executable= unknown<br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = XP<br />
|minCPU = Intel Pentium III 800 MHz<br />
|minRAM = 512 MB<br />
|minHD = 500 MB<br />
|minGPU = <br />
|minDX = 9<br />
<br />
|recOS = Vista, 7, 8<br />
|recCPU = Intel Pentium 4 1.4 GHz<br />
|recRAM = 1 GB<br />
|recHD = <br />
|recGPU = <br />
|recDX = <br />
}}<br />
<br />
{{References}}<br />
[[Category:GOG.com Enhancement Project]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1079154Boneworks2021-08-22T09:14:56Z<p>68.129.223.133: /* Video */</p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Universal Unity Culling Fix|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/dmel642/UnityCullingFix/tree/master/Version2 Universal Unity Culling Fix]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]].<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1079153Boneworks2021-08-22T09:04:32Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://boneworks.thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Universal Unity Culling Fix|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/dmel642/UnityCullingFix/tree/master/Version2 Universal Unity Culling Fix]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = [[MSAA]] only.<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1079152Boneworks2021-08-22T08:59:09Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheArchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Universal Unity Culling Fix|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/dmel642/UnityCullingFix/tree/master/Version2 Universal Unity Culling Fix]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = [[MSAA]] only.<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1079151Boneworks2021-08-22T08:56:27Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://thunderstore.io/ Thunderstore] and [https://drive.google.com/drive/folders/1RiYQACXZR2u_NnL0Te7kUOIfCOcmx2JN TheAchive].{{note|TheArchive is meant to be an archive of mods that were on the now gone BoneTome.com, some mods for Boneworks aren't on Thunderstore. However, if a mod is on Thunderstore, get it from there. Only get mods from TheArchive when they aren't available on Thunderstore.}}<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Universal Unity Culling Fix|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/dmel642/UnityCullingFix/tree/master/Version2 Universal Unity Culling Fix]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = [[MSAA]] only.<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Boneworks&diff=1079148Boneworks2021-08-22T07:54:33Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox game<br />
|cover = Boneworks cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Stress Level Zero}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Unity}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|10.12.2019}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|boneworks|72}}<br />
{{Infobox game/row/reception|OpenCritic|8726/boneworks|}}<br />
{{Infobox game/row/reception|IGDB|boneworks|}}<br />
|steam appid = 823500<br />
|steam appid side = <br />
|gogcom id = <br />
|strategywiki = <br />
|mobygames = boneworks<br />
|hltb = 69535<br />
|wikipedia = Boneworks<br />
|winehq = <br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Active modding community. See [https://thunderstore.io/ Thunderstore].<br />
{{--}} High FOV headsets such as the StarVR One and Pimax Headsets experience objects popping in and out that happens in the peripheral vision. This can be fixed with using [[#Universal Unity Culling Fix|a mod]].<br />
<br />
'''General information'''<br />
<br />
Boneworks is a physics-based virtual reality first-person shooter developed by Stress Level Zero, the same studio that developed [[Duck Season]] and [[Hover Junkers]].<br />
{{mm}} [https://steamcommunity.com/app/823500/discussions/ Steam Community Discussions]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Humble | boneworks | Steam | | | Windows }}<br />
{{Availability/row| Oculus| 2385436581584047 | Oculus| | | Windows }}<br />
{{Availability/row| Steam | 823500 | Steam | | | Windows }}<br />
}}<br />
<br />
==Essential Improvements==<br />
===[https://melonwiki.xyz/#/ MelonLoader]===<br />
{{ii}} Required mod loader.<br />
<br />
===[https://github.com/dmel642/UnityCullingFix/tree/master/Version2 Universal Unity Culling Fix]===<br />
{{ii}} Fixes the culling/objects popping in & out issue that occurs in the peripheral vision on wide FOV headsets such as Pimax and the StarVR One.<br />
<br />
===[https://boneworks.thunderstore.io/package/Lakatrazz/PhysicsTickFixer/ PhysicsTickFixer]===<br />
{{ii}} Fixes the physics setting in graphics options.<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{p|USERPROFILE}}\AppData\LocalLow\Stress Level Zero\BONEWORKS}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = false<br />
|steam cloud notes = <br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = false<br />
|multimonitor notes = <br />
|ultrawidescreen = false<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = true<br />
|fov notes = Field of view is dependent on headset.<br />
|windowed = unknown<br />
|windowed notes = <br />
|borderless windowed = unknown<br />
|borderless windowed notes = <br />
|anisotropic = unknown<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = [[MSAA]] only.<br />
|vsync = false<br />
|vsync notes = <br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Frame rate is capped at headset's refresh rate.<br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
<br />
==Input==<br />
{{Input<br />
|key remap = false<br />
|key remap notes = <br />
|acceleration option = false<br />
|acceleration option notes = <br />
|mouse sensitivity = false<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = <br />
|invert mouse y-axis = false<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = false<br />
|controller support notes = <br />
|full controller = unknown<br />
|full controller notes = <br />
|controller remap = unknown<br />
|controller remap notes = <br />
|controller sensitivity = unknown<br />
|controller sensitivity notes= <br />
|invert controller y-axis = unknown<br />
|invert controller y-axis notes= <br />
|xinput controllers = false<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = <br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = false<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = <br />
|light bar support = unknown<br />
|light bar support notes = <br />
|dualshock 4 modes = false<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = <br />
|other controllers = unknown<br />
|other controllers notes = <br />
|other button prompts = unknown<br />
|other button prompts notes= <br />
|controller hotplug = unknown<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = unknown<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = unknown<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Audio<br />
|separate volume = unknown<br />
|separate volume notes = <br />
|surround sound = true<br />
|surround sound notes = <br />
|subtitles = false<br />
|subtitles notes = <br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = false<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = false<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = <br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = Use [https://boneworks.thunderstore.io/package/MPModTeam/Boneworks_MP/ Multiplayer Mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = false<br />
|direct ip notes = <br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|vr only = true<br />
|valve index = true<br />
|valve index notes =<br />
|htc vive = true<br />
|htc vive notes = <br />
|oculus rift = true<br />
|oculus rift notes = Purchasable on Steam & Oculus Store<br />
|osvr = false<br />
|osvr notes = <br />
|windows mixed reality = true<br />
|windows mixed reality notes = Through SteamVR.<br />
|keyboard-mouse = false<br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = true<br />
|play area seated notes = <br />
|play area standing = true<br />
|play area standing notes = <br />
|play area room-scale = true<br />
|play area room-scale notes = <br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = <br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|opengl versions = <br />
|opengl notes = <br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = false<br />
|windows 64-bit exe = true<br />
|windows exe notes = <br />
|macos 32-bit app = <br />
|macos 64-bit app = <br />
|macos app notes = <br />
|linux 32-bit executable= <br />
|linux 64-bit executable= <br />
|linux executable notes = <br />
}}<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
<br />
|minOS = 10<br />
|minCPU = 3.0 GHz Quad Core<br />
|minRAM = 8 GB<br />
|minHD = 20 GB<br />
|minGPU = Nvidia GeForce GTX 970 / GTX 1060<br />
|minDX = 11<br />
<br />
|recOS = <br />
|recCPU = Intel Core i7-7700K <br />
|recRAM = 16 GB<br />
|recHD = <br />
|recGPU = Nvidia GeForce GTX 1080 / RTX 2060 Super<br />
}}<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1078539Linux2021-08-19T06:43:17Z<p>68.129.223.133: /* List of 3rd-party repositories */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====Installing Drivers====<br />
'''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1078538Linux2021-08-19T06:34:06Z<p>68.129.223.133: /* Rolling release */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1078537Linux2021-08-19T06:26:50Z<p>68.129.223.133: https://gist.github.com/illusionX3/e82c5f76ed422e88ec28b605a86269ec</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. It is almost as user friendly as Ubuntu, but with the advantage of more up to date packages and better upgrade between versions. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Cinnamon, GNOME, i3, KDE Plasma, LXQt, MATE, Xfce || style="text-align: left;"| EndeavourOS is the successor to Antergos, and is based off Arch Linux and can utilize the Arch User Repository, offering a huge amount of packages to satisfy all types of users. It is extremely similar to Vanilla Arch apart from having an additional repo with a handful of useful scripts and utilities, and a much easier way of installing compared to Arch.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Super_Mario_64&diff=1078517Super Mario 642021-08-19T03:19:55Z<p>68.129.223.133: /* Source Ports */</p>
<hr />
<div>{{cleanup|Available options, config location, and features vary between ports, but this page inappropriately lumps them all together as one.}}<br />
{{Infobox game<br />
|cover = Super Mario 64 cover.png<br />
|developers = <br />
{{Infobox game/row/developer|Nintendo}}<br />
|publishers = <br />
|engines = <br />
|release dates= <br />
{{Infobox game/row/date|Windows|May 2, 2020}}<br />
{{Infobox game/row/date|Linux|May 5, 2020}}<br />
{{Infobox game/row/date|OS X|June 1, 2020}}<br />
|reception = <br />
{{Infobox game/row/reception|IGDB|super-mario-64|}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/perspectives | Third-person }}<br />
{{Infobox game/row/taxonomy/controls | Direct control }}<br />
{{Infobox game/row/taxonomy/genres | Platform }}<br />
{{Infobox game/row/taxonomy/series|Mario}}<br />
|steam appid = <br />
|steam appid side = <br />
|gogcom id = <br />
|gogcom id side = <br />
|official site= <br />
|winehq = <br />
|hltb = 9364<br />
|igdb = super-mario-64<br />
|strategywiki = Super Mario 64<br />
|mobygames = super-mario-64<br />
|wikipedia = Super Mario 64<br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{ii}} Unofficial port of the Nintendo 64 game with native support for widescreen & 4K.<br />
<br />
==Availability==<br />
{{ii}} Precompiled versions are not easily available due to DMCA takedowns by Nintendo. To play it legally, the game must be compiled using a legitimate ROM and the decompiled source code; see [https://sm64pc.info/ Super Mario 64 PC Port Central] for instructions and tools to compile it.<br />
{{ii}} Compilation requires the ROM be encoded in big endian ({{code|.z64}}) format. To convert a ROM using little endian ({{code|.n64}}) or byte-swapped ({{code|.v64}}) encoding to big endian, use [https://www.zophar.net/utilities/n64aud/tool-n64.html Tool64] or ucon64.<br />
<br />
==Essential Improvements==<br />
<br />
===Source Ports===<br />
{{ii}} These can be installed with the programs from the [https://sm64pc.info/ Super Mario 64 PC Port Central] website.<br />
* [https://github.com/sm64pc/sm64ex sm64ex] - sm64ex is a fork of the original SM64-port, that includes a 60fps patch that can be applied before build and offers optional enhancements as make options, such as a better camera, no drawing distance, texture fixes, and support for external resouces such as texture and sound changes, although can still be made completely vanilla, it also includes an in-game options menu that includes controller configuration and an optional cheats menu, and can support older machines and OS with SDL 1.2 or OpenGL 1.1 build options, although there are other enhanced forks such as sm64nx, you generally want to use ex, as it has the most patches and most other mods such as co-op are forks of sm64ex.<br />
<br />
===Patches===<br />
{{ii}} These can be installed with the programs from the [https://sm64pc.info/ Super Mario 64 PC Port Central] website.<br />
* 60 FPS - Patch for sm64ex which interpolates the game logic from 30 FPS to 60 FPS.<br />
* 3D Coins V2 - Makes coins 3D. <!-- Should this really be here? Not particularly objectively essential --><br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{P|game}}\sm64config.txt}}<br />
{{Game data/config|OS X|}}<br />
{{Game data/config|Linux|}}<br />
}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Windows|{{P|game}}\sm64_save_file.bin}}<br />
{{Game data/saves|OS X|}}<br />
{{Game data/saves|Linux|}}<br />
}}<br />
<br />
==Video==<br />
{{Video<br />
|wsgf link = <br />
|widescreen wsgf award = <br />
|multimonitor wsgf award = <br />
|ultrawidescreen wsgf award = <br />
|4k ultra hd wsgf award = <br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = unknown<br />
|multimonitor notes = <br />
|ultrawidescreen = true<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = <br />
|fov = false<br />
|fov notes = <br />
|windowed = true<br />
|windowed notes = By default. Freely resizeable.<br/>Toggle to fullscreen with {{key|alt|enter}} or by editing [[#Game data|configuration file.]]<br />
|borderless windowed = hackable<br />
|borderless windowed notes = Use [[Glossary:Borderless fullscreen windowed#Borderless Gaming|Borderless Gaming]].<br />
|anisotropic = true<br />
|anisotropic notes = <br />
|antialiasing = true<br />
|antialiasing notes = <br />
|vsync = true<br />
|vsync notes = <br />
|60 fps = hackable<br />
|60 fps notes = See [[Super_Mario_64#Essential_Improvements|Essential Improvements.]]<br />
|120 fps = false<br />
|120 fps notes = Game's speed is bound to frame rate.<br />
|hdr = false<br />
|ray tracing = hackable<br />
|ray tracing notes = See [[Super_Mario_64#sm64rt|sm64rt]].<br />
|hdr notes = <br />
|color blind = false<br />
|color blind notes = <br />
}}<br />
<br />
===[https://github.com/DarioSamo/sm64rt sm64rt]===<br />
{{ii}} Can be built with any of the programs on [https://sm64pc.info/ Super Mario 64 PC Port Central].<br />
<br />
==Input==<br />
{{Input<br />
|key remap = limited<br />
|key remap notes = Some keys cannot be mapped to, such as {{key|ctrl}}, {{key|alt}}, or {{key|shift}}.<br />
|acceleration option = n/a<br />
|acceleration option notes = <br />
|mouse sensitivity = n/a<br />
|mouse sensitivity notes = <br />
|mouse menu = false<br />
|mouse menu notes = No mouse support.<br />
|invert mouse y-axis = n/a<br />
|invert mouse y-axis notes = <br />
|touchscreen = false<br />
|touchscreen notes = <br />
|controller support = true<br />
|controller support notes = <br />
|full controller = true<br />
|full controller notes = Cursor stays in the middle of the screen.<br />
|controller remap = true<br />
|controller remap notes = <br />
|controller sensitivity = false<br />
|controller sensitivity notes= <br />
|invert controller y-axis = false<br />
|invert controller y-axis notes= <br />
|xinput controllers = true<br />
|xinput controllers notes = <br />
|xbox prompts = false<br />
|xbox prompts notes = Prompts are for Nintendo 64 controller.<br />
|impulse triggers = false<br />
|impulse triggers notes = <br />
|dualshock 4 = true<br />
|dualshock 4 notes = <br />
|dualshock prompts = false<br />
|dualshock prompts notes = Prompts are for Nintendo 64 controller.<br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = unknown<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= false<br />
|tracked motion controllers notes = <br />
|tracked motion prompts = unknown<br />
|tracked motion prompts notes = <br />
|other controllers = false<br />
|other controllers notes = <br />
|other button prompts = nintendo<br />
|other button prompts notes= Prompts are for Nintendo 64 controller.<br />
|controller hotplug = true<br />
|controller hotplug notes = <br />
|haptic feedback = false<br />
|haptic feedback notes = <br />
|simultaneous input = true<br />
|simultaneous input notes = <br />
|steam input api = unknown<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = unknown<br />
|steam input presets notes = <br />
|steam controller prompts = false<br />
|steam controller prompts notes = Prompts are for Nintendo 64 controller.<br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Image|Super Mario 64 audio settings.png|In-game audio settings.}}<br />
{{Audio<br />
|separate volume = false<br />
|separate volume notes = <br />
|surround sound = false<br />
|surround sound notes = <br />
|subtitles = always on<br />
|subtitles notes = Huge majority of dialogues are text based.<br/>Cannot be turned off for voice acting.<br />
|closed captions = false<br />
|closed captions notes = <br />
|mute on focus lost = false<br />
|mute on focus lost notes = <br />
|eax support = <br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
|ref = <br />
}}<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = false<br />
|local play players = <br />
|local play modes = <br />
|local play notes = <br />
|lan play = hackable<br />
|lan play players = <br />
|lan play modes = <br />
|lan play notes = See [[Super Mario 64#sm64ex-coop|sm64ex-coop]].<br />
|online play = hackable<br />
|online play players = <br />
|online play modes = <br />
|online play notes = See [[Super Mario 64#sm64ex-coop|sm64ex-coop]].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = false<br />
|matchmaking notes = <br />
|p2p = false<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = true<br />
|direct ip notes = <br />
}}<br />
<br />
===[https://github.com/djoslin0/sm64ex-coop sm64ex-coop]===<br />
{{ii}} Can be built with any of the programs on [https://sm64pc.info/ Super Mario 64 PC Port Central].<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 11,12<br />
|direct3d notes = Can be selected when compiling the game.<br />
|directdraw versions = <br />
|directdraw notes = <br />
|wing = <br />
|wing notes = <br />
|opengl versions = 1.3, 2.1<br />
|opengl notes = Can be selected when compiling the game.<br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = <br />
|vulkan notes = <br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = <br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = true<br />
|windows exe notes = Depends on the user's choice when installing the compiler.<br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = unknown<br />
|macos intel 64-bit app = unknown<br />
|macos app notes = <br />
|linux powerpc app = <br />
|linux 32-bit executable= unknown<br />
|linux 64-bit executable= unknown<br />
|linux executable notes = <br />
}}<br />
<br />
===Middleware===<br />
{{Middleware<br />
|physics = <br />
|physics notes = <br />
|audio = <br />
|audio notes = <br />
|interface = <br />
|interface notes = <br />
|input = <br />
|input notes = <br />
|cutscenes = <br />
|cutscenes notes = <br />
|multiplayer = <br />
|multiplayer notes= <br />
|anticheat = <br />
|anticheat notes = <br />
}}<br />
<br />
==System requirements==<br />
{{ii}} No official system requirements have been officially-released.<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Controller:DualSense&diff=1077854Controller:DualSense2021-08-16T06:56:33Z<p>68.129.223.133: /* Support in games */</p>
<hr />
<div>{{stub}}<br />
{{Infobox controller<br />
|title = DualSense<br />
|cover = DualSense.png<br />
|xinput = hackable<br />
|predecessor = [[Controller:DualShock 4|DualShock 4]]<br />
|successor = <br />
|wikipedia = DualShock#DualSense<br />
}}<br />
<br />
'''Key points'''<br />
{{ii}} Controllers can be used wired (via USB-C) or wirelessly with Bluetooth.<br />
{{ii}} The support for supplementary features like the internal speaker, headphone jack, gyroscope, lightbar, adaptive triggers and haptic feedback varies between models, type of connection, and games/software.<br />
{{++}} Supported natively in some games (see [[#Support in games|support in games]]).<br />
{{++}} Capable of making full use of [[Store:Steam#Steam Input|Steam Input]] due to many overlapping features with the [[Controller:Steam Controller|Steam Controller]].<br />
{{--}} Lacks native XInput support, requiring the use of a XInput wrapper in games that don't support it.<br />
<br />
'''General information'''<br />
{{mm}} [https://www.playstation.com/en-us/accessories/dualsense-wireless-controller/ DualSense wireless controller | The innovative new controller for PS5 | PlayStation]<br />
<br />
==Use with PC platforms==<br />
===Windows===<br />
{{ii}} Connecting the controller should automatically download and install latest drivers for the controller.<br />
{{++}} Custom application [https://www.rewasd.com/ reWASD] lets remap whole controller. Software gives advanced customization options eg. reassigning buttons to keyboard or mouse actions, macros, activate custom modes etc.<br />
<br />
====[https://www.rewasd.com/ reWASD]====<br />
{{++}} Supports DualSense controller via bluetooth adapter or cable, does not require manual driver installment.<br />
{{++}} {{Key|Microphone}} and {{Key|PlayStation}} buttons can be remapped.<br />
{{++}} Allows emulate virtual [[Controller:DualShock 4|DS4 controller]] to play PS4 Remote Play, PS Now or Dualshock 4 compatible games. Including gyro and accelerometer control. <br />
{{++}} Allows emulate virtual [[Controller:Xbox 360 Controller|Xbox 360 controller]] to play XInput compatible games.<br />
{{--}} Adaptive triggers and haptic feedback are not implemented yet.<br />
{{ii}} Custom configs for DualSense controller can be found in official [https://www.rewasd.com/community/configs/gamepad/dualsense/ Community Configs Library] maintained by reWASD users.<br />
<br />
====[[Glossary:Controller#Windows|XInput wrapping]]====<br />
{{ii}} Acting as native DirectInput controller, it's possible to use any of the generic wrappers. See [[Glossary:Controller#Windows|the controller article]] for those.<br />
<br />
==Steam==<br />
===Steam Input===<br />
{{++}} Has rumble, trackpad and gyro support. Can also be used over bluetooth.<ref>{{Refurl|url=https://store.steampowered.com/oldnews/78652|title=Steam Client Update Released|date=December 8, 2020}}</ref><br />
{{--}} Doesn't support the adaptive triggers.<br />
<br />
===Steam Link compatibility===<br />
{{ii}} Wired or wireless works.<ref>[https://steamcommunity.com/app/353380/discussions/0/2986413884511966200/ Steam Link Build 789]</ref> Press the {{Key|PlayStation|Share}} to power up and be detected by Steam Link. All buttons are mapped correctly. <br />
{{++}} Works without any drivers on any operating system that supports Steam.<br />
{{++}} Can be used just to send input from a controller to a PC. Go into Streaming options, hit {{Key|△}} and disable video and audio streaming.<br />
{{ii}} Won't work great unless you connect it to LAN or a low latency Wi-Fi.<br />
{{--}} Touchpad and gyro will not be pass through to steam when using steam link on android.<br />
<br />
==Support in games==<br />
{{ii}} Games with generic DirectInput support are supported by the controller, however button placements may be out of place and need to be rebound. Refer to game-specific articles for rebinding support.<br />
<br />
===Adaptive Triggers and Haptic Feedback===<br />
{{++}} [https://github.com/Mxater/DualSenseSupport DualSenseSupport] software is demonstrating how DualSense haptics are working on PC.<br />
{{--}} Requires cable connection.<br />
====Games with adaptive triggers and haptic feedback====<br />
* [[Metro Exodus Enhanced Edition]] - supports all DualSense features, including haptic feedback and adaptive triggers; but it requires a raytracing-capable graphics card to run.<br />
* [[Assassin's Creed Valhalla]] - supports Dualsense fully, with adaptive triggers on bows and haptic feedback on combat and water.<br />
* [[Call of Duty: Black Ops Cold War]] - Adaptive Triggers for gunfire.<br />
<br />
===Light bar===<br />
{{--}} Number of games which support light bar is limited and light bar support is still not a PC standard.<br />
{{++}} [https://www.project-aurora.com/index.html Aurora] is a third party, open source solution for handling RGB lighting which is extending list of supported games. List can be found in project's [https://github.com/antonpup/Aurora/wiki/Supported-Games-&-Devices Github page].<br />
{{++}} [[Steam#Steam_Input | Steam Input]] configuration is allowing control of the light bar.<br />
<br />
===Games with DualSense button prompts===<br />
{{ii}} Please note, that this is only list for games that offer DualSense/DualShock button prompts. <br />
{{#ask: [[Category:Games]] [[Buttons prompts::DualShock]]<br />
| ?Developed by = Developer<br />
| ?Published by = Publisher<br />
| ?Uses engine = Engine<br />
| ?Release date = First release |+limit=1<br />
| ?Available on = Systems<br />
| Sort = Release date<br />
| Order = descending<br />
| limit = 10<br />
| introtemplate = Infobox company/intro/company<br />
| outrotemplate = Infobox company/outro<br />
| template = Infobox company/row/company<br />
| format = template<br />
| default = <br />
}}<br />
<br />
{{References}}<br />
<br />
[[Category:Controller]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1077853Linux2021-08-16T06:51:11Z<p>68.129.223.133: /* Wine */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://archlinux.org/ Arch Linux]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, UKUI, Budgie || style="text-align: left;"| Arch Linux adheres to the KISS principle and is focused on simplicity, modernity, pragmatism, user centrality, and versatility, offering a huge amount of packages to satisfy all types of users thanks to Arch User Repository. Arch does not have a graphical installer so its use is not recommended for beginners.<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Manjaro is based on Arch linux but unlike Arch's power user approach Manjaro is an extremely user friendly distribution. by default it comes with Nvidia's proprietary drivers which makes it very easy to install. it features the Pamac GUI to install native packages, AUR, Flatpak and Snap in a very simple way.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Frogging-Family/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Controller:Nintendo_Switch_Pro_Controller&diff=1077703Controller:Nintendo Switch Pro Controller2021-08-15T07:43:50Z<p>68.129.223.133: </p>
<hr />
<div>{{stub}}<br />
{{Infobox controller<br />
|title = Switch Pro Controller<br />
|cover = Switch Pro Controller.jpg<br />
|xinput = hackable<br />
|predecessor = [[Controller:Wii U Pro Controller|Wii U Pro Controller]]<br/>[[Controller:Wii U GamePad|Wii U GamePad]]<br />
|successor = <br />
|wikipedia = Nintendo Switch#Other controllers and accessories<br />
}}<br />
<br />
'''Key points'''<br />
{{ii}} Must be connected via Bluetooth 3.0.<br />
{{++}} Supports connectivity via USB via [[Steam Input]].<br />
{{++}} Motion Input also available via [[Steam Input]].<br />
{{--}} No analogue triggers.<br />
<br />
==Availability==<br />
{{ii}} [http://amzn.com/B01NAWKYZ0?tag=pcgamingwiki-20 Official Switch Pro Controller - Black] - Amazon<br />
<br />
==Use with PC platforms==<br />
{{ii}} Connecting USB-C cable will make the controller show up, but it will be unuseable this way. Controller has to be connected via Bluetooth 3.0 unless you use [[Steam Input]].<br />
{{Fixbox|description=Connecting the controller|ref=<ref>{{Refcheck|user=Marioysikax|date=2017-12-12}}</ref>|fix=<br />
# Make sure the controller is turned off, then hold the sync button next to charging port until lights start blinking from side to side.<br />
# From PC, pair the new bluetooth device and select `Pro Controller` from the list.<br />
'''Notes'''<br />
{{ii}} Controller will keep flashing the led indicators from side to side even when fully connected and working when used with PC or any other device than Nintendo Switch.<br />
{{ii}} To disconnect and shut down the controller, simply press the sync button once.<br />
{{ii}} To connect the controller again, press any regular button on the controller.<br />
}}<br />
<br />
===Windows===<br />
{{++}} [https://github.com/Davidobot/BetterJoy BetterJoy] allows the Nintendo Switch Pro Controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput. It also allows using the gyro to control mouse and remap the special buttons ({{Key|SL}}, {{Key|SR}}, {{Key|Capture}}) to key bindings of your choice.<br />
{{++}} Custom application [https://www.rewasd.com/ reWASD] lets remap whole controller. Software gives advanced customization options eg. reassigning buttons to keyboard or mouse actions, macros, activate custom modes etc.<br />
<br />
====[https://www.rewasd.com/ reWASD]====<br />
{{++}} Supports Switch Pro Controller via bluetooth adapter or cable, does not require manual driver installment.<br />
{{++}} LED shows which config slot is active at the moment.<br />
{{++}} Supports motion control via gyro.<br />
{{++}} Has enhanced sticks calibration.<br />
{{++}} Allows emulate virtual [[Controller:DualShock 4|DS4 controller]] to play PS4 Remote Play, PS Now or Dualshock 4 compatible games. Including gyro and accelerometer control.<br />
{{++}} Allows emulate virtual [[Controller:Xbox 360 Controller|Xbox 360 controller]] to play XInput compatible games.<br />
{{--}} Not free of charge. 14-days trial.<br />
{{ii}} Custom configs for Switch Pro controller can be found in official [https://www.rewasd.com/community/configs/gamepad/nintendo/ Community Configs Library] maintained by reWASD users.<br />
<br />
====[[Glossary:Controller#Windows|XInput wrapping]]====<br />
{{ii}} Acting as native DirectInput controller, it's possible to use any of the generic wrappers. See [[Glossary:Controller#Windows|the controller article]] for those.<br />
<br />
===Chrome OS===<br />
{{++}} This controller is "Plug and Play" on Chrome OS.<br />
{{--}} Doesn't support motion control and HD rumble.<br />
<br />
==Steam==<br />
{{ii}} Controller can be found in [https://support.steampowered.com/kb_article.php?ref=5199-TOKV-4426 Supported Controller Database] and it's correctly recognizable as the Nintendo Switch Pro Controller.<br />
{{++}} Full support of [[Store:Steam#Steam Input|Steam Input]] including gyroscope and motion controls.<br />
{{++}} You can toggle "Use Nintendo Button Layout" option depending on whether you prefer the {{Key|𝗔}}{{Key|𝗕}}{{Key|𝗫}}{{Key|𝗬}} buttons to be mapped as they are on the Pro Controller or to be mapped like it's an [[Controller:Xbox 360 Controller|Xbox 360 controller]] or [[Controller:Xbox Wireless Controller|Xbox Wireless Controller]].<br />
<br />
===Steam Link compatibility===<br />
{{++}} Works via USB and Bluetooth. Includes gyroscope and motion controls.<ref>[https://steam.fandom.com/wiki/List_of_compatible_controllers_with_Steam_Link List of compatible controllers with Steam Link - SteamWiki]</ref><br />
{{++}} Works without any drivers on any operating system that supports Steam.<br />
{{++}} Can be used just to send input from a controller to a PC. Go into Streaming options, hit {{Key|𝗬}} and disable video and audio streaming.<br />
{{ii}} Won't work great unless you connect it to LAN or a low latency Wi-Fi.<br />
<br />
==Support In Games==<br />
===Games with Nintendo button prompts===<br />
{{ii}} This is a list for games that offer Nintendo button prompts.<br />
{{#ask: [[Category:Games]] [[Buttons prompts::Nintendo]]<br />
| ?Developed by = Developer<br />
| ?Published by = Publisher<br />
| ?Uses engine = Engine<br />
| ?Release date = First release |+limit=1<br />
| ?Available on = Systems<br />
| Sort = Release date<br />
| Order = descending<br />
| limit = 10<br />
| introtemplate = Infobox company/intro/company<br />
| outrotemplate = Infobox company/outro<br />
| template = Infobox company/row/company<br />
| format = template<br />
| default = <br />
}}<br />
<br />
==Hardware==<br />
===[https://shop.cronusmax.com/zen.html Cronus Zen Adapter]===<br />
{{ii}} Cronus Zen allows the use of licensed gaming controller on all major gaming platforms, including all versions of PlayStation 4, Xbox One, Nintendo Switch, PlayStation 3, and Xbox 360, Windows PC, Android, Raspberry Pi.<br />
{{++}} Supports mods, scripts and macros.<br />
{{++}} Integrated Bluetooth.<br />
<br />
===[https://www.consoletuner.com/products/titan-two/ ConsoleTuner Titan Two Adapter]===<br />
{{ii}} Titan Two is an all-in-one gaming device that combines features of dozens of products in a single form factor. Supports PlayStation 4, Xbox One, Nintendo Switch, PlayStation 3, PlayStation TV, Xbox 360, Computers and more...<br />
{{++}} Customize the controller layout accordingly your needs for any game.<br />
<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=FidelityFX_Super_Resolution&diff=1077490FidelityFX Super Resolution2021-08-14T09:14:02Z<p>68.129.223.133: /* Compatibility list */</p>
<hr />
<div>{{stub}}<br />
{{Infobox software<br />
|cover = <br />
|developers = <br />
{{Infobox game/row/developer|AMD}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|June 22, 2021|ref=<ref>{{Refurl|url=https://www.digitaltrends.com/computing/what-is-amd-fidelityfx-super-resolution/|title=AMD FidelityFX Super Resolution: What it is and how to use it|date=2021-07-17}}</ref>}}<br />
|steam appid = <br />
|steam appid side = <br />
|license = freeware<br />
}}{{Tocbox}}<br />
<br />
'''Key points'''<br />
{{ii}} FidelityFX Super Resolution is used to upsample an input image into a higher resolution.<br />
{{++}} Open source, can be used with most modern GPUs, including NVIDIA cards.<br />
{{++}} Can be used on any game on Windows with Magpie. <ref>{{Refurl|url=https://www.notebookcheck.net/Magpie-allows-AMD-FidelityFX-Super-Resolution-support-in-any-Windows-game-not-really-as-good-as-native-FSR-but-seems-to-get-the-job-done.553404.0.html|title=Vaidyanathan Subramaniam|date=2021-08-10}}</ref><br />
{{++}} Can be used on almost any Vulkan game on Linux with [[Proton]]. <ref>{{Refurl|url=https://wccftech.com/amd-fsr-can-be-applied-to-all-vulkan-games-via-protons-fshack/|title=AMD FSR Can Be Applied to (Almost) All Vulkan Games via Proton’s FSHack|date=2021-08-01}}</ref><br />
{{--}} Generally worse than [[DLSS]] in terms of visual quality and performance, and unlike [[DLSS]], it isn't mean't to be used as anti-aliasing. <ref>{{Refurl|url=https://www.techspot.com/news/90510-comparing-nvidia-dlss-vs-amd-fsr-same-games.html|title=|date=2021-08-01}}</ref><br />
<br />
'''General information'''<br />
{{ii}} [https://www.amd.com/en/technologies/radeon-software-fidelityfx-super-resolution Official website]<br />
{{ii}} [https://github.com/GPUOpen-Effects/FidelityFX-FSR Official repository]<br />
<br />
==Game compatibility==<br />
===Compatibility list===<br />
{| class="page-normaltable pcgwikitable sortable mw-collapsible"<br />
|-<br />
! style="width: 250px" | Game !! style="width: 100px"| Additional Notes<br />
|-<br />
| [[Grand Theft Auto V]] || See [[Grand_Theft_Auto_V#FidelityFX_Super_Resolution_.28FSR.29]]<br />
|-<br />
| [[Wine]] || Can be applied to any Vulkan game (even dxvk and vkd3d-proton), but will look worse than a "real" implementation as it upscales the final image, instead of upscaling before post-effects.<br />
|-<br />
| OpenVR || Can be applied to most VR games in SteamVR, but will look worse than a "real" implementation as it upscales the final image, instead of upscaling before post-effects. See [https://github.com/fholger/openvr_fsr/releases/latest here].<br />
|-<br />
| [[Resident Evil Village]] ||<br />
|-<br />
| [[RPCS3]]||<br />
|-<br />
| [[The Riftbreaker]]||<br />
|-<br />
| [[Terminator: Resistance]] ||<br />
|-<br />
| [[Necromunda: Hired Gun]] ||<br />
|-<br />
| [[Marvel's Avengers]] ||<br />
|- <br />
| [[Kingshunt]] ||<br />
|-<br />
| [[Godfall]] ||<br />
|-<br />
| [[Anno 1800]] ||<br />
|-<br />
| [[22 Racing Series]] ||<br />
|-<br />
| [[Arcadegeddon]] ||<br />
|-<br />
| [[Chernobylite]] ||<br />
|-<br />
| [[Dota 2]] ||<br />
|-<br />
| [[Edge Of Eternity]] ||<br />
|-<br />
| [[Elite Dangerous]] ||<br />
|-<br />
| [[Asterigos]] ||<br />
|-<br />
| [[Baldur's Gate III]] ||<br />
|-<br />
| [[Far Cry 6]] ||<br />
|-<br />
| [[Farming Simulator 22]] ||<br />
|-<br />
| [[Forspoken]] ||<br />
|-<br />
| [[Swordsman]] ||<br />
|-<br />
| [[Myst]] ||<br />
|-<br />
| [[X4: Foundations]] ||<br />
|-<br />
| [[Vampire: The Masquerade - Bloodlines 2]] ||<br />
|-<br />
| [[Vampire: The Masquerade - Bloodhunt]] ||<br />
|}<br />
{{References}}</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1077451Linux2021-08-14T01:18:58Z<p>68.129.223.133: /* Stores and clients */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://archlinux.org/ Arch Linux]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, UKUI, Budgie || style="text-align: left;"| Arch Linux adheres to the KISS principle and is focused on simplicity, modernity, pragmatism, user centrality, and versatility, offering a huge amount of packages to satisfy all types of users thanks to Arch User Repository. Arch does not have a graphical installer so its use is not recommended for beginners.<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Manjaro is based on Arch linux but unlike Arch's power user approach Manjaro is an extremely user friendly distribution. by default it comes with Nvidia's proprietary drivers which makes it very easy to install. it features the Pamac GUI to install native packages, AUR, Flatpak and Snap in a very simple way.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1077027Linux2021-08-11T20:54:19Z<p>68.129.223.133: </p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://flightlessmango.com/ FlightlessMango] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://archlinux.org/ Arch Linux]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, UKUI, Budgie || style="text-align: left;"| Arch Linux adheres to the KISS principle and is focused on simplicity, modernity, pragmatism, user centrality, and versatility, offering a huge amount of packages to satisfy all types of users thanks to Arch User Repository. Arch does not have a graphical installer so its use is not recommended for beginners.<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Manjaro is based on Arch linux but unlike Arch's power user approach Manjaro is an extremely user friendly distribution. by default it comes with Nvidia's proprietary drivers which makes it very easy to install. it features the Pamac GUI to install native packages, AUR, Flatpak and Snap in a very simple way.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || No || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1077017Linux2021-08-11T18:49:04Z<p>68.129.223.133: /* Wine */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://archlinux.org/ Arch Linux]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, UKUI, Budgie || style="text-align: left;"| Arch Linux adheres to the KISS principle and is focused on simplicity, modernity, pragmatism, user centrality, and versatility, offering a huge amount of packages to satisfy all types of users thanks to Arch User Repository. Arch does not have a graphical installer so its use is not recommended for beginners.<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Manjaro is based on Arch linux but unlike Arch's power user approach Manjaro is an extremely user friendly distribution. by default it comes with Nvidia's proprietary drivers which makes it very easy to install. it features the Pamac GUI to install native packages, AUR, Flatpak and Snap in a very simple way.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/GloriousEggroll/proton-ge-custom Proton-GE] - A fork of Proton by GloriousEggroll that has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-staging and VKD3D. Proton-GE will work better with some games and some games only work on GE, this is a case by case basis so refer to ProtonDB.<br />
* [https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || No || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1076899Linux2021-08-11T04:34:56Z<p>68.129.223.133: /* Rolling release */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://archlinux.org/ Arch Linux]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, UKUI, Budgie || style="text-align: left;"| Arch Linux adheres to the KISS principle and is focused on simplicity, modernity, pragmatism, user centrality, and versatility, offering a huge amount of packages to satisfy all types of users thanks to Arch User Repository. Arch does not have a graphical installer so its use is not recommended for beginners.<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Manjaro is based on Arch linux but unlike Arch's power user approach Manjaro is an extremely user friendly distribution. by default it comes with Nvidia's proprietary drivers which makes it very easy to install. it features the Pamac GUI to install native packages, AUR, Flatpak and Snap in a very simple way.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || No || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1076898Linux2021-08-11T04:34:41Z<p>68.129.223.133: stop saying that arch is intended to be minimal/lightweight or super customizable, the devs don't even agree with this https://lists.archlinux.org/pipermail/arch-general/2015-July/039443.html, for ex a debian netinstall is more light than arch</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://archlinux.org/ Arch Linux]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, UKUI, Budgie || style="text-align: left;"| Arch Linux adheres to the KISS principle and is focused on simplicity, modernity, pragmatism, user centrality, and versatility., offering a huge amount of packages to satisfy all types of users thanks to Arch User Repository. Arch does not have a graphical installer so its use is not recommended for beginners.<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Manjaro is based on Arch linux but unlike Arch's power user approach Manjaro is an extremely user friendly distribution. by default it comes with Nvidia's proprietary drivers which makes it very easy to install. it features the Pamac GUI to install native packages, AUR, Flatpak and Snap in a very simple way.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME,KDE Plasma, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://www.lxde.org/ LXDE] || 1 GB || Yes || style="text-align: left;"| <br />
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies. This makes porting LXDE to different distributions and platforms easier. <br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 1 GB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || No || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1076814Linux2021-08-10T18:44:25Z<p>68.129.223.133: /* Desktop environments */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, Plasma, LXQt, Budgie, MATE, Xfce || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed. Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''KDE Plasma''' || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
|| '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available. uses YAST which is a friendly GUI to install packages and serves to install Nvidia's proprietary drivers in a simple way.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''GNOME''' || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR || style="text-align: left;"| Fedora is a very stable independent rolling release distribution sponsored by Red Hat Enterprise, GNOME is its default desktop environment but it offers many alternatives, based on RPM packages and with a great community it is one of the best rolling releases at the moment. Spins offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Fedora.<br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || KDE Plasma, GNOME, XFCE|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 2 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://getsol.us/home/ Budgie] || 2 GB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 2 GB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 512 MB, 1GB on openSUSE || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 1 GB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 512 MB || Yes || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || No || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Linux&diff=1076524Linux2021-08-09T04:09:18Z<p>68.129.223.133: /* Desktop environments */</p>
<hr />
<div>{{Infobox non-game<br />
|cover = Tux Linux Mascot.svg<br />
|developers =<br />
{{Infobox game/row/developer|Linus Torvalds}}<br />
|release dates =<br />
{{Infobox game/row/date|Linux|September 17, 1991}}<br />
|winehq = <br />
|wikipedia = Linux<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Wide variety of distributions available, allowing unparalleled user choice and customizability across the board.<br />
{{ii}} The quality of native ports on Linux varies. Some games might perform worse when compared to other operating systems; other might perform better.<br />
{{ii}} Many [[:Category:Windows|Windows]] games can be played by using either [https://steamcommunity.com/games/221410#announcements/detail/1696055855739350561 Steam Play] or [[#Wine|Wine]].<br />
<br />
'''Resources'''<br />
{{ii}} [https://www.protondb.com/ ProtonDB] - crowdsourced database of Proton (Steam Play) games performance<br />
{{ii}} [https://www.phoronix.com/ Phoronix] - website dedicated to hardware and benchmarking in Linux<br />
{{ii}} [https://distrowatch.com/ DistroWatch] - page dedicated to Linux distributions<br />
{{ii}} [https://openbenchmarking.org/ OpenBenchmarking] - a list of user-made benchmarks in Linux<br />
{{ii}} [https://www.reddit.com/r/linuxhardware/ /r/linuxhardware] - subreddit dedicated to Linux hardware<br />
{{ii}} [https://www.reddit.com/r/linuxquestions/ /r/linuxquestions] - subreddit dedicated to Linux-related questions<br />
{{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general<br />
{{ii}} [https://wiki.archlinux.org/ ArchWiki] - wiki intended for Arch but is useful for other distros<br />
{{ii}} [[ARM]] - info on Linux ARM distros, devices, and software support<br />
<br />
'''Communities'''<br />
{{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated for gaming on Linux<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit<br />
{{ii}} [https://www.reddit.com/r/linux4noobs/ /r/linux4noobs] - subreddit dedicated for Linux newbies<br />
{{ii}} [https://linuxgamecast.com/ Linux Game Cast] - pod/videocast<br />
{{ii}} [https://www.back2gaming.com/ Back2Gaming] - Gaming related news/guide page. More oriented into Linux<br />
<br />
==Distributions==<br />
There are two types of release models which distros are using, both have their pros and cons.<br />
<br />
===Fixed release===<br />
{{++}}Offers stable packages<br />
{{++}}Most distros which use it are beginner friendly<br />
{{++}}Very little maintenance<br />
{{--}}Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS<br />
{{--}}Stable packages don't contain the newest features. This is especially important in case of GPU drivers<br />
{{--}}Manual intervention is required in order to add user-made repositories in some distros.<br />
{{ii}} Updating the distro to the next version doesn't require a fresh install and is easy to carry out but might take up to few hours (but usually below an hour)<br />
{{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based on !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description<br />
|-<br />
||'''[https://www.ubuntu.com/download/desktop Ubuntu ]''' || Debian || GNOME || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. Note that as of 19.10, Canonical will include some of the 32 bit packages if needed.<br />
|-<br />
|| '''[https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Ubuntu || Plasma, LXQt, Budgie, MATE, Xfce || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| Flavours offer different Desktop Environments, but when it comes to compatibility, they are virtually the same as Ubuntu. Choose if you prefer distinct workflow or art style. Newcomers from Windows should definitely pick Ubuntu MATE, Ubuntu Budgie, Xubuntu or Kubuntu.<br />
|-<br />
|| '''[https://system76.com/pop Pop! OS]''' || Ubuntu || GNOME || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| A Ubuntu based distro created and maintained by System76 which includes it's own repository. Unlike Ubuntu, it includes much more recent drivers for your graphics card and it's generally more recommended for beginners.<br />
|-<br />
||'''[https://linuxmint.com/ Linux Mint]''' || Debian, Ubuntu || Cinnamon, MATE, XFCE || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Be aware that the packages may be much older compared to Ubuntu LTS releases, but the main advantage is the built-in kernel upgrader.<br />
|-<br />
||'''[https://neon.kde.org KDE Neon]''' || Debian, Ubuntu || KDE Plasma || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| A distro created by the KDE community, compared to the Kubuntu (A KDE Plasma flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.<br />
|-<br />
||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Oldoldstable)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || GNOME || Varies || Steam || style="text-align: left;"| Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Offers an option to act as a desktop system, it may be behind in terms of packages.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016.<br />
|}<br />
<br />
<references group="fr note" /><br />
<br />
===Rolling release===<br />
{{++}}Provides the latest version of the package once they're available<br />
{{++}}No distro upgrade is required, as most distros have only one version.<br />
{{--}}An update for the package may cause stability issues, so it is recommended to organize an update by yourself in case a revision gets a release, which fixes stability issues.<br />
{{--}}In some cases, manual intervention is required.<br />
{{--}}No currently listed rolling release distribution has any official support from any store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code><br />
{{ii}}Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description<br />
|-<br />
||'''[https://endeavouros.com/ EndeavourOS]''' || Arch Linux || Budgie, Plasma, '''XFCE''', GNOME, LXQt, MATE || style="text-align: left;"| The successor to Antergo. <br />
|-<br />
||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || '''Plasma''', '''GNOME''', '''XFCE''', LXDE, LXQt, Enlightenment, Cinnamon, MATE, Pantheon<ref group="rr note">Non-default are supported, but not fully tested</ref>|| style="text-align: left;"| Rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on the root partition, snapshots are taken before and after updating, allowing easy restores if there is an update breakage.<br />
|-<br />
||'''[https://getsol.us/ Solus]''' || Independent || '''Budgie''', GNOME, MATE || style="text-align: left;"| Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. Only stable releases of library and software are added with a very few exceptions (Such as Nvidia's Vulkan Beta Drivers)<br />
|-<br />
||'''[https://gamer-os.github.io/ GamerOS]''' || Arch Linux || Unknown || A third-party attempt at making a more up-to-date version of SteamOS.<br />
|}<br />
<references group="rr note" /><br />
<br />
==Desktop environments==<br />
The Linux community has created multiple variations of the desktop environment for you to choose from as by default the system uses the text mode by default, with their own basic software for common use such as file explorer, notepad, virtual terminal etc. along with their own purpose and features.<br />
<br />
{| class="wikitable sortable" style="nowrap;"<br />
|-<br />
! Name !! Min. RAM !! Customizable !! Description<br />
|-<br />
| [https://www.gnome.org/ GNOME] || 2 GB || Yes, limited || style="text-align: left;"| <br />
One of the oldest desktop environments which is still continuously updated. The 3rd generation of GNOME has a more tablet focused interface compared to GNOME 2 with a very large set of software combined with community-made ones as well as extensions, thankfully the GNOME Classic is included for those who do not like its theme and its compositor integrates really well with Nvidia graphics card, which does not cause any tearing at all. However, it's very limited in customization, forcing you to install GNOME Tweak to change things such as the color theme, icons etc.<br />
<br />
For Wayland use, GNOME supports both GBM and EGLStreams APIs which makes it the only DE to support Wayland for every graphics cards that support it.<br />
|-<br />
| [https://www.kde.org/plasma-desktop KDE Plasma] || 1 GB || Yes || style="text-align: left;"| <br />
The very 1st desktop environemnt which to this day is still being updated and maintained. Compared to GNOME, it uses less memory while having many of its features and software included which makes it very attractive to Windows/Mac users while being very customizeable and packed full of options for you to set up and a dedicated option to disable composition when running a software in full screen, providing a better performance in games. Nvidia users with proprietary driver must use at least 5.12.9 LTS or 5.15.9 which stabilizes the desktop for that matter.<br />
|-<br />
| [https://ubuntubudgie.org/ Budgie] || 256 MB || Yes || style="text-align: left;"| <br />
Created by a original Solus developer and currently maintained by Solus Team. It currently serves as an alternative for GNOME 3 with a much more desktop-like interface and bear some similarities to Windows 10.<br />
|-<br />
| [http://developer.linuxmint.com/ Cinnamon] || 256 MB || Yes || style="text-align: left;"| <br />
Created by Linux Mint Team, Cinnamon brings back the GNOME 2 appearance with a modern twist, while using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Allows you to run in Hardware (Default) and Software mode (No Composition).<br />
|-<br />
| [https://xfce.org/ XFCE] || 128 MB || Yes || style="text-align: left;"| <br />
Starting off as a clone of a Unix-like desktop environment named CDE, it became its own DE with a much more Windows XP-like appearance and with its light use of memory is well suited for low end hardware or even for Windows veterans.<br />
|-<br />
| [https://mate-desktop.org MATE] || 128 MB || Yes || style="text-align: left;"| <br />
MATE was born as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. The DE is well suited for common Windows users while providing its own features such as audio preview by a mouse hover.<br />
|-<br />
| [https://lxqt-project.org/ LXQT] || 64 MB || Yes, limited || style="text-align: left;"| <br />
Starting off as LXDE and later one in combination with Razor-Qt it became LXQt. The most lightweight desktop environment ever created, despite its limited features and customization along with the lack of compositor it is perfectly suited for the lowest end hardware.<br />
|}<br />
<br />
==Kernel==<br />
{{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page]<br />
{{ii}} It is important to update your Linux kernel as new versions provide security updates, bugfixes, better performance and support for hardware. Your distributions repository contains the latest version for your OS.<br />
There are two main releases of the official Linux kernel:<br />
* the Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support,<br />
* stable release (sometimes called the current release) offers the best hardware support and the newest features. It's the default choice for a gaming machine and should be avoided only if it causes some issues.<br />
<br />
Both releases offer the same security updates.<br />
<br />
===Kernel replacement===<br />
<br />
{{ii}} '''This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!'''<br />
<br />
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements, thus '''may''' improve your gaming experience even further. '''Be warned that you may have to install the DKMS version of the drivers along with the kernel headers to make your hardware useable with multiple kernels''', this is not required if the kernel already includes it.<br />
<br />
The most notable releases:<br />
* [http://www.users.on.net/~ckolivas/kernel/ Linux CK]<br />
* [https://github.com/zen-kernel/zen-kernel Linux Zen]<br />
* [https://liquorix.net/ Liquorix]<br />
<br />
{{ii}} For help with installing different kernels on distro of your choice, you should go to kernel version official website or your distros forum and wiki.<br />
{{ii}} Be sure to keep the current kernel you have in case if things go wrong.<br />
{{ii}} [https://teejeetech.in/ukuu/ UKUU] is an useful utility for swaping kernels, although newer versions have nonfree license.<br />
<br />
===Microcode===<br />
{{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article]<br />
It is very important to install the microcode for your CPU as the manufacturer provides security and stability updates.<br />
<br />
Most distributions use either package manager or some kind of firmware/drivers manager to update your microcode.<br />
<br />
==Hardware==<br />
===Graphics===<br />
{{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article]<br />
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article<br />
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article]<br />
<br />
Here is a following table describing the drivers and information which Linux supports for each GPU brand.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support<br />
|-<br />
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No<br />
|-<br />
|rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK)<br />
|-<br />
|rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes<br />
|-<br />
| Fglrx || Catalyst GL Library || GCN 3 and older architecture ||rowspan="2"| No<br />
|-<br />
| style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU<br />
|-<br />
|rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<br />
|-<br />
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent<br />
|-<br />
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No<br />
|-<br />
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs<br />
|-<br />
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36)<br />
|-<br />
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti<br />
|-<br />
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV)<br />
|-<br />
|Xorg modesetting<br />
|-<br />
|}<br />
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /><br />
<br />
<sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /><br />
<br />
AMD/ATI users should use the open source driver as they provide the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. However there are some things to remember:<br />
* '''Never install drivers from the respective GPU brand's website unless you are forced to''', since some installers would require you to install through text mode, like in case of Nvidia. AMD however have prepared packages that can be ran for distros they support. Otherwise rely on the graphical package manager installation, to ease it up.<br />
* If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade Xorg to the version it got the last support.<br />
* Before using the open source driver '''you must install LLVM and Linux Firmware'''.<br />
* As always when using a 64-bit system, install the 32-bit version of the drivers if possible.{{cn}}<br />
<br />
====List of 3rd-party repositories====<br />
'''Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon'''<br />
<br />
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.<br />
{{Standard table|Repository|Description|content=<br />
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}<br />
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics Drivers" Teams' PPA]. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU. }}<br />
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}<br />
}}<br />
<br />
'''OpenSUSE'''<br />
<br />
As of 10 August 2017, OpenSUSE Tumbleweed has an official Nvidia RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command<br />
<pre><br />
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed<br />
zypper inr (For installing)<br />
</pre><br />
<br />
====Optimus support====<br />
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus linux guide]<br />
{{--}} To this day the Optimus support in Nvidia GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.<br />
In case of laptops which contains Nvidia Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be Nvidia XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.<br />
<br />
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.<br />
<br />
===Audio===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page]<br />
Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install its PulseAudio Bluetooth library.<br />
<br />
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.<br />
<br />
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of <code>/dev/dsp</code>, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting its daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.<br />
<br />
Another way is to use the OSS emulator for the specific audio interface:<br />
* PulseAudio can use the <code>padsp</code> command which can be found with the PulseAudio utility package or in some distros, already included with the main software.<br />
* ALSA users should install the alsa-oss package and then use the <code>aoss</code>, if using a 64-bit system you need to use the <code>-32</code> argument if you run a 32-bit application.<br />
<br />
'''Do not run <code>aoss</code> if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!'''<br />
<br />
In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.<br />
<br />
You can also use Fluidsynth, however bear in mind that it uses more CPU and needs to be set up to work alongside with PulseAudio, but compared to Timidity, it is more up to date.<br />
<br />
===Input devices===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article]<br />
{{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article]<br />
<br />
The keyboard and mouse are supported on the go, however if using XOrg you must have its input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to [https://wiki.archlinux.org/index.php/Mouse_buttons configure it manually]. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.<br />
<br />
Wayland users only requires the '''libinput''' package itself, which also supports XOrg.<br />
<br />
If using a mouse dedicated for gaming, there is a universal configurator called [https://github.com/libratbag/piper/ Piper]. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:<br />
<br />
* [https://github.com/z3ntu/RazerGenie RazerGenie] - Keyboard and Mouse setup for Razer products<br />
* [https://github.com/GabMus/razerCommander RazerCommander] - Ditto<br />
* [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products<br />
* [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products<br />
* [https://github.com/lah7/polychromatic Polychromatic] - Yet another configurator for Razer products<br />
<br />
===Controller support===<br />
All the controllers such as [[Controller:DualShock 4|DualShock 4]], DirectInput gamepads and XInput ones (Such as [[Controller:Xbox_360_Controller|Xbox 360]]) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.<br />
<br />
The most interesting thing is the [[Controller:Steam Controller|Steam Controller]], as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so, far to use it on Wine, if it’s set properly.<br />
<br />
It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [http://boilingsteam.com/making-third-party-gamepads-work-with-steam-games].<br />
<br />
If dealing with a game that has a very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the [http://packages.libregeek.org/ LibreGeek]'s repository, especially Ubuntu or Ubuntu-based distributions which can be added with [https://launchpad.net/%7Emdeguzis/+archive/ubuntu/libregeek this PPA]. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.<br />
<br />
==Other==<br />
===Disk partitioning===<br />
By default the most common format used in Linux is '''EXT4''' which manages the files much more efficiently than Windows' NTFS, even so far to decrease loading time in games at the cost of being case sensitive, where for example <code>File1</code> is treated differently than <code>file1</code>. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues depending on the software.<br />
<br />
The most important aspect is the swap partition with its own disk format, they generally act as a RAM replacement, the absence of it will cause any software to shut down due to low memory and it's commonly used when putting the PC under Hibernation or Sleep mode. The size of the swap disk depends on how much RAM you have.<br />
<br />
If less than 8 GB of RAM, you must increase the swap disk.<br />
If more than 8 GB of RAM, decrease the swap disk size.<br />
<br />
It is generally recommended to partition your disk in this particular order:<br />
/ (Root)<br />
Home<br />
Swap disk<br />
<br />
The partition order also affects the performance of your HDD/SSD as the 1st partition has a higher priority than the other ones, you can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.<br />
<br />
===Wayland or Xorg?===<br />
{{++}} Wayland is newer than Xorg and is considered to be technically superior.<br />
{{--}} Wayland is not supported by older proprietary games.<br />
<br />
While hanging around the Linux community you have most likely heard about the Wayland, which is meant to replace the decades old XOrg display server raising the question if you should consider switching to it or stay.<br />
<br />
The main advantage of Wayland are:<br />
* Passive compositioning when fetching pixel data from the client, which removes any kind of latency.<br />
* Isolating I/O of every window and provide smaller access to root for running the code, improving the security.<br />
* Acts as both display server and as a compositor. Whereas XOrg only acts as a former but a 3rd party compositor is required.<br />
* Backwards compatibility with softwares that rely on XOrg through XWayland.<br />
<br />
This all however depends on the driver which your GPU uses as there are two buffer APIs which Wayland makes use of, as well as its implementation for the desktop environment.<br />
{| class="wikitable"<br />
|-<br />
! GPU!! Driver !! Buffer API<br />
|-<br />
| AMD ||rowspan="3"| Open Source ||rowspan="3" | GBM<br />
|-<br />
| Intel<br />
|-<br />
| rowspan="2"| Nvidia<br />
|-<br />
| Proprietary (From 364.12+)|| EGLStreams<br />
|}<br />
<br />
Both GNOME 3 and KDE Plasma supports Wayland for all APIs (With Plasma's case, EGLStreams support began with 5.16). Nvidia proprietary driver however are way behind in terms of supporting it as it lacks most of the key extensions such as Vulkan support under it along with low performance on XWayland, forcing you to use Xorg instead.<br />
<br />
AMD and Intel users however, contains all the required extensions for a full experience.<br />
<br />
Certain APIs used for software would require a specific package or an environment variable to run in Wayland mode:<br />
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.<br />
* Qt5 - Requires the Qt5 Wayland package. After that you can either set the environment variable <code>QT_QPA_PLATFORM=wayland</code> or run the Qt 5 application with the <code>-platform wayland</code> command-line argument.<br />
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> command before running the application. You can enforce newer SDL2 on games and use the command, although there may be a risk of graphical glitches to appear.<br />
* GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.<br />
* EFL - Enabled by default.<br />
* Clutter - Included with clutter package<br />
* FreeGLUT - Has initial support.<br />
<br />
'''Warning: these environment variables can break many commercial games!''' Wayland support is still relatively new, and proprietary Linux games often rely on older versions of libraries which do not have support for Wayland.<br />
<br />
'''The best option is to use Wayland by default for your typical workflow, but force older games to run under X.org''':<ref name=waylandlibs>https://wiki.archlinux.org/index.php/Wayland#GUI_libraries</ref><br />
<br />
* GTK3 - Set <code>GDK_BACKEND=x11</code><br />
* Qt5 - Set <code>QT_QPA_PLATFORM=xcb</code><br />
* SDL2 - Set <code>SDL_VIDEODRIVER=x11</code><br />
<br />
Alternatively, you may try to force the game to use system libraries as opposed to its own runtime (see [[Store:Steam#Use_Native_Steam_runtime_mode]])<br />
<br />
===Benchmarking===<br />
{{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article]<br />
{{ii}}[https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/ Gallium HUD Guide]<br />
It is entirely possible to benchmark native Linux games in this system by using the [https://www.phoronix-test-suite.com Phoronix Test Suite]. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.<br />
<br />
If decided to benchmark on your own, whether the game has a built-in benchmark or not, using '''Gallium HUD''' is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the Mesa package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.<br />
<br />
Another much simpler and available for every kind of GPU is the '''glxosd''' which requires installing the package with the same name and just like Gallium HUD, you need to type <code>glxosd</code> before launching a game. The settings can be changed in the ''glxosd_config.lua'' file located in <code>/etc/glxosd/</code>. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).<br />
<br />
Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref] which only works for Steam. It will display both information in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.<br />
<br />
===PCI passthrough===<br />
{{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page]<br />
{{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO reddit page]<br />
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu, which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:<br />
<br />
* Your CPU must support hardware virtualization and IOMMU<br />
* Your motherboard must also support IOMMU<br />
* Your GPU must support UEFI<br />
* You need a 2nd hardware for PCI passthrough<br />
* It takes some time to set up and the whole process may be a little tough for beginners<br />
<br />
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI passthrough from Windows. This can be done only in Linux itself!<br />
<br />
==[[Wine]]==<br />
{{ii}}[https://www.winehq.org/ Main page]<br />
{{ii}} [https://www.reddit.com/r/wine_gaming/ /r/wine_gaming]<br />
{{mm}}[https://appdb.winehq.org/ Application Database]<br />
WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:<br />
<br />
* Normal<br />
* Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.<br />
* Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.<br />
* Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, ESync etc. mainly dedicated for gaming and is integrated with Steam, but it is possible to use without it.<br />
* [https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git tkg] - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community project to provide the best performance and compatibility for games and can be easily customized to your preference, however it was mainly made for Arch Linux (and distros based on it), but it is possible to use it in other distributions. A Protonified version uses Proton as a base instead.<br />
<br />
So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.<br />
<br />
If WINE itself is hard to use there are also front-ends which may improve your experience with it:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Release !! Notes<br />
|-<br />
| [https://lutris.net/ Lutris] || Free || style="text-align: left;"|<br />
{{++}} Can also act as a client for native games and emulators.<br />
{{++}} Provides community-maintained scripts for installing games on Wine or even Steam through Wine.<br />
{{++}} Can provide different Wine version for specific games.<br />
{{++}} Can install multiple editions of Wine, including the community ones.<br />
{{++}} Can directly use Proton.<br />
{{--}} May be a little hard to install the game on Wine by yourself<br />
|-<br />
| [https://www.playonlinux.com PlayOnLinux] || Free || style="text-align: left;"|<br />
{{++}} Beginner friendly<br />
{{++}} Includes precompiled scripts for automatic installation<br />
{{--}} Very slow development<br />
{{--}} The precompiled installation scripts are outdated, along with third-party libraries.<br />
{{--}} The precompiled scripts '''may even damage your system'''. It is recommended to use the option to install the software on your own.<br />
|-<br />
| [https://www.codeweavers.com/products/crossover-linux Crossover] || Commercial || style="text-align: left;"|<br />
{{++}} Superior in terms of compatibility than PlayOnLinux<br />
{{++}} Provides patches and improvements which are later on added to Wine Staging<br />
{{ii}} Buying the product will also provide support for Wine development<br />
|-<br />
| [http://q4wine.brezblock.org.ua/ Q4Wine] || Free || style="text-align: left;"|<br />
{{++}} Moderately easy to use<br />
{{++}} Implemented Winetricks, providing latest version of third-party libraries (Manual update is required)<br />
{{++}} Implemented AppDB for checking the software compatibility on the go.<br />
{{--}} Manual compiling/installing other Wine versions is required for more than one.<br />
|-<br />
|}<br />
<br />
==Stores and clients==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Client available !! Registers Linux sales? !! Notes<br />
|-<br />
| [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| <br />
* By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode)<br />
* Includes Proton by default (may require manual installation from Tools tab) and any Windows game being ran on Proton counts as a Linux sale.<br />
|-<br />
| [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"|<br />
* The store does not provide with information about required dependencies for the game.<br />
|-<br />
| [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"|<br />
* Game's store page shows required dependencies to run.<br />
* Uses MojoSetup as an installer.<br />
* Running the <code>start.sh</code> script may cause issues, run the binary executable if that happens instead.<br />
|-<br />
| [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None<br />
|-<br />
| [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| <br />
* Sells only Mac and Linux ports they have made.<br />
|-<br />
| [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"|<br />
|-<br />
| [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"|<br />
* Offers open-source freeware games. Overlap with the distros' own package repositories is high.<br />
|-<br />
| [https://snapcraft.io/search?category=games Snap Store] || No || No || style="text-align: left;"|<br />
* Offers a mix of open-source freeware games and preconfigured Wine games.<br />
* Offers some games for [[List_of_Linux_ARM_games|ARM]], [[List_of_Linux_PowerPC_games|PowerPC]] and <i>System z</i> distro installations.<br />
|-<br />
| [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown ||<br />
* Very small game selection (10 games total) as of March 2021.<br />
|}<br />
<br />
===Notes===<br />
* There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.<br />
* Always ask the forum or refer to the documentation of the distro in case you have a problem. Arch Linux one can be used regardless the distro you are using.<br />
* In some distros, such as Arch Linux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.<br />
* You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.<br />
* Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.<br />
* Some keys on your keyboard are labeled differently on Linux. Meta4/Super key is actually the Windows key, while "^X" in text mode is actually Ctrl+X.<br />
* Almost all of the desktop environments have their own Terminal, you can install a 3rd-party one which generally are more feature rich.<br />
* If you are confused with using the package manager in Terminal for each distro, [https://wiki.archlinux.org/index.php/Pacman/Rosetta this] page will help you.<br />
* Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.<br />
* Files and folders can be hidden by adding "." at the beginning of the name.<br />
* If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!{{cn}}<br />
* Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the <code>~/.config</code>, <code>~/.local/share</code> or the <code>~/.<application/developer name></code> directory.<br />
* If someone tells you to use this command <code>sudo rm -Rf /</code>, don't do it unless you want to have a bad time, since it deletes your entire OS installation.<br />
<br />
==Improvements==<br />
===Hardware===<br />
'''Disable mitigations for transient execution CPU vulnerabilities'''<br />
{{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion. <br />
{{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. <br />
<br />
{{Fixbox|description=Edit the GRUB settings|fix=<br />
Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end.<br />
<br />
Re-generate the grub.cfg using one of these commands as root:<br />
<pre><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
update-grub # Used by Ubuntu based distros, easy version of the 1st one.<br />
</pre><br />
}}<br />
<br />
'''Disable mouse acceleration in Xorg'''<br />
{{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)<br />
{{Fixbox|description=Create a new Xorg rule|fix=<br />
Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as super user/root and add the following script:<br />
<pre><br />
Section "InputClass"<br />
Identifier "My Mouse"<br />
Driver "libinput"<br />
MatchIsPointer "yes"<br />
Option "AccelProfile" "flat"<br />
EndSection<br />
</pre><br />
Then restart the system or Xorg (In most distros its {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}})<br />
}}<br />
<br />
'''Improve shutdown time in systemd'''<br />
{{Fixbox|description=Edit the system.conf|fix=<br />
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.<br />
# Edit as a root the system.conf file located in <code>/etc/systemd/</code><br />
# Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds.<br />
# Type <code>sudo systemctl daemon-reload</code><br />
<br />
OR<br />
<br />
Install '''watchdog''' package and enable/run the watchdog service.<br />
}}<br />
<br />
'''Resolution scaling with xrandr'''<br />
<br />
It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions).<br />
<br />
Here are some examples:<br />
* <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.<br />
* <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.<br />
<br />
===Software===<br />
'''Use Feral Game Mode to improve the performance'''<br />
{{ii}} Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page].<br />
{{++}} Supports custom scripts<br />
{{++}} Developers can use it to implement in their games. <br />
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:<br />
* CPU governor<br />
* Input/Output priority<br />
* Process niceness<br />
* Kernel scheduler<br />
* Screensaver inhibiting<br />
* GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)<br />
<br />
Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options.<br />
<br />
'''Enable 32-bit support for your distro'''<br />
{{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix=<br />
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:<br />
<pre><br />
sudo dpkg --add-architecture i386<br />
sudo apt update<br />
</pre><br />
<br />
{{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]].<br />
<br />
}}<br />
<br />
'''List missing dependencies'''<br />
{{Fixbox|description=List the missing dependencies|fix=<br />
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.<br />
<br />
The <code>ldd</code> command can be used to check which dependency does it require and if they are in your system.<br />
<pre><br />
ldd <binary file><br />
</pre><br />
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.<br />
<br />
The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command.<br />
<pre><br />
ldd <binary_file> | grep "Not found"<br />
</pre><br />
<br />
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.<br />
}}<br />
{{Fixbox|description=Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|fix=<br />
Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, ya need to put -j5 for example)<br />
{{ii}}Keep in mind that some programs requires using one core for the stability sake.<br />
}}<br />
<br />
'''Create a script which the game uses libraries from your system instead'''<br />
{{Fixbox|description=Make a native executable for your game|fix=<br />
{{ii}} This method may improve the compatibility and sometimes even improve the performance of it on your Linux system. Can be useful in older Linux games that rely on older SDL interface such as [[Majesty]].<br />
# Create an empty text file and open it with any text editor.<br />
# Add this following script:<br />
<pre><br />
#!/bin/sh<br />
LD_LIBRARY_PATH=/path/to/library /path/to/executable<br />
</pre><br />
3. Replace <code>/path/to/library</code> with one of these paths:<br />
* If the game is 64-bit <code>/usr/lib64</code><br />
* If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code><br />
* If the game is 32-bit <code>/usr/lib</code><br />
4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager.<br />
<br />
'''Notes'''<br />
* You are required to learn which library does the game uses and install them if not available. Each game has its own library folder which you may learn about it.<br />
}}<br />
<br />
==Common fixes==<br />
===Hardware===<br />
{{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix=<br />
{{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue.<br />
'''Text Mode'''<br />
# Boot up to your kernel<br />
# Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager.<br />
# Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>.<br />
<br />
'''LiveCD/LiveUSB'''<br />
# Boot to the LiveCD/LiveUSB<br />
# Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead).<br />
# Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system.<br />
}}<br />
<br />
{{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix=<br />
# Install <code>xrandr</code> using your linux distribution's package manager.<br />
# Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").<br />
# Run <code>xrandr --output <name> --primary</code>.<br />
<br />
'''Notes'''<br />
{{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent.<br />
}}<br />
<br />
{{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix=<br />
Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then:<br />
# Open the <code>group</code> file as root in a text editor located in '''/etc''' folder.<br />
# Find the following line <pre>audio:x:29:pulse</pre><br />
# Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre><br />
}}<br />
<br />
{{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix=<br />
Type in terminal this command to stop and then start PulseAudio at the same time:<br />
<pre><br />
pulseaudio -k && pulseaudio --start<br />
</pre><br />
{{ii}}You can bind this command as a keyboard command in your DE.<br />
}}<br />
<br />
===Software===<br />
{{Fixbox|description=Screen tearing|fix=<br />
{{ii}} You may also use GNOME, Cinnamon and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from Nvidia side.<br />
Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more).<br />
<br />
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.<br />
<br />
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.<br />
}}<br />
{{References}}<br />
<references /><br />
<br />
[[Category:Guide]]</div>68.129.223.133https://www.pcgamingwiki.com/w/index.php?title=Portal_2&diff=1075407Portal 22021-08-03T19:22:20Z<p>68.129.223.133: /* Network */</p>
<hr />
<div>{{Infobox game<br />
|cover = Portal 2 cover.jpg<br />
|developers = <br />
{{Infobox game/row/developer|Valve Corporation}}<br />
|publishers = <br />
|engines = <br />
{{Infobox game/row/engine|Source}}<br />
|release dates= <br />
{{Infobox game/row/date|Windows|April 19, 2011}}<br />
{{Infobox game/row/date|OS X|April 19, 2011}}<br />
{{Infobox game/row/date|Linux|June 17, 2014}}<br />
|reception = <br />
{{Infobox game/row/reception|Metacritic|portal-2|95}}<br />
{{Infobox game/row/reception|IGDB|portal-2|92}}<br />
|taxonomy =<br />
{{Infobox game/row/taxonomy/monetization | }}<br />
{{Infobox game/row/taxonomy/microtransactions | }}<br />
{{Infobox game/row/taxonomy/modes | Singleplayer, Multiplayer }}<br />
{{Infobox game/row/taxonomy/pacing | Real-time }}<br />
{{Infobox game/row/taxonomy/perspectives | First-person }}<br />
{{Infobox game/row/taxonomy/controls | Direct control }}<br />
{{Infobox game/row/taxonomy/genres | Platform, Puzzle }}<br />
{{Infobox game/row/taxonomy/art styles | Stylized }}<br />
{{Infobox game/row/taxonomy/themes | Comedy, Sci-fi }}<br />
{{Infobox game/row/taxonomy/series | Portal }}<br />
|steam appid = 620<br />
|steam appid side = 659, 660, 323180, 104600<br />
|gogcom id = <br />
|hltb = 7231<br />
|official site= http://www.thinkwithportals.com/<br />
|strategywiki = Portal 2<br />
|mobygames = portal-2<br />
|wikipedia = Portal 2<br />
|winehq = 12988<br />
|license = commercial<br />
}}<br />
<br />
'''Key points'''<br />
{{++}} Built-in level editor with Steam Workshop support.<ref>[https://store.steampowered.com/news/7842/ News - Portal 2 Perpetual Testing Initiative Begins May 8]</ref><br />
<br />
'''General information'''<br />
{{mm}} [https://steamcommunity.com/app/620/discussions/ Steam Community Discussions]<br />
{{mm}} [https://steamcommunity.com/workshop/browse/?appid=620 Steam Workshop for Portal 2]<br />
<br />
==Availability==<br />
{{Availability|<br />
{{Availability/row| Retail | | Steam | All copies of Portal 2 on PlayStation 3 come with a Steam key (can only be activated on accounts that have logged into Portal 2 on PS3 before). | | Windows, OS X, Linux }}<br />
{{Availability/row| Steam | 620 | Steam | [https://store.steampowered.com/bundle/234/Portal_Bundle Portal Bundle] also available. | | Windows, OS X, Linux }}<br />
}}<br />
{{ii}} All versions require {{DRM|Steam}}.<br />
{{++}} Soundtrack is available for free {{store link|Steam|323180|as DLC}} and [http://www.thinkwithportals.com/music.php on the official website].<br />
<br />
'''PlayStation 3'''<br />
{{ii}} The PlayStation 3 version includes a single-use product key for [[Steam]].<br />
{{++}} Can be linked to a Steam account, which allows cross-platform multiplayer with Steam players, access to your Steam friend list (chat, invites, etc.), Steam Achievements, and Steam Cloud save-games (PlayStation 3 saves are not compatible with other versions).<br />
<br />
{{DLC|<br />
{{DLC/row| Peer Review | Free, included in latest update. Requires you to finish the original coop missions to play.<ref>https://gaming.stackexchange.com/questions/32061/how-do-i-actually-start-the-peer-review-dlc-on-portal-2</ref> | Windows, OS X, Linux }}<br />
{{DLC/row| [https://store.steampowered.com/app/323180/Portal_2_Soundtrack Soundtrack] | Available for free. | Windows, OS X, Linux }}<br />
{{DLC/row| Roll cage skin | Pre-order only | Windows, OS X, Linux }}<br />
{{DLC/row| Paint job skin | Pre-order only | Windows, OS X, Linux }}<br />
{{DLC/row| Antenna trooper skin | Pre-order only | Windows, OS X, Linux }}<br />
}}<br />
<br />
==Essential improvements==<br />
===Skip intro videos===<br />
{{Fixbox|description=Use <code>-novid</code> [[Glossary:Command line arguments|command line argument]]|ref={{cn|date=July 2016}}}}<br />
<br />
==Game data==<br />
===Configuration file(s) location===<br />
{{Game data|<br />
{{Game data/config|Windows|{{p|game}}/portal2/cfg/|{{p|game}}/portal2_dlc2/cfg/|{{p|game}}/update/cfg/}}<br />
}}<br />
{{XDG|unknown}}<br />
<br />
===Save game data location===<br />
{{Game data|<br />
{{Game data/saves|Steam|{{p|game}}/portal2/SAVE/}}<br />
}}<br />
<br />
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===<br />
{{Save game cloud syncing<br />
|discord = <br />
|discord notes = <br />
|epic games store = <br />
|epic games store notes = <br />
|gog galaxy = <br />
|gog galaxy notes = <br />
|origin = <br />
|origin notes = <br />
|steam cloud = true<br />
|steam cloud notes = Approx. 1 GB available.<br />
|uplay = <br />
|uplay notes = <br />
|xbox cloud = <br />
|xbox cloud notes = <br />
}}<br />
<br />
==Video==<br />
{{Image|Portal 2 General Video.png|In-game general video settings.}}<br />
{{Image|Portal 2 Advanced Video.png|In-game advanced video settings.}}<br />
{{Video<br />
|wsgf link = https://www.wsgf.org/dr/portal-2<br />
|widescreen wsgf award = gold<br />
|multimonitor wsgf award = gold<br />
|ultrawidescreen wsgf award = incomplete<br />
|4k ultra hd wsgf award = incomplete<br />
|widescreen resolution = true<br />
|widescreen resolution notes= <br />
|multimonitor = true<br />
|multimonitor notes = <br />
|ultrawidescreen = true<br />
|ultrawidescreen notes = <br />
|4k ultra hd = true<br />
|4k ultra hd notes = Crosshair interface scales poorly. <br />
|fov = hackable<br />
|fov notes = See [[#Field of view (FOV)|Field of view (FOV)]].<br />
|windowed = true<br />
|windowed notes = <br />
|borderless windowed = true<br />
|borderless windowed notes = <br />
|anisotropic = true<br />
|anisotropic notes = Up to 16 samples.<br />
|antialiasing = true<br />
|antialiasing notes = Up to 8x [[MSAA]]. Nvidia users can acheive OGSSAA hybrid modes combined with TrSSAA using flag <code>0x000000C0</code>.<ref>https://www.forum-3dcenter.org/vbulletin/showpost.php?p=9559666&postcount=3606</ref><br />
|vsync = true<br />
|vsync notes = Double and triple buffered.<br />
|60 fps = true<br />
|60 fps notes = <br />
|120 fps = true<br />
|120 fps notes = Capped at 300 using the default render, No cap when using the vulkan render, You can give a cap by changing <code>fps_max</code> in the [[#Enabling the console|developer console]]. You must first set <code>sv_cheats = 1</code> before using <code>fps_max</code>. <code>sv_cheats = 1</code> will also disable achievements.<ref>[http://120hz.net/showthread.php?3258-New-120Hz-Games-Report New 120Hz Games Report]</ref><br />
|hdr = unknown<br />
|hdr notes = <br />
|color blind = unknown<br />
|color blind notes = <br />
}}<br />
{{ii}} HBAO also available with flag <code>0x00000014</code>.<br />
<br />
===[[Glossary:Field of view (FOV)|Field of view (FOV)]]===<br />
{{Fixbox|description=Enter console commands|ref=<ref>[https://www.youtube.com/watch?v=9DyU_W3z4k8 Permanent FOV in Portal 2 and Change Portal Gun Position - YouTube]</ref>|fix=<br />
# Go to Options, Keyboard/Mouse, and set Allow Developer Console to Enabled.<br />
# Press {{key|~}} to toggle the console.<br />
# Type in {{code|bind w "+forward; cl_fov xx"}}, replacing {{code|xx}} with the desired FOV, and press {{key|Enter}}.<br />
# OPTIONAL: Type in {{code|viewmodel_offset_y 6}} and press {{key|Enter}}. This moves the portal gun's position further away.<br />
# Every time you load a map, press {{key|w}} to change the FOV to the desired value.<br />
}}<br />
<br />
===Split-screen without bezels===<br />
{{ii}} Portal 2 split-screen mode was meant to be played on a single 16:9 screen only. If you have a different setup then, the image could not entirely fit the monitor(s).<br />
<br />
{{Fixbox|description=Edit split-screen aspect-ratio|ref=<ref>[https://www.wsgf.org/blog/blevar/2012/01/13/howto-left-4-dead-split-screen-eyefinity Widescreen gaming blog post] on Eyefinity in Left 4 Dead 1</ref>|fix=<br />
# Go to <code>{{p|game}}/portal 2</code><br />
# Open <code>splitscreen_config.txt</code> with a text editor<br />
# Look for <code>"aspect" "8 by 9"</code> string<br />
# Change it accordingly to your actual aspect ratio '''''divided by 2'''''<br />
<br />
'''Notes'''<br />
{{ii}} If you are interested to horizontal split-screen aspect ratio, you should look instead for <code>"aspect" "32 by 9"</code> string (remember that you need to ''multiply by 2'' the aspect ratio now)<br />
}}<br />
<br />
===Disable motion blur===<br />
{{Fixbox|description=Use the {{code|+mat_motion_blur_percent_of_screen_max 0}} [[Glossary:Command line arguments|command line argument]]|ref={{cn|date=December 2016}}}}<br />
<br />
===Run at monitor's refresh rate===<br />
{{Fixbox|description=Use the {{code|-refresh }}&nbsp;[[Glossary:Command line arguments|command line argument]], followed by the desired refresh rate.|ref={{cn|date=May 2019}}|fix=}}<br />
<br />
===[[Glossary:Frame rate capping|Cap frame rate]]===<br />
{{Fixbox|description=Use the {{code|+fps_max }}&nbsp;[[Glossary:Command line arguments|command line argument]], followed by the desired frame rate.|ref={{cn|date=May 2019}}|fix=}}<br />
<br />
==Input==<br />
{{Image|Portal 2 Controls.png|In-game general controls settings.}}<br />
{{Image|Portal 2 Gamepad.png|In-game gamepad settings.}}<br />
{{Image|Portal 2 Remapping.png|In-game key map settings.}}<br />
{{Image|Portal 2 Gamepad Remapping.png|In-game button map settings.}}<br />
{{Input<br />
|key remap = true<br />
|key remap notes = <br />
|acceleration option = true<br />
|acceleration option notes = <br />
|mouse sensitivity = true<br />
|mouse sensitivity notes = <br />
|mouse menu = true<br />
|mouse menu notes = <br />
|invert mouse y-axis = true<br />
|invert mouse y-axis notes = <br />
|touchscreen = unknown<br />
|touchscreen notes = <br />
|controller support = true<br />
|controller support notes = Perpetual Testing Initiative level select menu is buggy but workable.<br />
|full controller = true<br />
|full controller notes = To make {{code|controller vibration}} work, download an updated version of the SDL2 file and replace it with the one in the Portal2\Bin folder. [https://www.libsdl.org/release/SDL2-2.0.12-win32-x86.zip SDL] This works for any Source engine based game.<br />
|controller remap = true<br />
|controller remap notes = <br />
|controller sensitivity = true<br />
|controller sensitivity notes= Has separate sliders for horizontal and vertical sensitivity.<br />
|invert controller y-axis = true<br />
|invert controller y-axis notes= <br />
|xinput controllers = true<br />
|xinput controllers notes = <br />
|xbox prompts = true<br />
|xbox prompts notes = <br />
|impulse triggers = hackable<br />
|impulse triggers notes = Use [https://github.com/araghon007/X1nput/releases X1nput]<ref>[https://www.reddit.com/r/pcgaming/comments/b31frk/x1nput_20_xbox_one_controller_impulse_triggers_on/ X1nput 2.0 - Xbox One Controller Impulse Triggers on (almost) any PC game]</ref><br />
|dualshock 4 = true<br />
|dualshock 4 notes = Officially supported via [[Steam Input]].<br />
|dualshock prompts = true<br />
|dualshock prompts notes = Both [[Controller:DualShock_4|DualShock 4]] and [[Controller:DualSense|DualSense]] prompts.<br />
|light bar support = false<br />
|light bar support notes = <br />
|dualshock 4 modes = Wired, wireless<br />
|dualshock 4 modes notes = <br />
|tracked motion controllers= true<br />
|tracked motion controllers notes = Sixense controllers with the [[Portal 2 Sixense Perceptual Pack]]<br />
|tracked motion prompts = true<br />
|tracked motion prompts notes = <br />
|other controllers = limited<br />
|other controllers notes = Both [[Controller:Switch_Pro_Controller|Switch Pro Controller]] and Generic Gamepads are supported through [[Steam#Steam_Input|Steam Input]].<br />
|other button prompts = Nintendo<br />
|other button prompts notes= <br />
|controller hotplug = true<br />
|controller hotplug notes = <br />
|haptic feedback = true<br />
|haptic feedback notes = <br />
|simultaneous input = true<br />
|simultaneous input notes = <br />
|steam input api = true<br />
|steam input api notes = <br />
|steam hook input = unknown<br />
|steam hook input notes = <br />
|steam input presets = true<br />
|steam input presets notes = <br />
|steam controller prompts = true<br />
|steam controller prompts notes = <br />
|steam cursor detection = unknown<br />
|steam cursor detection notes = <br />
}}<br />
<br />
==Audio==<br />
{{Image|Portal 2 Audio.png|In-game audio settings.}}<br />
{{Audio<br />
|separate volume = true<br />
|separate volume notes = Over-all game volume and separate music slider.<br />
|surround sound = true<br />
|surround sound notes = 7.1, 5.1 surround sound, 4 speaker surround<ref>[https://web.archive.org/web/20141205150543/http://forums.steampowered.com/forums/showthread.php?t=2608992 Portal 2 EAX sound fix for sublime sound - Steam Users' Forums] (retrieved)</ref> <br />
The option for the 7.1 surround sound might be missing, type snd_surround_speakers 7 to fix this issues.<br />
|subtitles = true<br />
|subtitles notes = <br />
|closed captions = true<br />
|closed captions notes = <br />
|mute on focus lost = hackable<br />
|mute on focus lost notes = Open console and type snd_mute_losefocus 0 to Disable, snd_mute_losefocus 1 to Enable<br />
|eax support = false<br />
|eax support notes = <br />
}}<br />
<br />
{{L10n|content=<br />
{{L10n/switch<br />
|language = English<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Simplified Chinese<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Traditional Chinese<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Czech<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Danish<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Dutch<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Finnish<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = French<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = German<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Hungarian<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Italian<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Japanese<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Korean<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Norwegian<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Polish<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Portuguese<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Romanian<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Russian<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Spanish<br />
|interface = true<br />
|audio = true<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Swedish<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Thai<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
{{L10n/switch<br />
|language = Turkish<br />
|interface = true<br />
|audio = false<br />
|subtitles = true<br />
|notes = <br />
|fan = <br />
}}<br />
}}<br />
<br />
===Disable in-game voice chat===<br />
{{++}} Disables in-game voice chat to allow using other voice chat services instead.<br />
<br />
{{Fixbox|description=Disable voice chat|ref={{cn|date=February 2021}}|fix=<br />
# Go into game options.<br />
# Enable the developer console.<br />
# Press {{key|~}}.<br />
# Type in <code>voice_enable 0</code>.<br />
}}<br />
<br />
==Network==<br />
{{Network/Multiplayer<br />
|local play = true<br />
|local play players = 2<br />
|local play modes = Co-op<br />
|local play notes = Two player split-screen<br />
|lan play = true<br />
|lan play players = 2<br />
|lan play modes = Co-op<br />
|lan play notes = Use sv_lan command. You can play with up to 33 players with [https://steamcommunity.com/sharedfiles/filedetails/?id=2458260280 this mod].<br />
|online play = true<br />
|online play players = 33<br />
|online play modes = Co-op<br />
|online play notes = Supports crossplay with PS3. You can play with up to 33 players with [https://steamcommunity.com/sharedfiles/filedetails/?id=2458260280 this mod].<br />
|asynchronous = <br />
|asynchronous notes = <br />
}}<br />
<br />
{{Network/Connections<br />
|matchmaking = true<br />
|matchmaking notes = <br />
|p2p = true<br />
|p2p notes = <br />
|dedicated = false<br />
|dedicated notes = <br />
|self-hosting = true<br />
|self-hosting notes = <br />
|direct ip = hackable<br />
|direct ip notes = Open the console ({{key|~}}) and enter <code>connect</code> followed by the IP and port.<br />
}}<br />
<br />
{{Network/Ports<br />
|tcp = 27014-27050<br />
|udp = 3478, 4379-4380, 27000-27030<br />
|upnp = unknown<br />
}}<br />
<br />
==VR support==<br />
{{VR support<br />
|gg3d name = Portal 2<br />
|native 3d gg3d award = <br />
|nvidia 3d vision gg3d award = gold<br />
|tridef 3d gg3d award = gold<br />
|iz3d gg3d award = gold<br />
|native 3d = unknown<br />
|native 3d notes = <br />
|nvidia 3d vision = true<br />
|nvidia 3d vision notes = Use [http://helixmod.blogspot.com/2015/07/portal-2.html Helix Mod: Portal 2] for better support.<br />
|tridef 3d = true<br />
|tridef 3d notes = <br />
|iz3d = true<br />
|iz3d notes = <br />
|vorpx = true<br />
|vorpx modes = G3D,DirectVR<br />
|vorpx notes = Officially supported game, see [https://www.vorpx.com/supported-games/ official vorpx game list].<br />
|htc vive = <br />
|htc vive notes = <br />
|oculus rift = <br />
|oculus rift notes = <br />
|osvr = <br />
|osvr notes = <br />
|keyboard-mouse = <br />
|keyboard-mouse notes = <br />
|3rd space gaming vest = <br />
|3rd space gaming vest notes = <br />
|novint falcon = <br />
|novint falcon notes = <br />
|trackir = <br />
|trackir notes = <br />
|tobii eye tracking = <br />
|tobii eye tracking notes = <br />
|play area seated = <br />
|play area seated notes = <br />
|play area standing = <br />
|play area standing notes = <br />
|play area room-scale = <br />
|play area room-scale notes = <br />
}}<br />
<br />
==Issues fixed==<br />
===Game does not start on Linux===<br />
{{ii}} This happens because of Portal 2 bundling an old libstdc++ file. Most common in open source Radeon drivers such as RadeonSI.<br />
<br />
{{Fixbox|description=Game does not start on Linux|ref={{cn|date=June 2017}}|fix=<br />
Use any of these fixes<br />
* Remove "{{p|game}}/Portal 2/bin/libstdc++.so.6" file<br />
OR<br />
* Add <code>LD_PRELOAD='/usr/$LIB/libstdc++.so.6'</code> to the Launch Options.<br />
}}<br />
<br />
===Purple and black broken textures===<br />
{{ii}} A generic fix for this issue can be found [[Engine:Source#Broken textures|on our Source engine page]].<br />
<br />
===Split-screen co-op===<br />
{{ii}} As of November 20, 2012, splitscreen mode has been officially added for Standard Co-Op.<ref>[https://store.steampowered.com/news/9423/ Portal 2 Update Released - Steam News for Portal 2]</ref><br />
{{ii}} If you'd like to use a keyboard/mouse for Player 1 and a controller for Player 2 in Windows, follow these instructions:<br />
<br />
{{Fixbox|description=Input joy_remap_player_for_controller1 2|ref={{cn|date=July 2016}}|fix=<br />
# Open the [[#Console commands|console]] in Portal 2<br />
# Input <code>joy_remap_player_for_controller1 2</code><br />
# Play<br />
}}<br />
<br />
{{ii}} If you'd like to use a keyboard/mouse for Player 2 and a controller for Player 1 in OS X or Linux, follow these instructions:<br />
<br />
{{Fixbox|description=Use in_forceuser to switch keyboard and mouse to player 2|ref={{cn|date=July 2016}}|fix=<br />
# Make sure your controller is connected beforehand<br />
# Open Portal 2<br />
# Open the [[#Console commands|console]]<br />
# Start a coop game <code>ss_map mp_coop_start</code><br />
# Run the following commands <code>sv_cheats 1</code> then <code>in_forceuser 1</code><br />
# Keyboard/mouse is now controlling player 2 and the gamepad is controlling player 1.<br />
# Play<br />
}}<br />
<br />
===Black screen at launch===<br />
{{Fixbox|description=Set your resolution to your native desktop resolution|ref={{cn|date=September 2016}}}}<br />
<br />
==="Visual 2005 Runtime" error===<br />
{{Fixbox|description=Install Microsoft Visual Runtime Libraries|ref={{cn|date=July 2016}}|fix=<br />
# Visit [https://www.microsoft.com/en-us/download/details.aspx?id=5555 Microsoft Visual Runtime Libraries]<br />
# Download and install the files provided<br />
# Run the game<br />
}}<br />
<br />
==="Portal 2 Failed to create D3D device" error===<br />
{{Fixbox|description=Install DirectX|ref={{cn|date=July 2016}}|fix=<br />
# Install/update [https://www.microsoft.com/en-us/download/details.aspx?id=35 DirectX]<br />
# Find Portal 2 in your Steam Library<br />
# Right-click the game name<br />
# Select <code>Properties</code><br />
# Select <code>Set Launch Options...</code><br />
# Input <code>-w # -h #</code>, where each <code>#</code> is your monitor's width and height respectively.<br />
}}<br />
<br />
===Freezes after logo intro video===<br />
{{Fixbox|description=[[#Skip intro videos|Skip intro videos]]|ref={{cn|date=July 2016}}|fix=<br />
}}<br />
{{Fixbox|description=Verify Your Game Cache|ref={{cn|date=July 2016}}|fix=<br />
# Find Portal 2 in your Steam Library<br />
# Right-click the game name<br />
# Select <code>Properties</code><br />
# Go to the <code>Local Files</code> tab<br />
# Select <code>Verify Integrity of Game Cache...</code><br />
# This may take a while, just wait for it to finish<br />
# Once it's done press <code>OK</code><br />
# Launch the game<br />
}}<br />
<br />
{{ii}} If you have an FX Bulldozer CPU, such as the AMD FX 4100, you may need to:<br />
{{Fixbox|description=Update the BIOS|ref={{cn|date=September 2016}}|fix=<br />
{{ii}} Updating the [[Glossary:BIOS|BIOS]] may fix this issue<br />
}}<br />
{{Fixbox|description=Orocho-CEG|ref={{cn|date=July 2016}}|fix=<br />
# Visit [http://www.xtremesystems.org/forums/showthread.php?276698-A-fix-for-Valve-CEG-games-causing-BSOD-on-Bulldozer-issue this thread] <br />
# Download and open the Orocho-CEG application<br />
<br />
'''Notes'''<br />
{{ii}} Orocho-CEG must be restarted after each reboot<br />
}}<br />
<br />
===Freezes and stuttering on Mac===<br />
{{Fixbox|description=Disable joystick support|ref={{cn|date=July 2016}}|fix=<br />
# Find Portal 2 in your Steam Library<br />
# Right-click the game name<br />
# Select <code>Properties</code><br />
# Select <code>Set Launch Options...</code><br />
# Input <code>-nojoy</code><br />
# Press <code>OK</code> and launch the game<br />
}}<br />
<br />
==="Could not Load Library Client" error===<br />
{{Fixbox|description=Add Steam.exe and portal2.exe to your firewall's exception lists|ref={{cn|date=July 2016}}|fix=<br />
# Open your firewall's software<br />
# Find your exception list<br />
# Add <code>Steam.exe</code> and <code>portal2.exe</code> to your exceptions list<br />
# Open the game<br />
}}<br />
<br />
===No sound===<br />
{{Fixbox|description=Run the game with Stereo Sound|ref={{cn|date=September 2016}}}}<br />
<br />
===Sound causing stuttering===<br />
{{Fixbox|description=Update your sound card drivers|ref={{cn|date=September 2016}}}}<br />
<br />
===Generic crash fixes===<br />
{{Fixbox|description=Run as Administrator|ref={{cn|date=July 2016}}|fix=<br />
# Go to the installation folder.<br />
# Right-click on <code>Portal2.exe</code> and select <code>Run as Administrator</code><br />
}}<br />
{{Fixbox|description=Run in compatibility mode|ref={{cn|date=July 2016}}|fix=<br />
# Go to the installation folder.<br />
# Right-click on <code>Portal2.exe</code> and select <code>Run in Compatibility Mode</code><br />
# Make it run in compatibility mode with Windows XP SP3<br />
}}<br />
<br />
===Cinematic audio stutter===<br />
{{Fixbox|description=Update your audio device drivers|ref={{cn|date=July 2016}}|fix=<br />
# Update audio device drivers<br />
# Uninstall extra codecs you have installed<br />
}}<br />
<br />
===Lag physics blob fix===<br />
{{Fixbox|description=Input r_threaded_blobulator 0 in the console|ref={{cn|date=July 2016}}|fix=<br />
# Open the console ({{key|~}})<br />
# Input <code>r_threaded_blobulator 0</code><br />
}}<br />
<br />
===Portal 2 with Integrated Intel Graphics===<br />
{{ii}} Portal 2 may have problems running on integrated Intel graphics cards, including crashing and black screens. Windowed mode may fix this.<br />
<br />
{{Fixbox|description=Play in windowed mode|ref={{cn|date=July 2016}}|fix=<br />
# Find Portal 2 in your Steam Library<br />
# Right-click the game name<br />
# Select <code>Properties</code><br />
# Select <code>Set Launch Options...</code><br />
# Input <code>-windowed</code><br />
# Launch Portal 2<br />
}}<br />
<br />
===Resolution is too low in Linux===<br />
{{Fixbox|description=Resolution is too low in Linux|ref={{cn|date=June 2017}}|fix=<br />
Run the game with <code>-windowed</code> in <code>Launch Options</code>.<br />
}}<br />
<br />
==Other information==<br />
===API===<br />
{{API<br />
|direct3d versions = 9<br />
|direct3d notes = <br />
|directdraw versions = <br />
|directdraw notes = <br />
|wing = <br />
|wing notes = <br />
|opengl versions = 2.1<br />
|opengl notes = OS X and Linux only.<br />
|glide versions = <br />
|glide notes = <br />
|software mode = <br />
|software mode notes = <br />
|mantle support = <br />
|mantle support notes = <br />
|metal support = <br />
|metal support notes = <br />
|vulkan versions = hackable<br />
|vulkan notes = Use {{code|-vulkan}} [[Command line arguments|Command line argument]].<ref>https://store.steampowered.com/oldnews/81067</ref> Works via DXVK translation layer.<ref>https://www.reddit.com/r/linux_gaming/comments/ln426q/a_big_portal_2_update_has_been_released_which/gnynoe1?utm_source=share&utm_medium=web2x&context=3</ref><br />
|dos modes = <br />
|dos modes notes = <br />
|shader model versions = 2, 3<br />
|shader model notes = <br />
|windows 32-bit exe = true<br />
|windows 64-bit exe = false<br />
|windows exe notes = ""<br />
|mac os x powerpc app = <br />
|macos intel 32-bit app = true<br />
|macos intel 64-bit app = false<br />
|macos app notes = <ref name="mastan20210219">{{Refcheck|user=Mastan|date=2021-02-19}}</ref><br />
|macos arm app = <br />
|macos arm notes = <br />
|linux powerpc app = <br />
|linux 32-bit executable= true<br />
|linux 64-bit executable= false<br />
|linux executable notes = <ref name="mastan20210219"/><br />
}}<br />
<br />
===Middleware===<br />
{{Middleware<br />
|physics = Havok<br />
|physics notes = Heavily modified variant.<br />
|audio = Miles Sound System<br />
|audio notes = <br />
|interface = <br />
|interface notes = <br />
|input = <br />
|input notes = <br />
|cutscenes = Bink Video<br />
|cutscenes notes = Used for startup videos, in-game movies, and movies applied to surfaces.<br />
|multiplayer = Steamworks<br />
|multiplayer notes= <br />
}}<br />
<br />
===Console commands===<br />
{{ii}} Games running on the Source engine can utilize [https://developer.valvesoftware.com/wiki/Console_Command_List Source Engine Console Commands] for various tasks.<br />
<br />
{{Fixbox|description=Enabling the console in Source games|ref={{cn|date=July 2016}}|fix=<br />
# Launch the game<br />
# From the main menu select Options<br />
# Select the Keyboard tab<br />
# Click the Advanced button<br />
# Check the box next to Enable developer console ({{key|~}})<br />
# Click Apply<br />
<br />
'''Notes'''<br />
{{ii}} Some commands may first require you enabling sv_cheats. You can do so with <code>sv_cheats 1</code>.<br />
{{--}} Users without a US keyboard could experience some [[Engine:Source#Console doesn't open|problems]].<br />
}}<br />
<br />
===Launch options===<br />
{{ii}} View [https://support.steampowered.com/kb_article.php?ref=1040-JWMT-2947 this Steam Support Article regarding launch options] as well as [https://developer.valvesoftware.com/wiki/Launch_options#Source_Games the relevant Valve Developer wiki page] for further information and a list of useful Source engine launch options.<br />
<br />
{{Fixbox|description=Enabling a launch parameter|ref={{cn|date=July 2016}}|fix=<br />
# Find the game in your Steam Library<br />
# Right-click the game name<br />
# Select <code>Properties</code><br />
# Select <code>Set Launch Options...</code><br />
# Input your selected launch options and separate each command with a space<br />
# Press <code>OK</code><br />
# Launch the game<br />
}}<br />
<br />
===Mods===<br />
* [https://gamebanana.com/guis/33584 HD Loading Screens]<br />
* [https://gamebanana.com/skins/159041 Remastered GLaDOS] or [https://gamebanana.com/skins/159062 Source 2 GLaDOS]<br />
* [https://gamebanana.com/skins/165755 HD Portals with Hands]<br />
<br />
==System requirements==<br />
{{System requirements<br />
|OSfamily = Windows<br />
|minOS = 7, 8.1, 10<br />
|minCPU = Intel Pentium 4 3.0 GHz<br />
|minCPU2 = AMD Athlon 64 X2<br />
|minCPU3 = Dual Core CPU 2.0 GHz<br />
|minRAM = 2 GB<br />
|minHD = 8 GB<br />
|minGPU = ATI Radeon X800<br />
|minGPU2 = Nvidia GeForce 7600<br />
|minGPU3 = Intel HD Graphics 2000<br />
|minVRAM = 128 MB<br />
|minDX = 9.0c<br />
|minSM = 2.0b<br />
|minaudio = DirectX 9.0c compatible<br />
|notes = {{ii}} Windows XP and Vista were previously supported, but as future updates for this game and Steam occurred; the support was dropped, even with retail copies.<br />
}}<br />
<br />
{{System requirements<br />
|OSfamily = OS X<br />
|minOS = 10.6.7<br />
|minCPU = Intel Core Duo 2.0 GHz<br />
|minRAM = 2 GB<br />
|minHD = 8 GB<br />
|minGPU = ATI Radeon HD 2400<br />
|minGPU2 = Nvidia GeForce 8600M<br />
|minGPU3 = Intel HD Graphics 3000<br />
}}<br />
<br />
{{System requirements<br />
|OSfamily = Linux<br />
|minOS = Ubuntu 12.04<br />
|minCPU = Intel Dual Core 2.8 GHz<br />
|minCPU2 = AMD Dual Core 2.8 GHz<br />
|minRAM = 2 GB<br />
|minHD = 8 GB<br />
|minGPU = ATI Radeon HD 2600/3600<br />
|minGPU2 = Nvidia GeForce 8600/9600 GT<br />
|minOGL = 2.1<br />
|minaudio = OpenAL compatible<br />
|minother = (Graphic Drivers: Nvidia 310, AMD 12.11)<br />
}}<br />
<br />
{{References}}</div>68.129.223.133