Pop!_OS Guide

Note: You can easily convert this markdown file to a PDF in VSCode using this handy extension Markdown PDF.
Table of Contents
-
Getting Started
-
Getting Software
-
Gaming
-
Game Development
-
Setting up a macOS workspace
-
Setting up a Windows 10 workspace
-
Using Android and Android Apps on Linux
-
Professional Audio/Video Editing
-
Kubernetes
-
Machine Learning
-
Robotics
-
Open Source Security
-
Differential Privacy
-
Cloud Native Development
-
DevOps Development
-
Flutter Development
-
Networking
-
Databases
-
GNOME Extensions
-
Advanced Topics
Getting Started
Pop!_OS is an operating system(based on Ubuntu) for STEM and creative professionals who use their computer as a tool to discover and create developed by System76.
Pop!_OS COSMIC (Computer Operating System Main Interface Components) is a custom desktop environment developed by System76. This makes navigating your desktop workflow via your mouse, keyboard, and/or trackpad much simpler and more efficient.
PipeWire is a server and user space API to deal with multimedia pipelines. It provides a low-latency, graph based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both pulseaudio and JACK. PipeWire was designed with a powerful security model that makes interacting with audio and video devices from containerized applications easy. Nodes in the graph can be implemented as separate processes, communicating with sockets and exchanging multimedia content using fd passing.
Popsicle is a Linux utility for flashing multiple USB devices in parallel, written in Rust.
Popsicle UI
Etcher is an open source, cross-platform software that makes it easy to flash operating system images to a microSD card or USB device.
Etcher UI
Pop!_OS Desktop
-
Iced is a cross-platform GUI library for Rust focused on simplicity and type-safety. Inspired by Elm. It features Simple, easy-to-use, batteries-included API Type-safe, reactive programming model Cross-platform support (Windows, macOS, Linux, and the Web) Responsive layout Built-in widgets (including text inputs, scrollables, and more.)
-
Slint is a fast and easy UI Toolkit Benefits Fluid Create smooth, touch-friendly user interfaces Cross-Platform Target embedded devices and desktop applications Multi-Language Intuitive API in your favorite programming language (C++, Rust, JavaScript) Rapid Design Iterate quickly with Live-Preview Mission.
GNOME Tweaks
Open the terminal and run:
sudo apt install gnome-tweak-tool //let's you customize your desktop layout.
Enable Firewall
Open the terminal and run:
sudo ufw enable //enables firewall
sudo ufw status //checks status of firewall
Getting Software
Back to the Top
Pop Shop
Note 1: All this software is also available in other popular Linux distributions such as Debian, Linux Mint, elementary OS, Fedora, Manjaro Linux, EndeavourOS and Arch Linux.
Note 2: For new users not comfortable with using the command-line or need software not available in the Pop!_Shop checkout the Essential Apps section to get started. Also, if you scroll down further you’ll see other easy ways to get software applications through Flathub, Snap Store, and AppImages.
Essential Apps(depending on your workflow)
CrossOver Linux® is a Microsoft Windows compatibility layer(based on WINE(Wine Is Not an Emulator)). The CrossOver compatibility layer enables thousands of Windows-based applications to run on Linux, macOS, or Chrome OS.
Adobe Lighroom Online photo editor is an online web version of Adobe Photoshop Lightroom. Adobe account required to sign-in to app.
Adobe Spark(Web) is an application that let’s you make cool Social Graphics, Short Videos, and Web Pages. Adobe account required to sign-in to app.
Photopea is an advanced online image editor supporting PSD, XCF, Sketch, XD and CDR formats. (Adobe Photoshop, GIMP, Sketch App, Adobe XD, CorelDRAW).
Master PDF Editor is straightforward, easy to use application for working with PDF documents equipped with powerful multi-purpose functionality. With Master PDF Editor you can easily view, create and modify PDF documents.
VMware Workstation Player is an ideal utility for running a single virtual machine on a Windows or Linux PC. Organizations use Workstation Player to deliver managed corporate desktops, while students and educators use it for learning and training.
VMware Workstation Pro is the industry standard for running multiple operating systems as virtual machines (VMs) on a single Linux or Windows PC. IT professionals, developers and businesses who build, test or demo software for any device, platform or cloud rely on Workstation Pro.
WinApps for Linux is a program that runs Windows apps such as Microsoft Office & Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration for right clicking on files of specific mime types to open them.
DaVinci Resolve video editor is complete video editing solution that combines professional 8K editing, color correction, visual effects and audio post production all in one software tool.
Reaper Audio editor is a complete digital audio production application for computers, offering a full multitrack audio and MIDI recording, editing, processing, mixing and mastering toolset.
MATLAB Online allows to users to uilitize MATLAB and Simulink through a web browser such as Google Chrome.
Timeshift for Linux is an application that provides functionality similar to the System Restore feature in Windows and the Time Machine tool in Mac OS. Timeshift protects your system by taking incremental snapshots of the file system at regular intervals. These snapshots can be restored at a later date to undo all changes to the system.
Stacer is an open source system optimizer and application monitor that helps users to manage their entire system. Also available as an AppImage.
Nativefier is a command-line tool to easily create a desktop app for any web site with minimal configuration. Apps are wrapped by Electron (which uses Chromium under the hood) in an OS executable (.app, .exe, etc) for use on Windows, macOS and Linux.
App Outlet
App Outlet is a Universal application store(Flatpaks, Snaps, and AppImages) inspired by the Linux App Store online service.
Flatpaks
FlatHub is a build and distribution service for Flatpak applications.
FlatHub Forum
Snaps
Installing snap on Pop!_OS
Snap Store is a build and distribution service for Snap applications.
Snapcraft Forum
AppImages
AppImageHub is a build and distribution service for AppImage applications.
AppImage Manager is a package manager for AppImages.
AppImage Forum
Gaming
Back to the Top
Linux Gaming Resources
Game Controllers
Back to the Top
Xbox Wireless Controller + USB-C® Cable
Xbox Controller
PlayStation 5 DualSense™ Wireless Controller
Note: make sure to use Bottles to run this firmware.
PS 5 DualSense™ Controller
Nintendo Switch Pro Controller
Nintendo Switch Pro Controller
Setting up OBS Studio
Back to the Top
OBS (Open Broadcaster Software) is free and open source software for video recording and live streaming. Stream to Twitch, YouTube and many other providers or record your own videos with high quality H264 / AAC encoding. OBS Studio added native PipeWire and Wayland support in version 27.
Installing OBS Studio on Ubuntu:
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install ffmpeg obs-studio
OR

