Skip to content

Latest commit

 

History

History
180 lines (105 loc) · 15 KB

File metadata and controls

180 lines (105 loc) · 15 KB

Games amd entertainment

Online game network acceleration

For playing online games on Linux, network acceleration has always been a problem, especially when playing some online games on external servers. Here are some ideas to speed up online games under Linux.

  • Some airports will provide game nodes for online games. These nodes are specially optimized for games, restricting traffic and increasing the magnification. Generally, a better acceleration effect can be obtained. Cooperate with transparent proxy in Linux, and enable proxy acceleration for UDP traffic at the same time, you can get the effect of optimizing the network speed of online games.
  • Some mid-range or high-end routers have built-in online game accelerators that are common in the market. If your router has this function, you can directly use the built-in accelerator of the router to accelerate the online game traffic of the machine. Or you can also use openwrt to install accelerator plugins that support openwrt. Do not use the NetEase uu router acceleration plug-in, it will mistakenly identify the Linux PC as an Android phone. According to its logic, if the device is identified as a mobile phone, it can only accelerate mobile games but not PC games. At present, the NetEase uu accelerator has removed the Linux PC from the recognition scope. If necessary, please use other brands of router acceleration plug-ins.
  • Executing common online game acceleration clients on the market in a virtual machine or wine can theoretically accelerate. But at present, it is more complicated to implement, which is theoretically feasible, and more convenient tools may appear in the future. For the principle, please refer to Wine to be researched topic: Make the virtual network card mode of the Windows version of the online game accelerator work under Linux and Using the Windows version of the online game accelerator through a virtual machine in Linux

Native Linux game

There are some natively supported games in Arch Linux official repository and AUR, listed below

Steam

Arch Wiki: Steam

Some fonts and drivers have already been configured in the Getting Started section. If you have installation problems, please check yourself.

In addition, if some games have problems starting or playing, you can use the terminal to use the steam command to start the steam client, and observe the terminal error when the game crashes. Generally, it is caused by the lack of a certain dependency, and you can install the dependency yourself according to the specific situation. At the same time, the official archlinux documentation also provides a error page, which records some solutions to game crashes.

To install Steam Proprietary:

sudo pacman -S steam

Games on steam can be divided into two categories: those with native Linux support, and those played through Steam Play. Steam Play (Proton) is based on Wine and allows you to play Windows-only games on Linux. Regarding the degree of playability of games on non-Linux platforms running through Steam Play, you can check the website protondb. If you have a problem with a game, you can also find fixes for each game posted by players on this site. Sometimes there may be problems with the latest version of Proton, in which case you can try other versions yourself.

In addition, there are also some official Proton fork versions on github, such as Proton GE, which can support some additional ones, which are not officially supported or are not fully supported. game. The usage method is also very simple. According to the official documentation, download the compressed package of the release to the specified location, and restart steam to select a specific version of GE proton.

If some game launchers cannot be started, you can go to the game directory and try to directly execute the executable file of the game itself.

If you have any questions, you can also go to github to query. For example, Valve's csgo repository

The recent steam official proton can not correctly detect the system's fsync, and still start the game in esync mode. Replacing the GE version of the proton correctly detects and launches the game with fsync mode.

Game lock solution: keep your steam under the proxy of a country, such as Japan. First add a game to the shopping cart, change the country and region in the upper right corner of the shopping cart to Japan, and then go to the locked game, you can browse and purchase.

Lutris

Based on Wine, Lutris provides solutions for a large number of games under Linux. It has already configured everything related to Wine for you, you only need to install and play. Generally very little additional configuration is required. Go to the official website and search for the game you want to play in the upper right corner. After clicking to enter the game page, you can see that there is an install button on the right side of the corresponding version. After clicking, you can pull up Lurtis to install it. Before playing the game, you must install the driver and dependency. Note that the two optional installation items vkd3d and lib32-vkd3d are not listed in these two documents. However, most large-scale games currently need to install these two packages, and readers need to add and install them as needed. At the same time, in lutris, you need to choose to open Esync or Fsync according to the container type.

On each game page of Lutris, there are generally reports uploaded by players. If you encounter a situation that cannot be run, you can read the historical issues in detail, including those that have been marked as resolved.

If you find that you are still unable to log into certain games, check your proxy settings. For example, if you have an account of the national server, but the proxy is linked to Japan, it is impossible to log in. You can change to a Hong Kong proxy and try again.

If you can't update the game, when you need to update the game, set the Wine version to the system's Wine staging version. If the latest wine-staging version still crashes, you can go back to the previously available container version. If you still can't update, you can try reinstalling the game launcher. After the update is complete, when you need to start the game, set the wine version to the version that comes with Lutris.

If you encounter a situation where you cannot start the flashback, you can try to start Lutris on the command line, and then start the game. If starting the game in the launcher still crashes, you can try to change the startup file of the Lutris container from the launcher to the executable file of the game itself. There is another more general way, you can use the Lutris function Run EXE inside wine prefix, and then select the game body to pass the verification to play the game. The location of Run EXE inside wine prefix is below Lutris, click on the wine glass, the last one.

If you are used to using various game plug-ins, you can also install them in the same container, and the general functions can be used normally.

Wine

