An open format is a file format for storing digital data, defined by a published specification usually maintained by a standards organization, and which can be used and implemented by anyone. For example, an open format can be implemented by both proprietary and free and open-source software, using the typical software licenses used by each. In contrast to open formats, closed formats are considered trade secrets. Open formats are also called free file formats if they are not encumbered by any copyrights, patents, trademarks or other restrictions (for example, if they are in the public domain) so that anyone may use them at no monetary cost for any desired purpose:
Imaging
Audio
Video
This is a listing of open-source codecs—that is, open-source software implementations of audio or video coding formats.
Audio Codecs
Video Codecs
Gstreamer
A library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing. Applications can take advantage of advances in codec and filter technology transparently. Developers can add new codecs and filters by writing a simple plugin with a clean, generic interface.
LMMS: aims to be a free alternative to popular (but commercial and closed-source) programs like FruityLoops, Cubase and Logic giving you the ability of producing music with your computer by creating cool loops, synthesizing and mixing sounds, arranging samples, having more fun with your MIDI-keyboard and much more.
WineHQ: 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.
PlayOnLinux: a front-end for wine. It permits you to easily install Windows Games and software on Linux. It is advised to have a functional internet connection.
Pars Enterprise encourage Its users to play around with Pars Enterprise Platforms to enjoy the taste of Open-source gaming as both online and offline mode.
There are many benefits by playing with Pars Enterprise Platforms:
Mumble: low-latency, high quality voice chat program for gaming. It features noise suppression, encrypted connections for both voice and instant messaging, automatic gain control and low latency audio with support for multiple audio standards. Mumble includes an in-game overlay compatible with most open-source and commercial 3D applications. Mumble is just a client and uses a non-standard protocol. You will need a dedicated server to talk to other users. Server functionality is provided by the package "mumble-server".
Bumblebee is an effort to make NVIDIA Optimus enabled laptops work in GNU/Linux systems. These laptops are built in such a way that the NVIDIA graphics card can be used on demand so that battery life is improved and temperature is kept low.
It disables the discrete graphics card if no client is detected, and starts an X server making use of NVIDIA card if requested then let software GL implementations (such as VirtualGL) copy frames to the visible display that runs on the integrated graphics. The ability to use discrete graphics depends on the driver: open source nouveau and proprietary nvidia.
Primus is a shared library that provides OpenGL and GLX APIs and implements low-overhead local-only client-side OpenGL offloading via GLX forking, similar to VirtualGL. It intercepts GLX calls and redirects GL rendering to a secondary X display, presumably driven by a faster GPU. On swapping buffers, rendered contents are read back using a PBO and copied onto the drawable it was supposed to be rendered on in the first place.
Primus is currently intended to be used alongside Bumblebee and provides a drop-in replacement for optirun (i.e. "primusrun").
Diagnostic tools to manage graphic cards:
sudo lspci | grep VGA (Detect Multiple Graphics Cards)
sudo nvidia-xconfig (X Configure for NVIDIA Driver)
sudo optirun glxgears info (Testing Command for Bumblebee)
sudo cat /proc/acpi/bbswitch (Checking Status)
sudo tee /proc/acpi/bbswitch
The nvidia-settings utility is a tool for configuring the NVIDIA Linux graphics driver. It operates by communicating with the NVIDIA X driver, querying and updating state as appropriate. This communication is done with the NV-CONTROL X extension.
Values such as brightness and gamma, XVideo attributes, temperature, and OpenGL settings can be queried and configured via nvidia-settings.
So how do you identify your processor?
If you don't know your processors name, run the following command:
% dmesg | grep CPU: CPU: Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz (2693.83-MHz K8-class CPU)
Decide Which Driver to Use
The numbering in the table below shows the Intel Core i3, Core i5 and Core i7 family of processors, including it's mobile and desktop parts:
2xxx Sandy Bridge (i915kms.ko in base)
3xxx Ivy Bridge (i915kms.ko in base)
4xxx Haswell (i915kms.ko in base)
5xxx Broadwell (i915kms.ko from ports graphics/drm-next-kmod)
6xxx Skylake (i915kms.ko from ports graphics/drm-next-kmod)
7xxx Kaby Lake (i915kms.ko from ports graphics/drm-next-kmod)
(I'm going a little deeper into, how you identify your Pentium, Celeron or Xeon processor in a minute)
First, for those who got one of the above processors and can't wait...
If your processor is supported by the i915kms.ko driver in the base system, add the following lines to /etc/rc.conf
kld_list="i915kms"
In case you have created a xorg.conf, remove it and reboot. That's it. or...
If your processor is supported by the i915kms.ko driver from the ports, add the following lines to /etc/rc.conf
kld_list="/boot/modules/i915kms.ko"
In case you have created a xorg.conf, remove it and reboot. That's it.
Example Configuration For Post Broadwell System
A common configuration is a user who has an Intel laptop with a Kabylake Intel i915 HD Graphics chip. To enable the chipset one would follow these instructions:
Install the drm-kmod package
# sudo pkg install drm-kmod
Take note of the post-install package message as it contains important information - specifically add this to your /etc/rc.conf or /etc/rc.conf.d/intel file:
kld_list="/boot/modules/i915kms.ko"
Ensure your UID is a member of the "video" group.
Restart your system; you should see the i915kms.ko get loaded and a flash on your console as we switch over to the new display driver.
Start Xorg via your usual method (i.e. startx, GDM, etc.)
Note: For systems that are able to take advantage of this updated DRM code you should not have to prepare an xorg.conf configuration file, nor should you install xf86-video-intel port. Our Xorg should autodetect the driver, and utilize the modesetting Xorg driver and glamor driver.
AMD Graphics
AMD based GPUs are also supported using the drm-kmod port or package. Unlike the i915 Intel graphics driver there are two separate modules available for AMD devices based on their generation. The modules are named:
To view the AMD graphics support matrix view this page. The Xorg project also has a great resource on decoding AMD marketing names to engineering friendly names here.
It is important to note that there is currently a conflict with both AMD drivers and the EFI frambuffer. The current workaround, when booting via UEFI on these systems, is to disable the framebuffer via /boot/loader.conf:
hw.syscons.disable=1
This will have the side effect of there being no console output until either the amdgpu or radeonkms kernel driver is loaded. Please see this Github issue for more context.
One final note - there is a patch available here that will allow you to use Vulkan, OpenCL, Xwayland and OpenMW when using Wayland.
AMD GPU
AMD GPU is the kernel module that can be used to support post-HD7000 or Tahiti GPUs. To enable graphics on these systems you would do the following:
Install the drm-kmod package
# sudo pkg install drm-kmod
Take note of the post-install package message as it contains important information - specifically add this to your /etc/rc.conf or /etc/rc.conf.d/amd file:
kld_list="/boot/modules/amdgpu.ko"
Ensure that your UID is a member of the "video" group.
Restart your system; you should see the amdgpu.ko get loaded and a flash on your console as we switch over to the new display driver.
Start Xorg via your usual method (i.e. startx, GDM, etc.)
Radeon KMS
Radeon KMS is a distinct driver intended for older AMD based GPUs that are available in pre-HD7000 or Tahiti GPUs. To enable graphics on systems with these GPUs you would do the following:
Install the drm-kmod package
# sudo pkg install drm-kmod
Take note of the post-install package message as it contains important information - specifically add this to your /etc/rc.conf or /etc/rc.conf.d/radeon file:
kld_list="/boot/modules/radeonkms.ko"
Ensure that your UID is a member of the "video" group.
Restart your system; you should see the radeonkms.ko get loaded and a flash on your console as we switch over to the new display driver.
Start Xorg via your usual method (i.e. startx, GDM, etc.)
Editing /usr/local/etc/X11/xorg.conf with Administration Privilege to:
In case of failures at boot to start graphical environment the following parameters can be helpful for the most built-in GPU Intel processors.
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
EndSection
Section "Files"
ModulePath "/usr/local/lib/xorg/modules"
FontPath "/usr/local/lib/X11/fonts/misc/"
FontPath "/usr/local/lib/X11/fonts/TTF/"
FontPath "/usr/local/lib/X11/fonts/OTF/"
FontPath "/usr/local/lib/X11/fonts/Type1/"
FontPath "/usr/local/lib/X11/fonts/100dpi/"
FontPath "/usr/local/lib/X11/fonts/75dpi/"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "SWCursor" "on"
Option "HWCursor" "off"
SubSection "Display"
Option "DynamicTwinView" "false"
Depth 24
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Disable"
EndSection
0 A.D. is a free, open-source, cross-platform real-time strategy (RTS) game of ancient warfare. In short, it is a historically-based war/economy game that allows players to relive or rewrite the history of Western civilizations, focusing on the years between 500 B.C. and 500 A.D. The project is highly ambitious, involving state-of-the-art 3D graphics, detailed artwork, sound, and a flexible and powerful custom-built game engine.