OBS Studio
-
OBS PipeWire Audio Capture is a plugin adds 3 sources for OBS Studio tocapture audio outputs, inputs and applications using PipeWire.
-
OBS Scale To Sound is a plugin for OBS Studio that adds a filter which makes a source scale based on the audio levels of any audio source you choose.
-
OBS Studio Fully-loaded is a script for Ubuntu/Debian-based systems that installs OBS Studio along with pre-loaded extra features and plugins. This project is developed and maintained by Martin Wimpress.
Useful OBS Studio 3rd party plugins and themes.
- Advanced Scene Switcher plugin; an automated scene switcher.
- Audio Pan plugin; control stereo pan of audio source.
- Browser plugin; CEF-based OBS Studio browser plugin.
- Directory Watch Media plugin; filter you can add to media source to load the oldest or newest file in a directory.
- Downstream Keyer plugin; add a Downstream Keyer dock.
- Dynamic Delay plugin; filter for dynamic delaying a video source.
- Freeze Filter plugin; freeze a source using a filter.
- Gradient Source plugin; adding gradients as a Soource.
- GStreamer plugins; feed GStreamer launch pipelines into OBS Studio and use GStreamer encoder elements.
- Move Transition plugin; move source to a new position during scene transition.
- Multi Source Effect plugin; provides a custom effect to render multiple sources.
- NDI plugin; Network A/V via NewTek’s NDI.
- NvFBC plugin; screen capture via NVIDIA FBC API. Requires NvFBC patches for Nvidia drivers for consumer grade GPUs.
- Pulse App Capture plugin; capture application audio from PulseAudio.
- Soundboard plugin; adds a soundboard dock.
- Source Copy plugin; adds copy and paste options to the tools menu.
- Source Dock plugin; create a Dock for a source, which lets you see audio levels, change volume and control media.
- Recursion Effect plugin; recursion effect filter.
- Replay Source plugin; slow motion replay async sources from memory.
- RGB Levels plugin; simple filter to adjust RGB levels.
- RTSPServer plugin; encode and publish to a RTSP stream.
- Scale to Sound plugin; adds a filter which makes a source scale based on the audio levels of any audio source you choose
- Scene Collection Manager plugin; filter, backup and restore Scene Collections.
- Scene Notes Dock plugin; create a Dock for showing and editing notes for the current active scene.
- Source Record plugin; make sources available to record via a filter.
- Source Switcher plugin; to switch between a list of sources.
- Spectralizer plugin; audio visualization using fftw.
- StreamFX plugin; collection modern effects filters and transitions.
- Teleport plugin; open NDI-like replacement.
- Text Pango plugin; Provides a text source rendered using Pango with multi-language support, emoji support, vertical rendering and RTL support.
- Text PThread plugin; Rich text source plugin with many advanced features.
- Time Warp Scan plugin; a time warp scan filter.
- Transition Table plugin; customize scene transitions.
- Virtual Cam Filter plugin; make sources available to the virtual camera via a filter
- VNC Source plugin; VNC viewer that works as a source.
- Websockets plugin; remote-control OBS Studio through WebSockets, compatible with StreamControl.
Steam
Back to the Top
Steam Flatpak available on FlatHub.
Steam Remote Play Together is a steam service that let’s you share your Steam local multi-player games with friends over the internet, for free. Using Remote Play Together, one player owns and runs the game, then up to four players can join.
Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It uses Wine to facilitate this.
ProtonUp-Qt is a tool to install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface. Based on AUNaseef’s ProtonUp, made with Python 3 and Qt 6.
Enable Proton in Steam
- Click on “Steam” then “Settings” to open the Settings window at the far-left corner.
- On the “Settings” window, click on “Steam Play.” Ensure you check the “Enable Steam Play for supported files” and “Enable Steam Play for all other titles” checkboxes. Lastly, select the Proton version you wish to use from the drop-down menu.
ProtonDB
Back to the Top
ProtonDB is a collection of over 100,000 gaming reports from other gamers as they test games with Proton on Linux and provide aggregate scores of how well games perform. A growing pool of suggestions provides tweaks that you can try to get games working while Proton continues development. In addition to this, you may explore the Steam game catalog on this site to browse and discover a wide range of titles that were previously unavailable for use on Linux.
Lutris
Back to the Top
Lutrisis a gaming client for Linux. It gives you access to all your video games with the exception of the current console generation. Also, integrates nicely with other stores like GOG, Steam, Battle.net, Origin, Uplay and many other sources that allow you to import your existing game library and community maintained install scripts give you a completely automated setup.
Epic Games Store integration
Back to the Top
Add Epic Games Store
Blizzard Battle.net intgeration
Back to the Top
Blizzard Battle.net is an internet-based online gaming, digital distribution, and digital rights management platform developed by Activision and Blizzard Entertainment. Battle.net is the launcher for World of Warcraft, Diablo III, StarCraft II, Hearthstone, Heroes of the Storm, Overwatch and Call of Duty.
EA Play integration
Back to the Top
EA Play is a subscription-based video game service from Electronic Arts for the Xbox One, Xbox Series X/S, PlayStation 4, PlayStation 5 and Microsoft Windows platforms, offering access to selected games published by Electronic Arts along with additional incentives.
Origin integration
Back to the Top
Origin is an online gaming, digital distribution and digital rights management (DRM) platform developed by Electronic Arts that allows users to purchase games on the internet for PC and mobile platforms, and download them with the Origin client (formerly EA Download Manager, EA Downloader and EA Link).
Ubisoft Connect integration
Back to the Top
Ubisoft Connect is a digital distribution, digital rights management, multiplayer and communications service created by Ubisoft to provide an experience similar to the achievements/trophies offered by various other game companies.
GOG Galaxy integration
Back to the Top
GOG GALAXY is a fully optional client to install, play and update your games.
GameHub
Back to the Top
GameHub is a unified library for all your games. It allows you to store your games from different platforms into one program to make it easier for you to manage your games.
GameHub supports:
Epic Games Store
Back to the Top
Heroic is an Open Source Game Launcher for Linux, Windows and macOS (for both Native and Windows Games using Crossover). It supports launching games from the Epic Games Store using Legendary, a CLI alternative to the Epic Games Launcher. Flatpak for Heroic Games Launcher
Epic Games Store is a digital video game storefront for Microsoft Windows and macOS, operated by Epic Games.
Game Streaming
Back to the Top
Geforce NOW is NVIDIA’s Cloud Gaming Service.
Moonlight Game Streaming is a program that let you stream from your PC games over the Internet with no configuration required. Stream from almost any device, whether you’re in another room or miles away from your gaming rig.
Chiaki is a Free and Open Source Software Client for PlayStation 4 and PlayStation 5 Remote Play for Linux, FreeBSD, OpenBSD, Android, macOS, Windows, Nintendo Switch and potentially even more platforms. Chiaki Flatpak
Xbox Cloud Gaming is Microsoft’s cloud-based Xbox game-streaming technology (currently in Beta). Play games like Forza Horizon 4, Halo 5: Guardians, Gears of War 4, Sea of Thieves, Cuphead, Red Dead Redemption 2, and 100+ other games on your mobile device or Chrome web browser. Xbox Cloud Gaming does require an Xbox Game Pass Ultimate subscription.
Stadia is Google’s gaming platform that lets you instantly play your favorite video games on screens you already own. Game on TVs with Chromecast with Google TV, laptops, desktops, tablets or compatible phones. Stadia Pro is a subscription($9.99 per month) that unlocks a growing collection of free games to play on Stadia.
Parsec is a video game streaming platform, which offers a wide variety of games and genres to choose from and provides a high-quality and smooth gameplay. SParsec is developed in order to provide a high-quality smooth gameplay, same time to be free of all ads and in-game purchases.
Amazon Luna is Amazon’s Cloud Gaming Service. Amazon Luna is Compatible/Supported on a vartiey of Devices and Browsers.
Game Emulators
Back to the Top
EmulationStation Desktop Edition (ES-DE) is a frontend application for browsing and launching games from your multi-platform game collection. It’s available for Unix/Linux, macOS(M1 & Intel) and Windows.
Pegasus is a cross platform, customizable graphical frontend for launching emulators and managing your game library (especially retro games) and launching them from one place. It’s focused on customizability, cross platform support (including embedded devices) and high performance.
RetroPie is a frontend for emulators that allows you to turn your Raspberry Pi, ODroid C1/C2, or PC into a retro-gaming machine. It builds upon Raspbian, EmulationStation, RetroArch and many other projects to enable you to play your favourite Arcade, home-console, and classic PC games with the minimum set-up.
RetroArch is a frontend for emulators, game engines and media players. It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all. RetroArch Flatpak
Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more. Dolphin Flatpak
Citra is an open-source emulator for the Nintendo 3DS capable of playing many of your favorite games. Citra Flatpak
yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra.Yuzu Flatpak
m64p is a Nintendo 64 Emulator. It uses mupen64plus-gui, a brand new mupen64plus frontend written in Qt5. It supports all of the things you’d expect from a frontend (savestate management, pausing, screenshots). m64p Flatpak
DeSmuME is a Nintendo DS emulator. DeSmuME Flatpak
Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) emulator. Snes9x Flatpak
bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use. bsnes flatpak
mGBA is a new emulator for running Game Boy Advance games. It aims to be faster and more accurate than many existing Game Boy Advance emulators, as well as adding features that other emulators lack. mGBA Flatpak
DOSBox is an open-source DOS emulator which primarily focuses on running DOS Games.
DOSBox Staging is a full x86 CPU emulator (independent of host architecture), capable of running DOS programs that require real or protected mode. DOSBox Staging Flatpak
Flycast is a multi-platform Sega Dreamcast, Naomi and Atomiswave emulator derived from reicast. Flycast Flatpak
DuckStation is an simulator/emulator of the Sony PlayStation 1 console, focusing on playability, speed, and long-term maintainability. Available as a Flatpak on Flathub.
PCSX2 is a PlayStation 2 ‘emulator’, a free program that tries to replicate the PlayStation 2 console to enable you to play PS2 games on your PC. PCSX2 Flatpak
RPCS3 is an experimental open-source Sony PlayStation 3 emulator and debugger written in C++ for Windows and Linux. RPCS3 started development in May of 2011 by its founders DH and Hykem. The emulator is currently capable of running over 1800 commercial titles powered by Vulkan and OpenGL. RPCS3 Flatpak
MAME is a Arcade Machine Emulator.
xemu is an original Xbox emulator.
Xenia is an Xbox 360 Emulator.
Also checkout these subreddits for more great Game Emulators recommendations
Running Windows games with Bottles
Back to the Top
Bottles is a software tool that let’s you run Windows software on Linux. It’s built-in dependency installation system grants automatic software compatibility access. The download manager can download the official components such as: the runner (Wine, Proton), DXVK, dependencies, etc. Available on FlatHub.
Back to the Top
NVIDIA
Back to the Top
GreenWithEnvy (GWE) is a GTK system utility designed by Roberto Leinardi to provide information, control the fans and overclock your NVIDIA video card for better performance. Available as a Flatpak on FlatHub.
AMD
Back to the Top
-
AMD FidelityFX Super Resolution (FSR) is an open source, high-quality solution for producing high resolution frames from lower resolution inputs. FSR enables “practical performance” for costly render operations, such as hardware ray tracing for the AMD RDNA™ and AMD RDNA™ 2 architectures.
-
AMD FidelityFX Super Resolution (FSR) 2.0 is an open source, high-quality solution for producing high resolution frames from lower resolution inputs. It uses temporal data and optimized anti-aliasing to boost framerates in supported games while delivering similar or better image quality than native resolution.
-
AMD Open Source Driver for Vulkan® is an open-source Vulkan driver for Radeon™ graphics adapters on Linux®. It is built on top of AMD’s Platform Abstraction Library (PAL), a shared component that is designed to encapsulate certain hardware and OS-specific programming details for many of AMD’s 3D and compute drivers.
-
Vulkan® Memory Allocator (VMA) is a library provides a simple and easy to integrate API to help you allocate memory for Vulkan® buffer and image storage.
-
Radeon™ Raytracing Analyzer (RRA) is a tool that investigates the performance of your raytracing applications and highlight potential bottlenecks.
-
Radeon™ GPU Profiler is a low-level optimization tool that provides detailed information on Radeon™ GPUs.
-
Radeon™ GPU Analyzer is an offline compiler and performance analysis tool for DirectX®, Vulkan®, SPIR-V™, OpenGL®, and OpenCL™. It can be used together with RGP, RMV, and RDP.
-
Radeon™ Developer Panel (RDP) is an essential part of the Radeon™ Developer Tool Suite. It provides the communication channel that delivers requests to, and receives data from, the AMD Radeon™ driver.
-
Radeon™ Memory Visualizer (RMV) is a powerful tool that allows users to analyze video memory usage on AMD Radeon GPUs.
Radeon™ Memory Visualizer (RMV)
- CoreCtrl is a free and open source Linux application that allows you to control your computer hardware with ease using application profiles for native and Windows applications, along with basic CPU controls and full AMD GPUs controls (for both old and new models).
CoreCtrl
Intel ARC
Back to the Top
Version requirements for DG2/Alchemist hardware on Linux:
Note: With Linux 6.0 the DG2 class support is not exposed by default but requires setting the i915.force_probe=[PCI-ID] module option to force the driver to initialize the graphics card. This issue will be resolved with Linux Kernel 6.2.
On Debian-based systems:
sudo dmesg | grep -i i915
On Arch Linux-based systems:
su dmesg | grep -i i915
Intel Xe Super Sampling (XeSS) is a temporal image upscaling AI rendering technology that increases graphics performance similar to NVIDIA’s DLSS (Deep Learning Super Sampling). Intel’s Arc GPU architecture (Fall 2022) will have GPUs that feature dedicated Xe-cores to run XeSS. The GPUs will have Xe Matrix eXtenstions matrix (XMX) engines for hardware-accelerated AI processing. XeSS will be able to run on devices without XMX, including integrated graphics, though, the performance of XeSS will be lower on non-Intel graphics cards because it will be powered by DP4a instruction.
Intel ARC GPUs Overview. Credit: Intel
Gaming Peripherals
Back to the Top
OpenRazer is a collection of Linux drivers for Razer devices - providing kernel drivers, DBus services and Python bindings to interact with the DBus interface.
OpenRGB is a network-based Software Development Kit, which allows third-party software to control all of your RGB. This allows for game integrations, music visualization, ambient lighting, and anything else you can imagine. It supports ASUS, ASRock, Corsair, G.Skill, Gigabyte, HyperX, MSI, Razer, ThermalTake, and more.
GX52 is a GTK application designed to provide control for the LEDs and MFD of Logitech X52 and X52 Pro H.O.T.A.S.
Coolero is a program to monitor and control your cooling devices. It offers an easy-to-use user interface with various control features and also provides live thermal performance details.
Piper is a frontend GTK application to configure gaming devices(mainly Gaming Mice).
StreamDeck-UI is a Linux compatible UI for the Elgato Stream Deck.
Asusctl is a control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops.
MangoHud is a Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more.
GOverlay is an open source project aimed to create a Graphical UI to manage Vulkan/OpenGL overlays. It is still in early development.
Back to the Top
Geekbench 6 is a cross-platform benchmark that measures your system’s performance with the press of a button.
Phoronix Test Suite
UNIGINE Superposition is an extreme performance and stability test for PC hardware: video card, power supply, cooling system.
Wine
Back to the Top
WINE(Wine Is Not an Emulator) is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, macOS, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.
Winetricks
Winetricks is an easy way to work around problems in Wine.
Game Development
Back to the Top
Game Engines
Unity is a cross-platform game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
Unity Hub
Unreal Engine 4 is a game engine developed by Epic Games with the world’s most open and advanced real-time 3D creation tool. Continuously evolving to serve not only its original purpose as a state-of-the-art game engine, today it gives creators across industries the freedom and control to deliver cutting-edge content, interactive experiences, and immersive virtual worlds.
Linux Game Development on Unreal Engine 4
Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported in one click to a number of platforms, including the major desktop platforms (Linux, Mac OSX, Windows) as well as mobile (Android, iOS) and web-based (HTML5) platforms.
If you would like to Donate to the Godot Project
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, video editing and 2D animation pipeline.
If you would like to Donate to the Blender Project
Unigine is a cross-platform game engine designed for development teams (C++/C# programmers, 3D artists) working on interactive 3D apps.
GameMaker Studio 2 is the latest and greatest incarnation of GameMaker. It has everything you need to take your idea from concept to finished game. With no barriers to entry and powerful functionality, GameMaker Studio 2 is the ultimate 2D development environment.
Setting Up GameMaker Studio For Ubuntu
Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs, developed by Disney and CMU. Panda3D is open-source and free for any purpose, including commercial ventures.
Source 2 is a 3D video game engine in development by Valve as a successor to Source. It is used in Dota 2, Artifact, Dota Underlords, parts of The Lab, SteamVR Home, and Half-Life: Alyx.
Open Graphics Library(OpenGL) is an API used acrossed mulitple programming languages and platforms for hardware-accelerated rendering of 2D/3D vector graphics currently developed by the Khronos Group.
Open Computing Language (OpenCL) is an open standard for parallel programming of heterogeneous platforms consisting of CPUs, GPUs, and other hardware accelerators found in supercomputers, cloud servers, personal computers, mobile devices and embedded platforms.
OpenGL Shading Language(GLSL) is a High Level Shading Language based on the C-style language, so it covers most of the features a user would expect with such a language. Such as control structures (for-loops, if-else statements, etc) exist in GLSL, including the switch statement.
High Level Shading Language(HLSL) is the High Level Shading Language for DirectX. Using HLSL, the user can create C-like programmable shaders for the Direct3D pipeline. HLSL was first created with DirectX 9 to set up the programmable 3D pipeline.
Vulkan is a modern cross-platform graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms. Vulkan is currently in development by the Khronos consortium.
MoltenVK is an implementation of Vulkan running on iOS and macOS using Apple’s Metal graphics framework.
MoltenGL is an implementation of the OpenGL ES 2.0 API that runs on Apple’s Metal graphics framework.
NVIDIA Omniverse is a powerful, multi-GPU, real-time simulation and collaboration platform for 3D production pipelines based on Pixar’s Universal Scene Description and NVIDIA RTX.
HGIG is a volunteer group of companies from the game and TV display industries that meet to specify and make available for the public guidelines to improve consumer gaming experiences in HDR.
Three.js is a cross-browser JavaScript library and application programming interface used to create and display animated 3D computer graphics in a web browser using WebGL.
Superpowers is a downloadable HTML5 app for real-time collaborative projects . You can use it solo like a regular offline game maker, or setup a password and let friends join in on your project through their Web browser.
Augmented Reality (AR) & Virtual Reality (VR)
SteamVR for Linux is the ultimate tool for experiencing VR content on the hardware of your choice. SteamVR supports the Valve Index, HTC Vive, Oculus Rift, Windows Mixed Reality headsets, and others.
SteamVR Home
OpenVR is an API and runtime that allows access to VR hardware(Steam Index, HTC Vive, and Oculus Rift) from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.
OpenVR Benchmark on Steam is the first benchmark tool for reproducibly testing your real VR performance, rendering inside of your VR headset.
OpenHMD is open source API and drivers that supports a wide range of HMD(head-mounted display) devices such as Oculus Rift, HTC Vive, Sony PSVR, and others.
openXR is a free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR) collectively known as XR—platforms and devices.
Monado is the first OpenXR™ runtime for GNU/Linux. Monado aims to jump-start development of an open source XR ecosystem and provide the fundamental building blocks for device vendors to target the GNU/Linux platform.
Libsurvive is a set of tools and libraries that enable 6 dof tracking on lighthouse and vive based systems that is completely open source and can run on any device. It currently supports both SteamVR 1.0 and SteamVR 2.0 generation of devices and should support any tracked object commercially available.
Simula is a VR window manager for Linux that runs on top of Godot. It takes less than 1 minute to install. Simula is officially compatible with SteamVR headsets equipped with Linux drivers (e.g. HTC Vive, HTC Vive Pro, & Valve Index). We have also added experimental support to OpenXR headsets that have Monado drivers (e.g. North Star, OSVR HDK, and PSVR). Some people have gotten the Oculus Rift S to run Simula via OpenHMD (see here).
Game Development Learning Resources
Unreal Online Learning is a free learning platform that offers hands-on video courses and guided learning paths.
Unreal Engine Authorized Training Program
Unreal Engine for education
Unreal Engine Training & Simulation
Unity Certifications
Getting Started with Vulkan
Game Design Online Courses from Udemy
Game Design Online Courses from Skillshare
Learn Game Design with Online Courses and Classes from edX
Game Design Courses from Coursera
Game Design and Development Specialization Course from Coursera
Setting up a macOS workspace
Back to the Top
REQUIREMENTS
- A modern Linux distribution
- QEMU > 2.11.1
- A CPU with Intel VT-x / AMD SVM support is required
- A CPU with SSE4.1 support is required for >= macOS Sierra
- A CPU with AVX2 support is required for >= macOS Mojave
- Internet access for the installation process
Open the terminal and run:
sudo apt install qemu uml-utilities virt-manager dmg2img git wget libguestfs-tools p7zip
Sosumi is a app that let’s you download and install macOS in a VM. App is based on macOS-Simple-KVM.

