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:
parent
de67fff30c
commit
7719026c36
2 changed files with 94 additions and 52 deletions
44
INSTALL.md
44
INSTALL.md
|
|
@ -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
|
||||||
```
|
```
|
||||||
|
|
|
||||||
102
setup-base.sh
102
setup-base.sh
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue