Rewrite MBP 16": AMD Radeon statt Nvidia, NetworkManager, Retina-Fix

Erkenntnisse vom MBP 15" Mid 2014 Setup:
- GPU ist AMD Radeon R9 M370X (nicht Nvidia!)
- Radeon/amdgpu blacklisten statt Nvidia-Module
- Kein nomodeset noetig — i915 laeuft ohne
- xfce4-display-settings per dpkg-divert deaktivieren
  (oeffnet sich sonst in Endlosschleife bei fehlender dGPU)
- Display-Skalierung 2x / DPI 168 fuer Retina
- NetworkManager statt netplan fuer WLAN
- systemd-networkd-wait-online deaktivieren (Boot haengt sonst)
- INSTALL.md komplett aktualisiert mit neuen Troubleshooting-Eintraegen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
rene 2026-03-08 11:39:26 +01:00
parent de67fff30c
commit 7719026c36
2 changed files with 94 additions and 52 deletions

View file

@ -123,10 +123,12 @@ Die `user-data` ist standardmäßig auf **MBP 13"** eingestellt. Für **MBP 16"*
# hier: 13 → 16 ^^^ # hier: 13 → 16 ^^^
``` ```
MBP 16" bekommt zusätzlich: MBP 16" (Mid 2014, Intel + AMD Radeon R9 M370X) bekommt zusätzlich:
- `nvidia-driver-535` + `prime-select intel` - AMD Radeon geblockt (`blacklist-radeon.conf`) — nur Intel i915 nutzen
- XFCE Compositor deaktiviert (keine GPU-Beschleunigung)
- Display-Skalierung 2x / DPI 168 (Retina)
- `xfce4-display-settings` deaktiviert (öffnet sich sonst in Endlosschleife)
- Aggressivere Lüftersteuerung (`mbpfan-16.conf`) - Aggressivere Lüftersteuerung (`mbpfan-16.conf`)
- `blacklist-nvidia.conf` in `/tmp` (optional aktivieren)
## Troubleshooting ## Troubleshooting
@ -138,19 +140,32 @@ sudo apt install bcmwl-kernel-source
sudo modprobe wl sudo modprobe wl
``` ```
### Bildschirm flackert / kein Bild (MBP 16") ### WLAN "Device not managed"
Nvidia Optimus-Problem. Intel als GPU erzwingen: NetworkManager verwaltet das WLAN nicht, weil netplan/cloud-init es konfiguriert:
```bash ```bash
sudo prime-select intel # Prüfen
cat /etc/netplan/*.yaml
cat /etc/NetworkManager/NetworkManager.conf
# Fix: NetworkManager als Renderer setzen
echo -e "network:\n version: 2\n renderer: NetworkManager" | sudo tee /etc/netplan/01-network-manager.yaml
sudo rm -f /etc/netplan/50-cloud-init.yaml
sudo netplan apply
```
### Bildschirm flackert / Grafikartefakte (MBP 16")
Das MBP 16" hat eine AMD Radeon R9 M370X die Probleme macht. AMD-GPU komplett blacklisten:
```bash
echo -e "blacklist radeon\nblacklist amdgpu" | sudo tee /etc/modprobe.d/blacklist-radeon.conf
sudo update-initramfs -u
sudo reboot sudo reboot
``` ```
Falls das nicht hilft, Nvidia komplett blacklisten: Falls `xfce4-display-settings` sich in Endlosschleife öffnet:
```bash ```bash
sudo cp /tmp/blacklist-nvidia.conf /etc/modprobe.d/ sudo mv /usr/bin/xfce4-display-settings /usr/bin/xfce4-display-settings.bak
sudo update-initramfs -u
sudo reboot
``` ```
### Lüfter drehen nicht hoch / MacBook wird zu heiß ### Lüfter drehen nicht hoch / MacBook wird zu heiß
@ -166,14 +181,15 @@ sensors
sudo /usr/local/bin/temp-watch.sh sudo /usr/local/bin/temp-watch.sh
``` ```
### setup-desktop.sh startet nicht beim Login ### Boot hängt (wartet auf Netzwerk)
Autostart-Eintrag manuell prüfen/anlegen:
```bash ```bash
cat ~/.config/autostart/macbook-setup-desktop.desktop sudo systemctl disable systemd-networkd-wait-online.service
sudo reboot
``` ```
Oder direkt ausführen: ### setup-desktop.sh manuell ausführen
```bash ```bash
curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup-desktop.sh | bash curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup-desktop.sh | bash
``` ```

View file

@ -21,7 +21,7 @@ else
echo "" echo ""
echo "Welches MacBook Pro?" echo "Welches MacBook Pro?"
echo " 13 = MBP 13\" Late 2013" echo " 13 = MBP 13\" Late 2013"
echo " 16 = MBP 16\" Mid 2014 (Intel + Nvidia)" echo " 16 = MBP 16\" Mid 2014 (Intel + AMD Radeon)"
read -rp "Modell [13/16]: " MODEL read -rp "Modell [13/16]: " MODEL
[[ "$MODEL" != "13" && "$MODEL" != "16" ]] && err "Ungültiges Modell: $MODEL" [[ "$MODEL" != "13" && "$MODEL" != "16" ]] && err "Ungültiges Modell: $MODEL"
fi fi
@ -33,17 +33,17 @@ echo " setup-base.sh für MBP $MODEL\" startet"
echo "════════════════════════════════════════════" echo "════════════════════════════════════════════"
# ── 0. Sleep/Suspend verhindern während Installation ───────────────────── # ── 0. Sleep/Suspend verhindern während Installation ─────────────────────
echo -e "\n=== 0/9 Sleep verhindern ===" echo -e "\n=== 0/10 Sleep verhindern ==="
systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target 2>/dev/null || true systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target 2>/dev/null || true
ok "Sleep/Suspend deaktiviert (für Installation)" ok "Sleep/Suspend deaktiviert (für Installation)"
# ── 1. System aktualisieren ────────────────────────────────────────────── # ── 1. System aktualisieren ──────────────────────────────────────────────
echo -e "\n=== 1/9 System aktualisieren ===" echo -e "\n=== 1/10 System aktualisieren ==="
apt update && apt upgrade -y apt update && apt upgrade -y
ok "System aktuell" ok "System aktuell"
# ── 2. Pakete installieren ─────────────────────────────────────────────── # ── 2. Pakete installieren ───────────────────────────────────────────────
echo -e "\n=== 2/9 Pakete installieren ===" echo -e "\n=== 2/10 Pakete installieren ==="
apt install -y \ apt install -y \
xubuntu-desktop \ xubuntu-desktop \
bcmwl-kernel-source \ bcmwl-kernel-source \
@ -71,25 +71,24 @@ ok "Pakete installiert (apt)"
# FreeCAD via Snap (nicht in Ubuntu 24.04 Repos verfügbar) # FreeCAD via Snap (nicht in Ubuntu 24.04 Repos verfügbar)
snap install freecad 2>/dev/null || warn "FreeCAD Snap übersprungen (chroot)" snap install freecad 2>/dev/null || warn "FreeCAD Snap übersprungen (chroot)"
ok "FreeCAD installiert (snap)"
# ── 3. Nvidia blacklisten (MBP 16") ───────────────────────────────────── # ── 3. GPU-Konfiguration ────────────────────────────────────────────────
if [[ "$MODEL" == "16" ]]; then if [[ "$MODEL" == "16" ]]; then
echo -e "\n=== 3/9 Nvidia blacklisten (MBP 16\") ===" echo -e "\n=== 3/10 AMD Radeon blacklisten (MBP 16\") ==="
cat > /etc/modprobe.d/blacklist-nvidia.conf <<NVEOF # MBP 15" Mid 2014 hat Intel HD 5200 + AMD Radeon R9 M370X
blacklist nouveau # Radeon verursacht Grafikartefakte — nur Intel-GPU nutzen
blacklist nvidia cat > /etc/modprobe.d/blacklist-radeon.conf <<AMDEOF
blacklist nvidia_drm blacklist radeon
blacklist nvidia_modeset blacklist amdgpu
NVEOF AMDEOF
ok "Nvidia-Module komplett geblockt" ok "AMD Radeon geblockt — nur Intel i915 aktiv"
else else
echo -e "\n=== 3/9 Nvidia (MBP 13\") — übersprungen ===" echo -e "\n=== 3/10 GPU (MBP 13\") — keine Änderung ==="
ok "Kein Nvidia auf MBP 13\"" ok "MBP 13\" hat nur Intel-GPU"
fi fi
# ── 4. Brave Browser ───────────────────────────────────────────────────── # ── 4. Brave Browser ─────────────────────────────────────────────────────
echo -e "\n=== 4/9 Brave Browser ===" echo -e "\n=== 4/10 Brave Browser ==="
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg \ curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg \
https://brave-keyring.s3.brave.com/brave-browser-archive-keyring.gpg https://brave-keyring.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] \ echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] \
@ -99,7 +98,7 @@ apt update && apt install -y brave-browser
ok "Brave installiert" ok "Brave installiert"
# ── 5. Konfigurationsdateien ───────────────────────────────────────────── # ── 5. Konfigurationsdateien ─────────────────────────────────────────────
echo -e "\n=== 5/9 Systemkonfigurationen ===" echo -e "\n=== 5/10 Systemkonfigurationen ==="
# Tastaturbelegung # Tastaturbelegung
tee /etc/default/keyboard > /dev/null <<EOF tee /etc/default/keyboard > /dev/null <<EOF
@ -120,22 +119,17 @@ cp /tmp/mbpfan.conf /etc/mbpfan.conf
wget -q -O /usr/local/bin/temp-watch.sh "$SETUP_RAW/temp-watch.sh" wget -q -O /usr/local/bin/temp-watch.sh "$SETUP_RAW/temp-watch.sh"
chmod +x /usr/local/bin/temp-watch.sh chmod +x /usr/local/bin/temp-watch.sh
# GRUB: nomodeset für MBP 16" (Nvidia/GPU-Probleme verhindern)
if [[ "$MODEL" == "16" ]]; then
sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"/' /etc/default/grub
update-grub 2>/dev/null || true
ok "GRUB: nomodeset gesetzt (MBP 16\")"
fi
update-initramfs -u update-initramfs -u
ok "Systemkonfigurationen gesetzt" ok "Systemkonfigurationen gesetzt"
# ── 6. XFCE Compositor deaktivieren (MBP 16") ─────────────────────────── # ── 6. XFCE-Konfiguration (MBP 16": Compositor aus, Display-Skalierung) ─
if [[ "$MODEL" == "16" ]]; then if [[ "$MODEL" == "16" ]]; then
echo -e "\n=== 6/9 XFCE Compositor deaktivieren ===" echo -e "\n=== 6/10 XFCE-Konfiguration (MBP 16\") ==="
XFWM4_DIR="/home/rene/.config/xfce4/xfconf/xfce-perchannel-xml" XFCE_XML_DIR="/home/rene/.config/xfce4/xfconf/xfce-perchannel-xml"
mkdir -p "$XFWM4_DIR" mkdir -p "$XFCE_XML_DIR"
cat > "$XFWM4_DIR/xfwm4.xml" <<XFEOF
# Compositor deaktivieren (verursacht Probleme ohne GPU-Beschleunigung)
cat > "$XFCE_XML_DIR/xfwm4.xml" <<XFEOF
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<channel name="xfwm4" version="1.0"> <channel name="xfwm4" version="1.0">
<property name="general" type="empty"> <property name="general" type="empty">
@ -143,14 +137,46 @@ if [[ "$MODEL" == "16" ]]; then
</property> </property>
</channel> </channel>
XFEOF XFEOF
# Display-Skalierung für Retina (2x, DPI 168)
cat > "$XFCE_XML_DIR/xsettings.xml" <<XSEOF
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xsettings" version="1.0">
<property name="Gdk" type="empty">
<property name="WindowScalingFactor" type="int" value="2"/>
</property>
<property name="Xft" type="empty">
<property name="DPI" type="int" value="168"/>
</property>
</channel>
XSEOF
# xfce4-display-settings deaktivieren (öffnet sich sonst in Endlosschleife)
dpkg-divert --local --rename --divert /usr/bin/xfce4-display-settings.real /usr/bin/xfce4-display-settings
ln -sf /usr/bin/true /usr/bin/xfce4-display-settings
chown -R 1000:1000 /home/rene/.config/xfce4 chown -R 1000:1000 /home/rene/.config/xfce4
ok "XFCE Compositor deaktiviert (MBP 16\")" ok "XFCE: Compositor aus, Retina-Skalierung, Display-Settings deaktiviert"
else else
echo -e "\n=== 6/9 XFCE Compositor — beibehalten (MBP 13\") ===" echo -e "\n=== 6/10 XFCE-Konfiguration — Standard (MBP 13\") ==="
fi fi
# ── 7. Energieeinstellungen (systemd) ──────────────────────────────────── # ── 7. Netzwerk: NetworkManager statt netplan ─────────────────────────────
echo -e "\n=== 7/9 Energieeinstellungen ===" echo -e "\n=== 7/10 Netzwerk ==="
cat > /etc/netplan/01-network-manager.yaml <<NMEOF
network:
version: 2
renderer: NetworkManager
NMEOF
# Cloud-init netplan-Config entfernen (blockiert NetworkManager)
rm -f /etc/netplan/50-cloud-init.yaml
# Boot nicht auf Netzwerk warten lassen
systemctl disable systemd-networkd-wait-online.service 2>/dev/null || true
systemctl enable NetworkManager-wait-online.service 2>/dev/null || true
ok "NetworkManager als Netzwerk-Renderer"
# ── 8. Energieeinstellungen (systemd) ────────────────────────────────────
echo -e "\n=== 8/10 Energieeinstellungen ==="
tee /etc/systemd/sleep.conf > /dev/null <<EOF tee /etc/systemd/sleep.conf > /dev/null <<EOF
[Sleep] [Sleep]
@ -164,15 +190,15 @@ EOF
ok "Energieeinstellungen gesetzt" ok "Energieeinstellungen gesetzt"
# ── 8. Lokalisierung ──────────────────────────────────────────────────── # ── 9. Lokalisierung ────────────────────────────────────────────────────
echo -e "\n=== 8/9 Lokalisierung ===" echo -e "\n=== 9/10 Lokalisierung ==="
locale-gen de_DE.UTF-8 locale-gen de_DE.UTF-8
update-locale LANG=de_DE.UTF-8 LC_ALL=de_DE.UTF-8 update-locale LANG=de_DE.UTF-8 LC_ALL=de_DE.UTF-8
timedatectl set-timezone Europe/Berlin 2>/dev/null || ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime timedatectl set-timezone Europe/Berlin 2>/dev/null || ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
ok "Lokalisierung: Deutsch / Berlin" ok "Lokalisierung: Deutsch / Berlin"
# ── 9. Services aktivieren ────────────────────────────────────────────── # ── 10. Services aktivieren ──────────────────────────────────────────────
echo -e "\n=== 9/9 Services aktivieren ===" echo -e "\n=== 10/10 Services aktivieren ==="
systemctl enable mbpfan systemctl enable mbpfan
systemctl enable thermald systemctl enable thermald
systemctl enable tlp systemctl enable tlp