Fix AMD Vega GPU resets

Update, 2020-04-29: Since upgrading to kernel 5.6.6 and Mesa 20.0.4 I haven’t had any GPU resets anymore even without this workaround. It seems the reclocking issue is fixed. Keeping the article for reference:

If you have an AMD Vega 56 or 64 you may have had some issues using the amdgpu driver, namely random GPU resets leaving you with a blank or colored screen and freezing the computer after a few minutes. It seems that too aggressive memory reclocking is the culprit, but I found a solution in the Freedesktop issue list on their GitLab instance:

Stick this in your systemd, e.g. to /etc/systemd/system/amdgpu-pp.service:

[Unit]
Description=AMD PP adjust service
[Service]
User=root
Group=root
GuessMainPID=no
ExecStart=/opt/amdgpu-pp.sh
[Install]
WantedBy=multi-user.targetCode language: TOML, also INI (ini)

Then in /opt/amdgpu-pp.sh:

#!/bin/bash
echo "manual" > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo "1 2 3" > /sys/class/drm/card0/device/pp_dpm_mclkCode language: Bash (bash)

chmod +x that bugger and enable/start the service:

systemctl enable amd-pp.service
systemctl start amd-pp.serviceCode language: Bash (bash)

There, done! I have never had any GPU resets after this. Thank you, haro41, for this workaround.

Fix Popping with Pulseaudio when Playing Audio After a Period of Silence

Update: It’s a few years later and now all relevant distributions have moved to Pipewire. For an updated way to disable suspend using Wireplumber, see this article.

When I got all fancy and moved to the 5.x kernel and Pulseaudio 12.2, I had one big new problem: My sound card would make an ugly popping noise every time it started playing sound again. Very, very 90s.

Fortunately, this can be fixed. Thanks to hateball for this solution. Stick this in your ~/.config/pulse/default.pa:

.include /etc/pulse/default.pa
unload-module module-suspend-on-idle

And kill/restart pulseaudio with pulseaudio -k.

Stolen from the Arch wiki.

A Quick Look at openSUSE For Gaming

I’ve been trying SUSE as my main distribution and that’s something that hasn’t happened in my life since 1996. Even worse, this distro impressed me, a hardcore Debian nerd, quite a lot.

The reason for distro-hopping is Canonical’s bold decision to drop support for using 32-bit executables (and libraries) in Ubuntu starting as early as October 2019. That means that potentially thousands of games will no longer work, and it prompted Valve to drop support for Ubuntu in Steam. Valve is arguably the most important contributor to Linux gaming, so this is a big deal and a good enough reason to look at distros other than Ubuntu.

Continue reading “A Quick Look at openSUSE For Gaming”

Final Fantasy XV: A charming catastrophe

None of the systems that Final Fantasy XV throws at you really work on their own. The fast travel system is not fast at all. The combat can be anything from confusing to floaty, from frustrating to disappointingly easy. The world that’s presented, a melange of present-day hyperrealism, sci-fi and fantasy, shouldn’t work at all. Leveling up can only be done while resting, magic spells need to be constructed from scratch before use and the controls and camera are sometimes terrible, sometimes passable. You’d think this game would be a huge disappointment, but strangely, it develops a rough charm that’s impossible to pin on any one thing.

TLDR: 7/10. Problematic but weirdly enthralling. Read on for the details. Minimal spoilers (character names and backstory) ahead.

Continue reading “Final Fantasy XV: A charming catastrophe”

Do you have a minute to talk about our lord and savior, Zen buddhism?

I’m (re)reading a lot of Brad Warner’s books during these holidays. If you ever feel like learning about no-bullshit hardcore Zen buddhism from a punk bass player and ordained Zen master (who hates that term), I can recommend: Sit Down and Shut Up, Don’t Be a Jerk and It Came From Beyond Zen, in that order. You can also try Hardcore Zen, the original work

Brad explains Zen itself and Eihei Dōgen’s Shōbōgenzō in plain English so you don’t have to spend 30 years studying classical Japanese. Dōgen was about 800 years ahead of his time, so reading him now is excellent timing

The books are short and if they pique your interest, you can always follow up with the very compact, unrelenting and and intense Mastering the Core Teachings of the Buddha by Daniel M. Ingram.