Installing and using native Wine can also run windows games, but in many cases you need to deal with the dependency problems under Windows by yourself. The commonly used tool is winetricks. This method is time-consuming and labor-intensive, and it is fine to only run small games or gals that do not need to deal with dependencies.

Run winecfg on the terminal, you can open the wine settings page, and follow the terminal prompts to install the missing packages.

Galgame

This section describes possible problems with running Galgame with Wine.

If there are font problems for some languages, the most straightforward way is to place the required fonts in the container's font directory. The default directory for wine is ~/.wine.

Running games with Wine may have issues with missing GStreamer plugins, such as

Missing decoder: Advanced Streaming Format (ASF) (video/x-ms-asf)

After installing each plug-in according to the Wiki, the error may still exist. This is because most Galgames require 32-bit compatibility libraries, and the current gst32-bit compatibility library in the official Arch Linux Multilib warehouse is not complete. For example, lib32-gst- The plugins-ugly package currently only exists in the AUR, but its PKGBUILD currently has many problems that prevent it from being successfully installed directly. ASF exists in this package, so its absence causes this error. The solution is as follows:

First, one of the dependencies of lib32-gst-plugins-ugly, lib32-lv2, has a build spell check problem. After cloning the lib32-lv2 warehouse locally, modify its PKGBUILD file, delete the check part, and then use makepkg -si to install it manually.

Next, lib32-gst-plugins-ugly depends on another package lib32-shaderc. There is also an error in the construction of this package, and it is not necessary, so directly in lib32-gst-plugins-ugly Delete it from the PKGBUILD and then install it manually.

Ref:

Performance improvement

Turning off KDE's Compositor can significantly improve game performance and solve problems such as unstable screen tearing.

ref: https://linux-gaming.kwindu.eu/index.php?title=Improving_performance

When playing some games, such as "Total War: THREE KINGDOMS", if you encounter performance problems, you can try to adjust the cpu frequency regulator[1].

GameMode is a comprehensive game performance adjustment software, which provides a variety of game performance optimization functions. If necessary, you can check the github page for details.

Performance monitoring

Similar to the performance display part of MSI's Afterburner software, there is also a similar software on Linux that can monitor computer performance in games, named MangoHud. The usage can be found in the readme of this project. In ArchLinux, install the packages mangohud and lib32-mangohud.

In addition, MangoHud officially provides a graphical parameter setting software GOverlay, which can be installed by yourself.

Optional kernel replacement

In general, kernel games with patches that use fsync will perform better. Especially in some wine games using .Net, fsync will have a significant performance improvement[1]. At present, the fsync function is not added to the Linux kernel, and the zen kernel can be replaced.

sudo pacman -S linux-zen linux-zen-headers

After the installation is complete, update grub again.

sudo grub-mkconfig -o /boot/grub/grub.cfg

If you use NVIDIA graphics card, remember to change the driver to the corresponding dkms version. Generally speaking, newer graphics cards can install nvidia-dkms.

Gamepad

The most compatible controller in Arch Linux is the Xbox controller, and the use of other controllers is not recommended. If you are using a wireless adapter to connect, install it using xone. If you use a Bluetooth connection, install it using xpadneo. For Bluetooth connectivity, additional configuration is required.

  1. First you need to enable UserspaceHID, if you don't do this, the controller will not connect properly and will start to cycle connecting and disconnecting, and the Xbox button will keep flashing. Edit configuration file:
vim /etc/bluetooth/input.conf

Uncomment UserspaceHID and change the value to true.

  1. Next make some settings in the main bluetooth profile so xpadneo can work as expected, also need to resolve the input lag issue. Edit the main file:
vim /etc/bluetooth/main.conf

Change the following parameters to the following values

[General]
Privacy=device
JustWorksRepairing = always
Class = 0x000100
FastConnectable = true

[LE]
MinConnectionInterval=7
MaxConnectionInterval=9
ConnectionLatency=0

Finally, restart the computer and connect.

ref: https://www.reddit.com/r/linux_gaming/comments/smxqm2/how_to_use_xpadneo_with_an_xbox_series_controller/

Gamescope

Gamescope is an independent compositor supported by Valve specifically for game development. It can solve the display problems of some games. For example, when some games open the virtual desktop, although they can be windowed into full screen, they still cannot expand to full screen (still the original low resolution of the game). Gamescope works with lutris. It's still early days for Gamescope.

Note that NVIDIA graphics cards must use NVIDIA closed source drivers when using Gamescope, and nvidia-open open source drivers are not supported. In addition, the kernel parameter nvidia-drm.modeset=1 must be added.

Gamescope's predecessor was Xephyr, which is now on hold.

See the Gamescope documentation for details: https://wiki.archlinux.org/title/Gamescope

protonhax

Sometimes, you need to run other programs besides the game in the Proton container, such as cheat engine, etc. Currently Proton cannot meet this requirement. protonhax is used here to run other programs in the same Proton container as the game.

yay -S protonhax

Set protonhax init %COMMAND% in the game running parameters, and then execute protonhax ls to obtain the running game appid. Finally use protonhax run <appid> <path/to/program> to run other programs in the target container. For more usage, please refer to the project warehouse page.

Ref: https://www.reddit.com/r/linux_gaming/comments/pxs5es/running_a_second_program_inside_a_proton_prefix/?rdt=44318