Schlagwort Archiv: Open-Source

Blender Fehler amdgpu_query_info failed (-9) beheben

Nach einem Downgrade von libdrm funktioniert Blender wunderbar.

Nach einem Downgrade von libdrm funktioniert Blender wunderbar.

Seit meinem Umstieg auf Arch Linux mit xf86-video-amdgpu als Grafikkarten Treiber (für meine AMD RX570), kann ich Blender nicht mehr nutzen. Auch das Ausführen als root oder eine Neuinstallation der Treiber brachte nichts.

Beim Start von Blender taucht direkt diese Fehlermeldung auf:

~ $ blender
amdgpu_device_initialize: amdgpu_query_info(ACCEL_WORKING) failed (-9)
Segmentation fault (core dumped)

Schaut man im dump nach (unter /tmp/bmw27_gpu.crash.txt oder /tmp/blender.crash.txt), so findet man dort etwas wie dieses hier:

# Blender 2.79 (sub 0), Commit date: 2018-05-26 21:51, Hash 32432d91bbe

# backtrace
blender(BLI_system_backtrace+0x34) [0x5607730d03f4]
blender(+0xb7b562) [0x56077265c562]
/usr/lib/libc.so.6(+0x37e00) [0x7f5b39807e00]
/usr/lib/libdrm_amdgpo.so.1(amdgpu_get_marketing_name+0xc) [0x7f5afcb35bdf] [...weitere Zeilen...]
(Kompletter dump: pastebin)

Die Lösung

Die Lösung kam von einem Nutzer auf StackExchange, der vorschlägt ein Downgrade von libdrm auf eine ältere Version (2.4.93-1) zu machen.

Unter Arch habe ich dazu einfach das Tool downgrade benutzt:

  1. Aus dem AUR installieren, z.B. mit yay -S downgrade
  2. Version suchen: downgrade libdrm
  3. Passende Version (bei mir ging es mit 2.4.93-1) auswählen

Danach funktionierte alles einwandfrei.

Steam Play in Linux Mint 18.2 mit AMD-Grafikkarte

Mit Steam Play in Verbindung mit Proton lassen sich jetzt Windows spiele direkt aus Steam starten

Mit Steam Play in Verbindung mit Proton lassen sich jetzt Windows spiele direkt aus Steam starten.

Wer Linux Mint 18.4 hat, der kann sich einfach den neusten Treiber von AMD herunterladen und fertig. Linux Mint 18.2 Nutzer haben jedoch schlechte Karten, da der Treiber-Support hier etwas … naja … schwierig ist.

Ich zeige euch, wie ihr trotzdem den aktuellsten Treiber (zum Zeitpunkt dieses Artikels 18.30-641594) installieren und Steam Play nutzen könnt.

Mein System

Nicht jeder Rechner ist gleich, hier meine Konfiguration:

  • CPU: Intel Xeon E3-1231 v3
  • GPU: AMD Radeon RX570
  • Grafiktreiber vor der Installation: amdgpu 17.40
  • Linux Mint 18.2
    • Kernel: 4.13.0-16

Treiber herunterladen

Ich habe hier einfach entsprechend meiner Konfiguration den Treiber heruntergeladen. Man wird auf eine Seite mit Betriebssystemen weitergeleitet. Dort dann Ubuntu x86 64-Bit auswählen und dann weiter unten unter Ubuntu 16.04.5 schauen. Bei mir war es Version 18.30, die ich herunterladen konnte.

Die Datei ist eine .tar.xz Datei, welche ich einfach mit tar -xf amdgpu-...tar.xz entpackt habe.

System vorbereiten/hacken

Das install-script und dpkg überprüfen die distro. Man muss ihnen vorgaukeln, dass sie auf einem Ubuntu 16.04 sind:

Wie ich es gemacht habe: Die Datei /etc/os-release editiert (sudo nano /etc/os-release). Es gibt dort zwei Einträge, die wie folgt aussehen müssen:

ID=ubuntu
VERSION_ID="16.04"

Einfach sicherstellen, dass sie so aussehen und speichern (Strg+O; zum beenden Strg+X).

Treiber installieren

Jetzt wird es spannend: Ich hatte vorher schon einen Treiber installiert (amdgpu 17.40) und habe naiv angenommen, dass ich den neuen wie ein Update drüber installieren kann und er den alten damit entfernt. War glaube ich keine schlaue Idee.

Ich präsentiere hier also eine Lösung, wie ich es hätte machen sollen. Keine Garantie, dass es auch funktioniert!

Als erstes den alten Treiber gemäß Installationsanleitung deinstallieren. Also einfach amdgpu-pro-uninstall ausführen.

Danach dann erst den neuen installieren: Also ab uns Verzeichnis mit dem neuen Treiber (cd amdgpu-pro-18.30-641594/) und das install-script ausführen (sudo ./amdgpu-install).

Probleme mit Abhängigkeiten

Ich hatte dann tierische Probleme mit fehlenden/alten/falschen Abhängigkeiten. Habe mit dpkg -r <name> die einzelnen alten Pakete versucht zu deinstallieren. War viel Herumprobiererei, aber am Ende waren alle alten Abhängigkeiten entfernt und das install-script lief durch.

