Debian na Macbooku Pro Late 2013 cz.2 (xorg)

Posted on Tue 08 December 2020 in Macbook • [2 min read]

Adnotacja z 2026: artykuł nigdy nie dokończony

Niniejszy artykuł powstał ponad rok temu i przeleżał wszystkie te mesiące w postaci szkicu, uzupełnianego o nowe pozycje.

Ta część opisuje instalację Xorg.


Xorg

Nvidia

Xorg działało od razu na driverze nouveau czyli opensourcowym sterowniku dla Nvidii.
Zachciało mi się jednak oryginalnego sterownika. Mimo wielu prób nie kopilowały mi się moduły jądra. Podczas kompilacji wyskakiwał błąd, że brak jest pliku include/generated/autoconf.h, chociaż plik jak najbardziej był na właściwym miejscu.
Nie chciało mi się kopać z koniem, inni też się wymęczyli, więc użyłem repozytorium jessie-backports (wg.: https://wiki.debian.org/NvidiaGraphicsDrivers#jessie-352):

do /etc/apt/sources.list dodałem:

deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
apt-get update
apt-get install -t jessie-backports nvidia-driver
Trzeba usunąć /etc/X11/xorg.conf, bez niego server X używa domyślnych ustawień i działa prawidłowo.
Na konfigurację przyjdzie jeszcze czas...
Przerzuciłem się na zamknięty sterownik od NVidii (ten z .run na końcu). Jest OK ale nadal nie działa przechodzenie między X-ami, a konsolą. Podobno ten trick załatwia sprawę:
setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

Aktualizacja: niestety, to nie działa.



XSCREENSAVER

Chcę, żeby startował automatycznie po zalogowaniu się do sesji X-ów.
Tworzę katalog:
mkdir ~/.config/systemd/user

a w nim plik: xscreensaver.service z następującą zawartością:

[Unit]
Description=XScreenSaver Daemon
[Service]
ExecStart=/usr/bin/xscreensaver --no-splash
[Install]
WantedBy=default.target

Następnie włączam serwis:

systemctl --user enable xscreensaver.service

i uruchamiam:

systemctl --user start xscreensaver.service

Przejście na Display Managera: sddm

dpkg-reconfigure sddm
w /etc/sddm.conf dodać wpis:
[Theme]
Current=debian-paczor
FacesDir=/home/paczor/Pictures/faces
Tematy są w: /usr/share/sddm/themes/
Skopiowałem debian-breeze jako debian-paczor i zmieniam konfigurację jak chcę.

Przełączenie na zintegrowaną kartę Intel:

Dlaczego w ogóle warto zawracać sobie tym głowę? Po pierwsze, gdy używam opesource'owego sterownika do kart Nvidii - Nouveau - nie działa hibernacja. A właściwie działa ale po wyjściu z zamrożenia użycie procesora skacze go ponad 90%, kernel zaś pluje taką ilością ostrzeżeń, że po kilku minutach syslog może spuchnąć do wielu gigabajtów.

Po drugie, po przejściu na komercyjne sterowniki Nvidii traci się możliwość przejścia z X-ów do konsoli.

Po trzecie, Nvidia na komercyjnych sterownikach żre mnóstwo prądu, skracając czas działania na baterii

w pliku /boot/efi/EFI/refind/refind.conf dodaj linię:

spoof_osx_version 10.9

która sprawia, że Macbook "myśli", że bootuje w macOS-ie.

Pobierz gpu-switch ze strony: https://github.com/0xbb/gpu-switch. Użyj go z przełącznikiem "-i":

gpu-switch -i

Spowoduje to przełączenie na kartę Intela. Teraz reboot.

Zainstaluj pakiet: xserver-xorg-video-intel i gotowe.

A teraz jazda bez trzymanki czyi próba wyłączenia Nvidii, mnie się nie udaje, mam błędy kernela i kończy się kompletnym zwisem. Lecz jeśli jej nie wyłączę to wszystko ładnie hasa.