Been trying to switch my main station from windows to linux and chose Manjaro, since I already use it for work and like it a lot. Now, the problem is that the performance is really bad when playing games on Steam or trough Lutris. For ex. in Hell let loose game I only get like ~20fps where as in Windows I would usually get ~60+. Same goes for other games I tested. The overall performance is bad in other programs as well, such as Google chrome. Watching videos is very laggy and slow, which makes me think there is something wrong with how my GPU is set up. Here is my system:
> Installed PCI configs:
--------------------------------------------------------------------------------
NAME VERSION FREEDRIVER TYPE
--------------------------------------------------------------------------------
video-linux 2018.05.04 true PCI
Warning: No installed USB configs!
Note: I do have gamemode installed and added it to Steam as launch option for each game, but it does not help at all.
Various solution has been proposed and devised and is available either as third party repo or custom build from AUR.
Using either requires your system to be on Manjaro unstable as this most closely resembles an Arch Linux installation which is required to use AUR or third party repo.
AMD users on Stable branch just need to install the relevant amdonly-gaming packages from the AUR to enable patented codecs again. I even made a little bash script for myself that I run (as normal user - no sudo) every week or so (and after any system updates) to rebuild the amdonly packages to the latest version of Mesa. Please note: amdonly-gaming will install Mesa development, not the latest stable release. The first build will be a download of 600-700MB, however rebuilds will be a lot smaller (as long as the user does not empty the build files folder).
#!/bin/bash
# amdonlybuild - a script to install Mesa packages with patented codecs.
# Customised for a system without multilib (32 bit)repo. Users with multilib may need to also install 32-bit versions.
pamac build directx-headers-git amdonly-gaming-mesa amdonly-gaming-libva-mesa-driver amdonly-gaming-mesa-vdpau amdonly-gaming-vulkan-radeon
exit 0
Why wouldn’t it be? I’ve been using it on my Stable system for a month or so without any problems. But I do rebuild it after any system updates in case anything it depends upon has changed (as is recommended with any AUR packages). The only issue I’ve had so far is that I had to build directx-headers-git from the AUR as Manjaro Stable branch’s directx-headers was an earlier version than the one required by amdonly-gaming.
amdonly-gaming packages is build from source - thus they will run - this is not a branch compatibility issue.
Any software which is build from source and packaged on the user’s system will work with the user’s system.
Those old enough to remember knows this is how Linux and GNU systems is build - from scratch.
Many, many GNU/Linux users today have grown up with a packages being available in binary format and that it is those distributing the binary packages which are to blame when packages does not provide the expected content and their system does not perform as expected.
There is this grab, consume and complain mentality amongst a group of younger free software consumers.
There is a huge amount of time spent by the people bringing binary packages to you - and when you build the packages yourself - you very quickly learn how much work there is going into this task.
What you need to keep in mind - when syncing your system - depending on the packages synced, you may get issues pertaining to your custom package(s).
Building mesa is not one-time - kipi’ai’a, done that - you must maintain it on a regular base.
The videos issue is likely because of mesa codecs as others have already explained. Apart from that you can’t set that GPU up wrong, it just uses amdgpu driver and end of story.
Gaming on Linux isn’t perfect and you may run into issues which you need to solve yourself. The best place to look when that happens is https://www.protondb.com . E.g. for Hell Let Loose there are numerous reports that it runs better with dx12;
I don’t think AV1 hardware decoding is possible with my AMD 5800H, which is used in mini-PCs & laptops. I’m pretty sure I read something recently that said the next AMD series (AMD 7XXXH etc) does have inbuilt AV1 capacity. So I guess I’ll have to wait until I decide to replace the Beelink SER5 MAX mini-PC I bought a few months ago with a Beelink SER7.
Regarding the MPEG2 & VC1 codecs, I have no idea why I have hardware decoding & you don’t. Perhaps a look at the amdonly-gaming PKGBUILD - aur.git - AUR Package Repositories might provide some clues. Line 174 (which I believe contains the codecs to be activated) says:
No, Manjaro and some distro companies have removed these video codecs from mesa due to the patent issue.
You can use AV1 codecs instead of the proprietary codecs.
Your modern CPU can handle the proprietary decoder without hardware acceleration while watching videos (1x speed, that is extremely cheap for the CPU), in future you should never use the proprietary encoder such as H265 when rendering/creating new videos.