OpenCore for macOS
Setting up a Windows 10 workspace
Back to the Top
REQUIREMENTS
Open the terminal and run:
sudo apt install qemu uml-utilities virt-manager gnome-boxes
GNOME Boxes is an application that gives you access to virtual machines, running locally or remotely. It also allows you to connect to the display of a remote computer.
OpenCore for Windows 10
Using Android and Android Apps on Linux
Back to the Top
Android Studio is the development suite for Google’s Android Operating System(OS). It’s built on JetBrains IntelliJ IDEA software and designed specifically for Android development. It is available for download on Windows, macOS and Linux.
Android Virtual Device (AVD) is a configuration in Android Studio that defines the characteristics of an Android phone, tablet, Wear OS, Android TV, or Automotive OS device that you want to simulate in the Android Emulator. The Android Emulator simulates Android devices on your computer so that you can test your application on a variety of devices and Android API levels without needing to have each physical device.
Waydroid is a container-based approach to boot a full Android system on a regular Linux system. The Android runtime environment ships with a minimal customized Android system image based on LineageOS. The image is currently based on Android 10.
Anbox is an application that provides a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu, Debian Fedora, and openSUSE.
Anbox Cloud is the mobile cloud computing platform delivered by Canonical. Run Android in the cloud, at high scale and on any type of hardware.
Genymotion is a very fast Android emulator. The program itself is based on VirtualBox and is known for its effectively fast speed and is usefulness for running Android apps on a Windows, Mac and Linux desktop.
Desktop
Local virtual devices with high performances.
- Emulate a wide range of virtual device configurations (Android versions, screen size, hardware capacities, etc.)
- Simulate multiple scenarios thanks to our full set of hardware sensors (GPS, network, multitouch, etc.)
- Cross-platform: Windows, Mac and Linux
- Manipulate easily with ADB
- $412 per year for employees in a company (BUSINESS). All features, advanced support.
- $136 per year for freelancers (INDIE). All features, best effort support.
- Free for personal use only (learning & entertainment). Limited features, no support.
Scrcpy is an application by Genymotion that provides display and control of Android devices connected on USB (or over TCP/IP). It does not require any root access and works on GNU/Linux, Windows and macOS. The Android device requires at
README 内容过长,已截取前 64 KB。完整内容请前往 GitHub 仓库查看。
评论