Brad’s stuff is at http://hardcorezen.info/store, Daniel’s book is free at http://integrateddaniel.info/book/ and I’m just a fan and not affiliated with either person.

Takeaways from Eindhoven Metal Meeting 2018

The festival was great in theory, but also way too cramped, more so than usual. That’s why there aren’t many takeaways:

  • Necrophobic. I saw them live a few years ago but somehow didn’t realize they’re this interesting. Bought Mark of the Necrogram, but they have a sizeable backlog I now have to work on. Unfortunately, they don’t seem to be on Bandcamp so I had to buy from one of the evil empires (Google in this case).
  • Slægt. A sort of blackened heavy metal from Denmark. I don’t like all the songs but the style mixture is compelling. Slægt on Bandcamp.
  • Desaster. A thrash and black thing? Maybe. It’s a bit straightforward for the most part so I haven’t bought any albums just yet, but they had a very energetic stage presence so the show felt great. If they’re at some other festival or on a solo tour I’d definitely consider going.
  • Wiegedood. Can’t decide if it’s plain black metal or if they’ve mixed a harsher type of shoegaze into it. Think of a heavier Alcest song played on a slightly broken amp that you run too loudly.

Usually I find more bands at EMM, but this time it was almost impossible to watch any acts on the small stage because everything was so packed with people. This is a shame, as it’s the small stage that has the more underground stuff and I’ve discovered at least 10 groups there in the last two years.

Of course you can always watch some of the more interesting-sounding parts of the lineup on YouTube, but that’s so not the same. Oh, well.


Making Steam’s magic work when using a Dual Shock 4 controller

A few kernel versions (or Steam versions) ago, my Dual Shock 4 controller spontaneously stopped working in Steam. Big Picture mode said “no controller detected” and only games that had their own native DS4 support managed to still use it.

Looks like you need some udev rules to make sure all things are good. For my wired DS4v2 I stuck this:

SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
KERNEL=="uinput", MODE="0660", GROUP="myusername", OPTIONS+="static_node=uinput"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

into /etc/udev/rules.d/99-ds4.rules. And reloaded udev. Thanks Xard and others from Freenode’s #gamingonlinux for the pointers.

Getting rtl8814au USB sticks like the ASUS USB-AC88 to actually connect

If you’re forced to use newer and more bizarre USB wifi sticks that rely on the rtl8812au/rtl8814au chipset, you need to do two things:

  1. Compile the driver yourself, since most distros don’t include one
  2. Tell NetworkManager to stop randomizing MAC addresses for that device

You can get the updated source from diederikdehaas’ project on GitHub. The build instructions there are great and the driver integrates with DKMS. However, you won’t be able to connect because NetworkManager is scrambling your MAC address. To make it stop, add this to /etc/NetworkManager/NetworkManager.conf:

[device]
wifi.scan-rand-mac-address=no

And restart NetworkManager (systemctl restart NetworkManager on e.g. Debian 9). With MAC scrambling enabled, the interface came up for me but failed to authenticate.

The solution is from this issue on GitHub.

Wanna use a Mayflash DolphinBar with Dolphin on Linux? You’ll need this udev rule

This is what I needed, I put it in /etc/udev/rules.d/80-dolphinbar.rules:

SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0306", MODE="0666"

I can’t remember where I found this, I’m pretty sure I didn’t figure this out for myself. If you need a DolphinBar, Aliexpress should have you covered. It could be that the vendor code differs for yours, so make sure to watch dmesg when you plug it in.

Build your own Spotify-like music streaming solution using mpd

Since I distrust centralized services such as Spotify that can delete content you love at any time they like, I’ve always bought my own music and have a huge collection. But there’s no denying that streaming music to any device or location is a useful feature. You still don’t need Spotify for that, thanks to the FOSS community you can build your own Spotify-like streaming system, and this guide shows one combination of software to accomplish this.

The goal: Stream your music collection from your own PC (or NAS or whatever storage you have) to any web browser, mobile phone and desktop clients.

The method: A little Linux magic involving the following components:

Continue reading “Build your own Spotify-like music streaming solution using mpd”