Die Fehler waren hauptsächlich Abhängigkeitsfehler:
Die folgenden Pakete haben nichterfüllte Abhängigkeiten:
    <name>: Hängt ab: <anderer-name> soll aber nicht installiert werden

Einfach wie beschrieben mit dpkg -r <name> die alten Abhängigkeiten entfernen und das script neu ausführen.

CLI-Argumente in Bash-Scripten parsen

Argumente zu parsen ist nicht schwer. Auch nicht in Bash-Scripten.

Argumente zu parsen ist nicht schwer. Auch nicht in Bash-Scripten.

Es gibt viele Möglichkeiten Parameter, die an ein Bash Script übergeben wurden, zu verarbeiten. Hier zwei ähnliche Varianten, die das Parameterschema -o /foo/ und --output=/foo/ behandeln können. Das zweite Beispiel zeigt zudem noch die Verwendung von Kommandos.

String Manipulation mit Bash-Hausmitteln

Falls du mit String Manipulation (z.B. ${var#=*} oder Ähnliches) noch nicht vertraut bist, rate ich dir hier weiter zu lesen. In den folgenden Scripten holen wir uns aus Strings immer einen Teilstring. Der Befehl dabei sieht immer wie folgt aus: ${<VARIABLE><SPLIT-CHARS><REGEX>}

Die Split-Chars definieren was hinterher raus kommt, denn das Ergebnis ist immer ein zusammenhängender String. Von denen gibt es vier verschiedene: (mehr …)

Von Windows zu Linux: Vorurteile und angebliche Hürden

Tux ist das Maskottchen von Linux

Das ist Tux. Tux ist das Maskottchen von Linux

Immer wieder höre ich Leute sagen „Ich steig nicht auf Linux um, das ist mir alles viel zu kompliziert!“ oder „Ne lass ma, Linux ist nur was für Hacker!“. Ich werde hier Aspekte beschreiben, bei denen sich Windows und Linux am meisten unterscheiden. Beim Umstieg werden einem wahrscheinlich diese Punkte und Fragen am ehesten auffallen.

Ich betrachte dabei Distributionen wie Ubuntu, Linux Mint oder Fedora, also benutzerfreundliche Desktop-Systeme. Bei anderen Distributionen kann das natürlich anders aussehen (Arch, Gentoo, etc.).

Dieser Beitrag ist eher für nicht-Techies, als für die Hacker da draußen gemacht (die wahrscheinlich eh schon Linux nutzen).

Ganz kurz: Technische Aspekte bei Linux

Keine Angst, es tut nicht weh.

Linux ist an sich nur der innere Kern vom Betriebssystem (sog. „Kernel„) und heißt eigentlich auch „GNU/Linux“ (bei Windows heißt er „NT“) aber das ist eine andere Geschichte.

Eine Distribution packt dann den Kernel, Programme und ggf. eine Benutzeroberfläche zusammen und vertreibt dieses dann als vollwertiges Betriebssystem, was man sich installieren kann.

Weiterhin alle Programme/Dokumente nutzen?

Viele Programme, die man kennt, gibt es auch für Linux

Viele Programme, die man kennt, gibt es auch für Linux

Ein Kritikpunkt ist immer wieder: „Es gibt ja gar kein Office/Outlook/Skype/dies/das/jenes für Linux!“ Das ist manchmal auch wahr: Microsoft Office zum Beispiel gibt es nicht für Linux. Was aber nicht stimmt ist, dass man dadurch keine docx-Dokumente mehr öffnen kann. LibreOffice ist da dein Freund 😉

Generell gilt: Für viele (wenn nicht sogar alle) Software aus dem Alltag gibt es Alternativen für Linux. Klar, bei Spezialsoftware kann es schwierig werden. Auch aus dem Hause Microsoft gibt es natürlich wenig Unterstützung (was sich so langsam ändert).

Doch jetzt kommts: Man kann auch Windows-Software unter Linux laufen lassen. Es gibt das Programm „wine“ welches es ermöglicht zum Beispiel Photoshop oder auch etwas ältere Spiele laufen zu lassen. Bei mir läuft zum Beispiel Skyrim problemlos unter wine.

Spiele spielen

(mehr …)

FFmpeg: Videos in Vivaldi schauen

Probleme mit Vivaldi ind FFmpeg lassen sich recht leicht lösen.

Probleme mit Vivaldi ind FFmpeg lassen sich recht leicht lösen.

Wer den relativ neuen auf Chromium basierenden Browser Vivaldi benutzt, der wird oftmals das Problem haben, dass Videos nicht abgespielt werden. Öffnet man die Browser eigene Konsole, so erscheint oft nur der Fehler net::ERR_BLOCKED_BY_CLIENT. Dieser weist darauf hin, dass Vivaldi das Video nicht öffnen kann. Meist liegt das an einem veralteten oder fehlenden FFmpeg, genauer gesagt an der Datei libffmpeg.so.

FFmpeg in Vivaldi installieren

Ich habe ein gist angelegt, in dem ich die Schritte bereits beschrieben habe. Hier aber nochmal die Anleitung:

Die Dateien nehme ich aus den Ubuntu-Repository und sind im Paket chromium-codecs-ffmpeg-extra versteckt. Wer also eine auf Debian/Ubuntu basierende Distribution fährt, kann dies Paket installieren und vielleicht löst sich das Problem bereits dort. (mehr …)