I Installed Manjaro KDE 18

May 19, 2019 - Reading time: 6 minutes

I Installed Manjaro KDE 18 in April 2019. Windows 7 support ends in 2020 and Windows 10 is not installing in my house (//EDIT from the future, January 21st 2022, I formatted my Windows 7 system, and replaced it with Windows 10, I lied * ...). I'm using Linux servers for near ten years now so it was a good time to switch to a Linux desktop.

I'll use this blog to list things I tweaked on this Manjaro installation for a better transition/experience and to fix some stuff.
I'll probably miss some things I did since this day but I will try to keep track of what I do now on this installation, in new blog posts, in case I'll need these information later (like on OS re-installation).


Monitor Plasmashell memory leak and warn with notification

April 23, 2023 - Reading time: 3 minutes

Plasmashell has been acting weirdly since a couple updates for me, and I noticed that it is the Plasmashell process which, after a specific condition that I did not find yet, starts having some kind of memory leak. I made a script to check its memory usage, and added a Cron job to execute the script periodically.

//EDIT from the future, I found the issue, when I disable the secondary monitor in Nvidia Settings, the memory leak starts, issue reported here and should be fixed soon.

Convert a Jack Line-in audio port into a Line-out port

March 2, 2023 - Reading time: 2 minutes

I need another Line-out port because my Jack splitter is broken, but my mother board only has 3 Jack ports: a Microphone, a Line-out, and a Line-in port.

I can override the default port binding with the help of hdajackretask tool.

Force Steam Background Shader Processing to use multiple threads

October 22, 2022 - Reading time: ~1 minute

To force Steam maximize threads for background shader processing, simply create the following file /home/omano/.local/share/Steam/steam_dev.cfg with this content:

unShaderBackgroundProcessingThreads 11

The number is the maximum thread count.

Fall Guys from EPIC through Steam with EOS overlay and EAC

June 23, 2022 - Reading time: 5 minutes

EPIC released Fall Guys for free on their store, but removed it from Steam so this is the only available version to get for now. The issue is that the Steam version is easy to play on, but the EPIC version needs some work. Gathering some info on the internet, here are the steps I followed to get it working.

Source: https://www.reddit.com/r/linux_gaming/comments/vi54sh/eos_overlay_on_egs_fall_guys/ and https://old.reddit.com/r/SteamDeck/comments/vht8d1/fall_guys_f2p_epic_version_tutorial_for_steam_deck/

//EDIT: this is not relevant anymore as there are methods since Heroic Games Launcher 2.4.0 to have everything to work without any hassle (tick the box for EasyAntiCheat Runtime and play), no need for Steam.

Input Remapper as a universal input device configuration software

April 11, 2022 - Reading time: 9 minutes

Not many manufacturers provide good software for their devices on Linux. Usually tools can be provided to assign different functions or keys to the mouse or keyboard. On Linux, their are great projects like libratbag and its frontend PIPER, but my hardware wasn't properly supported last time I tested. This is where a tool like Input Remapper shines.

New AMD P-State performance scaling driver to replace ACPI CPUFreq

April 2, 2022 - Reading time: 2 minutes

Kernel 5.17 brought the new AMD P-State performance scaling driver, it is possible to force enable it for now to test before it is polished and enabled by default.

Kickoff Legacy height adjustment

March 19, 2022 - Reading time: ~1 minute

To make Kickoff Legacy application launcher taller, simply edit the file /usr/share/plasma/plasmoids/org.kde.plasma.kickofflegacy/contents/ui/FullRepresentation.qml and change the minimum height value from 34 to 50 or any other value that suits the monitor resolution.

    Layout.minimumHeight: PlasmaCore.Units.gridUnit * 50

Reboot or logoff/login back to reload the application launcher with the new modified height.

Fixing Steam blocking screensaver and sleep

February 17, 2022 - Reading time: 2 minutes

Steam has an issue since long time that prohibits energy saving features of KDE. It is possible to fix that by overriding a SDL function with a preloaded library. The workaround was provided in this comment on GitHub.

Fix system hanging on reboot or shutdown with /oldroot message caused by Nvidia

February 10, 2022 - Reading time: 2 minutes

Over the years there was no real solution for this sporadic issue where the system would hang for a minute or more, when trying to reboot or shutdown, with warning messages about /oldroot file system. The issue was completely random, you could not have it for weeks, then it could suddenly appear for no obvious reason.

It was known to be linked to the Nvidia drivers but no one could really tell why, many people claimed they had the solution by adding the Nvidia modules to be early loaded in mkinitcpio config, others with some other random voodoo, but none worked. They thought it worked because the issue is sporadic, and there is no consistency so they might had luck and on their subsequent tests there was no issue, but this had nothing to do with their "solution".

Dark mode for GUI application run with sudo

February 7, 2022 - Reading time: ~1 minute

Some application like Timeshift or Nvidia Settings run with sudo have the default distribution light theme. In order to have customized theme, one can run System Settings as root to configure everything with the following command:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch systemsettings5

It is then easy to select the theme for the desktop, the GTK applications, the windows decoration and so on, to match the user desktop customization.

Fixing links from within programs not opening in the web browser

January 15, 2022 - Reading time: ~1 minute

Problem was initially found with Teamspeak 3 links that wouldn't open in Firefox but in whatever xdg-open thought was the proper program (web links opening in Gwenview, or Kate, instead of Firefox). I thought it was the TS3 wrapper used to fix a problem on KDE so I modified it to use directly Firefox instead of xdg-open. It fixed TS3 links problem, but then the issue continued from within other programs. The real fix was to set the default web browser from terminal with the following command (the second command wasn't necessary, but it doesn't hurt to add the mime type). I think a KDE update messed that setting, as it was working properly before.

xdg-settings set default-web-browser firefox.desktop
xdg-mime default firefox.desktop x-scheme-handler/https x-scheme-handler/http

Get some disk space back for free

December 5, 2021 - Reading time: ~1 minute

By default the file system reserves 5% of partition space to priviledged user and processes, on a 1TB disk it starts to become insanely high number. Here is the manual part of tune2fs tool explaining it:

-m reserved-blocks-percentage
             Set  the  percentage of the file system which may only be allocated by privileged processes. Reserving some number of file system blocks for use by privileged processes is done to avoid file system fragmentation, and to allow system daemons, such as syslogd(8), to continue to function  correctly after non-privileged processes are prevented from writing to the file system.  Normally, the default percentage of reserved blocks is 5%.

Fixing the weird desktop effects issue after enabling secondary monitor

May 30, 2021 - Reading time: ~1 minute

Enabling or disabling a secondary monitor on KDE with Nvidia almost always disabled/crashed/reset the desktop effects or compositor. It was simple to get them back with CTRL+MAJ+F12 key combination, but it wasn't ideal.

A simple fix was to enable a desktop effect in KDE called background contrast. It is apparently an old known bug in KDE.

OVH disaster

March 14, 2021 - Reading time: 2 minutes

I just finished rebuilding the new VPS for this web server, I did not have proper backups, so I ended up using google cache to retrieve most of the old content of the blog, some lost, nowhere to be indexed, some other scrapped too  in the process (because irrelevant or a waste of time to restore). So most of it is restored from October 2019 to now, with proper dates of creation edited.

KDE keyboard shortcuts for Spotify, media keys, and other stuffs

January 26, 2021 - Reading time: 3 minutes

My keyboard media keys have no control on players, so let fix that by adding custom shortcuts in KDE (need the KHotKeys package installed on the system).

Pacman hooks for .pacnew files and other purposes

January 17, 2021 - Reading time: 4 minutes

A .pacnew file may be created during a package upgrade to avoid overwriting a file which already exists.
A .pacsave file may be created during a package removal, or by a package installation of a package that was removed.

These files require manual intervention from the user and it is good practice to handle them regularly.

Here is a Pacman hook to detect and list .pacnew files when found.

Blacklist USB device from autosuspend

October 28, 2020 - Reading time: ~1 minute

The Xbox controller was suspending and I had to unplug/replug it to have it back working. From TLP documentation it is simple to change the behavior.

Hardware Acceleration in Firefox

October 27, 2020 - Reading time: 2 minutes

I wanted to enable Hardware Acceleration in Firefox, to improve performance (for example in the HTML5 benchmark https://testdrive-archive.azurewebsites.net/Performance/Chalkboard/) and test new features.

.bashrc customization

August 28, 2020 - Reading time: 5 minutes

Some customization done to my default .bashrc file. Most of them from DistroTube's .bashrc file on GitLab.

Another Simple Menu with .desktop file

July 10, 2020 - Reading time: 7 minutes

I wanted to make an interactive program/menu to launch some commands that I often use in terminal from Simple Bash Menu. I cleaned the old bash menu and directly put some part of the menu into a .desktop file alternative actions.

Fixing Firefox address/search bars and tabs background

June 14, 2020 - Reading time: 6 minutes

Firefox recently changed the address bar in a way that it is now horrible. I want the old address bar back, which simply yields results from my history and bookmarks, I don't need a big box popping out when I simply click in the address bar, I don't want top sites, search suggestions, buttons to search on specific websites, and all the bullshit that changed.

Force Steam to close to tray instead of minimizing

June 2, 2020 - Reading time: 2 minutes

After searching why Steam never closed in the tray icon area like it does on Windows, I found an article talking about the issue, issue which has been reported in 2013.

There is a fix, and it is really simple. You just need to set the STEAM_FRAME_FORCE_CLOSE=1 environment variable before starting Steam

Creating a custom Manjaro ISO with an old kernel

March 25, 2020 - Reading time: 2 minutes

I needed a Manjaro ISO with an old kernel to be able to run the live environment and install Manjaro on an old computer not compatible with latest kernel.

A few commands list

March 5, 2020 - Reading time: 3 minutes

A few commands listed in a single post because it is not worth having a separate post for each of them:

Fixing flickers during screen recording and TeamViewer session

January 6, 2020 - Reading time: 2 minutes

I had issues with screen recordings with Kazam or OBS, not during recording, but after when viewing the recorded video, there were some weird flickers showing parts of what was under the fullscreen application or window (could be the desktop wallpaper, the firefox window opened before the fullscreen application, whatever is 'under' the active program), similar to what we see in this image.

Getting rid of screen tearing in Firefox (or other applications)

January 6, 2020 - Reading time: 2 minutes

Screen tearing has been an issue since day one, I eventually managed to figure it out, but I recently got again the problems I had before, I forgot that I removed, tried things, and reinstalled NVidia drivers and tools, and this probably why my previous configuration wasn't there anymore.

Here is a reminder in case I have to spend another whole night wondering what I messed in the system.

Fixing intro video not playing in some Proton games (Media Foundation)

October 15, 2019 - Reading time: ~1 minute

I noticed Deep Rock Galactic had no intro video under Proton. I fixed it by installation the Media Foundation fix from GitHub https://github.com/z0z0z/mf-install.

WINEPREFIX="/home/omano/.local/share/Steam/steamapps/compatdata/548430/pfx" ./install-mf.sh

Another version of this fix that can work for other games https://github.com/z0z0z/mf-installcab.

VLC bittorrent and pause-click plugins + temporary anti-crash tests

September 5, 2019 - Reading time: ~1 minute

Webtorrent Desktop is no longer working on Manjaro because of an updated package issue, so I search for other solutions to be able to stream torrents. I found vlc-bittorrent in the AUR repository, and also found another one I grab at the same time, vlc-pause-click-plugin, which makes the video clickable to pause/play.

Now I can open torrents files directly in VLC, it will look for the biggest file in theory and play it. Not optimal for torrents with multiple video files in it as there is no output or control of the torrent side. It just plays the video file it finds in the torrent.

The pause-click plugin needs to be enabled in the settings Interface->Control Interface and Video->Filters

Also, sometimes VLC freezes and continue to play audio but the video and the whole computer is frozen, so for a test I changed the video output setting to OpenGL instead of VDPAU to see if it improves the situation.

Fixing redistributables reinstalling every time you start a Proton game

July 26, 2019 - Reading time: 6 minutes

This will focus on Killing Floor 2 but it is basically the same for any Proton game which has this problem.

Killing Floor 2 had this annoying issue, every time I was starting it, it was installing DotNet Framework. In theory when you start the game for the first time, it should install all the redistributables, and add the corresponding registry Keys that tell Steam what have been successfully installed, and then it's done, it shouldn't reinstall one or all again every time you start the game.

Using winecfg or regedit on a Proton game prefix

July 19, 2019 - Reading time: 4 minutes

Using WINE directly from terminal on your Proton games prefix is kinda tricky (or shitty, it depends..). Using Proton is kinda the same story, here is a much simpler way of manipulating Proton prefix from terminal (originally posted here).

Fixing huge FPS drops with Steam overlay in Proton games

July 19, 2019 - Reading time: ~1 minute

A current bug in WINE affecting all its forks like Proton make games have FPS drops simply by doing little circles in game with a mouse polling rate of 1000Hz (the mouse communicate information with the system every 1ms). This issue doesn't exist in native Linux games.

Killing Floor 2 performance under Proton

June 19, 2019 - Reading time: 7 minutes

Recently everything received updates and since then I struggle to have good performance on Killing Floor 2 under Proton. I can't find what changed and what made the game run bad, but the good old day of high frame rate is gone. I did a few tests first to check if it was a game issue amplified by Proton or if it was just an issue on my Linux install.

Adding a custom Proton build to Steam

June 14, 2019 - Reading time: 3 minutes

I needed to revert back to previous Proton build to do some testings, so I figured out how to download and add any Proton version manually to Steam.

Simple Bash Menu

May 30, 2019 - Reading time: 4 minutes

Here is a multi purpose script that I use to do some common things from a menu. It is easily expandable when I need to add more, here is current script:

First desktop settings and tweaks

May 23, 2019 - Reading time: 4 minutes

I changed some default Manjaro settings to have a more pleasant experience, a compromise between my old Win 7 and the new Manjaro interface.

Logitech G400s hack

May 22, 2019 - Reading time: 8 minutes

No proper driver support on Linux for my Logitech G400s mouse, so I need to come up with something to have some kind of driver/support/configuration

I eventually found and used the following tools, made some config files and a script that I start or restart if needed (for example if I plug the mouse to another port, or if I boot to Windows it will change the mouse internal driver mode because of the installed Logitech drivers, so I will need to force the script again when rebooted on Linux).

evrouter (used to assign keyboard keys to some mouse buttons not recognized by system)
imwheel (used to have program specific mouse button configs)
g400s_hack (used to set driver mode and dpi in the mouse as fixed settings, without it I can't use the buttons around mouse wheel as they would change mouse dpi on the fly (because of wrong driver mode) and/or would not be recognized by the system at all)