Multimedia & Gaming

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

 

List of Open-source Codecs

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.

 

Communication

PCLITEOS™ uses KDE Instant Messaging Contacts as default internet messenger, There are still many other internet messengers out of box such Pidgin, Mumble, Telegram, Signal and etc.

 

KDE IM configuration is available under Programs Menu > Settings > System Settings > Instant Messaging and VoIP > Add Account, KDE IM Contacts has a few important features as follows:

 

Telepathy

 

Signal Messenger

Signal is a cross-platform encrypted messaging service developed by the Signal Foundation and Signal Messenger LLC. It uses the Internet to send one-to-one and group messages, which can include files, voice notes, images and videos. Its mobile apps can also make one-to-one voice and video calls, and the Android version can optionally function as an SMS app.

 

Signal uses standard cellular telephone numbers as identifiers and uses end-to-end encryption to secure all communications to other Signal users. The apps include mechanisms by which users can independently verify the identity of their contacts and the integrity of the data channel.

 

All Signal software is free and open-source. The clients are published under the GPLv3 license, while the server code is published under the AGPLv3 license.

 

Signal

 

Pidgin Messenger

Pidgin (formerly named Gaim) is a free and open-source multi-platform instant messaging client, based on a library named libpurple that has support for many instant messaging protocols, allowing the user to simultaneously log into various services from a single application, with a single interface for both the popular and obsolete protocols (from AOL to Discord), thus avoiding the hassle of having to deal with a new bloated, unaudited, closed-source, and different piece of software for each device and protocol. Pidgin is widely used for its Off-the-Record Messaging (OTR) plugin, which offers end-to-end encryption.

 

Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bits group size, and the SHA-1 hash function. In addition to authentication and encryption, OTR provides forward secrecy and malleable encryption.

 

Pidgin

 

Video Gaming

PCLITE™ encourage Its users to play around with PCLITEOS™ to enjoy the taste of open source gaming as both online and offline mode.

There are many benefits by playing with PCLITEOS™:

 

Video Game

 

NVIDIA Optimus Support

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:

 

Bumblebee

 

NVIDIA Settings Panel

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.

 

Nvidia Panel

 

FreeBSD Graphics Driver

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.)

 

FreeBSD Xorg Configs

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