Last Updated on: 20th April 2021, 08:09 pm
Das Problem
Wer sich ein aktuelles Notebook mit vorinstalliertem Windows 10 kauft und darauf Linux installieren möchte, kommt schnell in die Details zu EFI-Installationen und deren Grenzen. Heute habe ich mein neues Notebook, LENOVO YOGA S740-15IRH freudig vom DHL-Mann in Empfang genommen und sogleich versucht, Ubuntu-Mate 19.10 neben Windows zu installieren. Die erste Ernüchterung folgte, als Ubuntu nicht einmal die SSD-Disk erkennen konnte. Nach viel Googlen habe ich mich dann dazu entschlossen, eine eigene Anleitung für dieses Thema zu erstellen.
Zunächst sollte man mal ins BIOS schauen und die Einstellungen Prüfen. Dazu beim BOOTEN des Laptops F2 drücken. Mittels Pfeiltasten dann in den Bereich CONFIGURATION->STORAGE->CONTROLLER MODE schauen. Dort dürfte der RST-Mode gewählt sein, womit Linux leider ein Problem hat, wenn das Notebook nicht ausdrücklich Linux zertifiziert ist (es fehlen die Hersteller-Keys im BIOS, für die, die sich dazu schlau machen möchten…) Wenn man diesen Eintrag nun einfach auf AHCI-Mode setzt, bootet Windows nicht mehr. Im RST-Mode bootet Linux zwar, lässt sich aber nicht installieren, weil die Festplatte gar nicht erst erkannt wird. Zum anderen wird unter BOOT im Bios auch Secure-Boot aktiviert sein, was leider ebenfalls zu Problemen mit diversen Treibern unter Linux führen kann. Dies habe ich sofort deaktiviert, nicht aber den RST-Modus.
Windows 10 auf AHCI-Modus umerziehen
Um im Bios nun den RST-Modus umstellen zu können auf AHCI müssen wir Windows erst „umerziehen“. Wir starten Windows 10 ganz normal und geben dann in der WINDOWS Suchleiste cmd ein. Es erscheint die Auswahl „Als Administrator ausführen“, was wir unbedingt wollen.
Auf der Kommandozeile geben wir dann das folgende Kommando ein:
bcdedit /set {current} safeboot minimal
Damit versetzen wir Windows in die Situation, beim nächsten Boot in den abgesicherten Modus zu wechseln. Anschließend starten wir den Rechner neu und drücken wieder F2, um in das BIOS zu gelangen. Jetzt unter CONFIGURATION->STORAGE->CONTROLLER MODE den Modus AHCI-Mode einstellen und mit F10 speichern. Das Meckern und die üble Warnung des BIOS habe ich mal schlicht ignoriert.
Windows jetzt startet. Wir landen im abgesicherten Modus (wo wir auch hin wollten). Nun wie oben beschrieben wieder als Administrator auf die Kommandozeile wechseln. Dort setzen wir nun die Startparameter wieder auf den Standardwert zurück:
bcdedit /deletevalue {current} safeboot
Jetzt starten wir Windows 10 erneut und sind wieder da, wo wir gestartet sind: bei einem funktionierenden Windows 10, diesmal mit AHCI-Unterstützung.
Jetzt kann man Ubuntu-Mate 19.10 oder Version 20.04 von einem Stick booten (F12 beim Booten drücken, um in den Bootmanager zu gelangen und dort den Bootstick auswählen) und neben Windows installieren. Übrigens hatte ich das Problem, dass mein YOGA S740 mit dem normalen Ubuntu 18.04.4 LTS nicht vernüftig funktioniert hat. Der WLAN-Treiber war im Kernel nicht enthalten und das Netzwerk konnte entsprechend nicht aktiviert werden. KUbuntu 19.x und Ubuntu 19.x und Ubuntu Mate 19.10 haben diesen scheinbar drin und es funktioniert.
Kein Sound auf LENOVO YOGA S740-15IRH unter Ubuntu Mate 19.10 und 20.04
Weiterhin besteht leider das Problem, dass der Sound auf dem Notebook nicht richtig funktioniert. Die Lautsprecher geben unter Ubuntu Mate 19.10 und 20.04 keinen Ton von sich. Ich habe einige Zeit darauf verwendet nach einer Lösung zu suchen. Augenscheinlich ist diese aber derzeit noch nicht in Sicht (Stand: 04.08.2020). Grund dafür scheint zu sein, dass der Soundchip zwar grundsätzlich richtig erkannt wird aber der Realtek Treiber die Lautsprecher des Laptops nicht richtig ansteuern kann. Es bestehen dazu bereits Bug-Meldungen. Das SOF-Projekt hat die BUG-Meldung dazu bereits zutreffender Weise geschlossen, weil es kein Problem der Kernel-Implementierung für den Soundchip ist. Im Launchpad von Ubuntu ist der Fehler als „confirmed“ eingestuft worden. Allerdings scheint bisher niemand an diesem Problem zu arbeiten….. Deshalb läuft der Sound bis dato lediglich über Kopfhörer (HDMI habe ich noch nicht getestet).
***UPDATE 10.08.2020***
Getestet habe ich den Sound nun über das Lenovo Mini-Doc mittels USB-C/Thunderbold. Darüber funktioniert der Sound ebenfalls einwandfrei.
Ein Kernel-Update auf 5.8 hatte leider ebenfalls keine Wirkung bzgl des Sounds über die eingebauten Lautsprecher des Laptops.
***UPDATE 20.04.2021***
Mittlerweile ist der Bug gewandert und liegt beim SOF-Projekt auf GitHub:
https://github.com/thesofproject/linux/issues/2748
Aus den dort zu findenden Einträgen konnte ich mir einen einfachen patch bauen, der Sound produziert. Leider immer nur so lange man angemeldet ist und man keine weitere Software startet, die ein Audio-Gerät benötigt. Klassisch ist dabei das öffnen eines Browsers. Dieser erzeugt einen eigenen Audio-Kanal und schon verstummt der Sound wieder. Der Rechner muss dann neu gestartet und der patch erneut ausgeführt werden.
Wie funktioniert das nun mit dem patch? So ganz genau, weiss ich das auch nicht, weil ich einfach mal kein Experte für ALSA bin. Es gibt sog. „Verbs“ des Audio-Outputs. Das sind direkt adressierbare Speicherinformationen im Kernel von Linux, wenn ich das richtig verstanden habe. Ich verwende derzeit Ubuntu Mate 20.4 mit dem Kernel 5.4.0-72-generic, also der Standardvariante des Kernels. Zu prüfen mittels
$uname -r 5.4.0-72-generic
Damit der patch auch wirklich funktioniert, muss die Adresse des Soundchips auch wirklich stimmen und der Chip-Typ der gleiche wie bei mir sein. Die Wahrscheinlichkeit, dass das so ist, ist recht hoch, wenn man die das device hwC0D0 findet. Dazu das entsprechende Verzeichnis prüfen:
$ ls -al /dev/snd/hwC0D0 crw-rw----+ 1 root audio 116, 12 Apr 20 18:13 /dev/snd/hwC0D0
Es existiert also. Auf einem Lenovo Yoga S740 15″ dürfte der Patch dann also funktionieren.
Ich habe die Verbs in ein shell-script gepackt und diese einfach ausführbar gemacht. Man kann diese HIER HERUNTERLADEN
Anschliessend mit
mv ./alc285.txt ./alc285.sh chmod +x ./alc285.sh
umbenennen, eXecutable machen und als sudo ausführen:
sudo ./alc285.sh
Das wars. Wer jetzt Sound hört, kann sich glücklich schätzen. Alle anderen müssen leider weiter probieren und hoffen, dass der Bug bald behoben wird.
Vielen Dank an dieser Stelle nochmal an die Jungs und Mädels im oben genannten Forum, die diesen Patch möglich gemacht haben….