Dlaczego Linux (a konkretnie Ubuntu) na desktopie ss...

Niniejszy wpis jest moim subiektywnym odczuciem co do tematu i być może dotyczy wyłącznie mojej specyficznej konfiguracji sprzętowej.

Przecież to działało

Czas przeszły jest tutaj niezwykle istotny, o zgrozo działało to dobrze przez długi czas. Do momentu kiedy postanowiłem zainstalować Windows 10 bo był mi potrzebny pakiet Visual Studio i Hyper-V. System miły i przyjazny - na 2-3 miesiące, potem zaczyna denerwować jak OS X przez pierwszy tydzień. Najpierw trzeba to było przekonać do tego, że może działać ponad 2 godziny bez restartu w kompletnie randomowym momencie. Na szczęście pomogło upgrade-owanie BIOS-u do aktualnej wersji i ustąpiło. Uznajmy to za problem sprzętowy, ale za wyjątkiem tego chodziło praktycznie jak złoto, praktycznie... Okazało się, że renderowanie okienek na dwóch ekranach 4K no przekracza możliwości 1060 6GB i DWM-a. Więc bez zbędnych filozofii wsadziłem kolejną (praktycznie identyczną [inna naklejka]) kartę graficzną, ustawiłem pozycje wyświetlaczy i działało dalej. Skończył się projekt, można na spokojnie wracać do Linuksa.

Lepsze wrogiem dobrego

Nadszedł ten moment, wkładam pendrive z Ubuntu i rozpoczynam instalację. Wszystko idzie jak złoto, restart i BadTLP. Nie no spoko, przy poprzedniej instalacji było to samo, bieganie po BIOS-ie, zmiana ustawienia szerokości PCIe (bo nie będę ucinać wydajności systemu żeby uruchomić system...) w 38 kombinacjach, upgrade BIOS-u, znowu zmiany na kolejne 12 kombinacji i mamy to. No prawie...

Dokładnie w momencie kiedy powinien pojawić się ekran logowania leży system zalicza hang na tyle skuteczny, że nie można przeskoczyć na inny tty. Szybki skok w tryb recovery i zonk, wszystko działa jak należy za wyjątkiem drugiego ekranu. No to wymiana sterownika z repozytorium na blob-a ze strony nVidia, restart i... kupa. Po godzinie walki z różnymi wersjami sterownika własnościowego w końcu wysiadłem, poddałem się i puściłem purge-a na nvidię z asteriskiem, chociaż układ graficzny działa.

Działa to może duże słowo, wyświetla coś na ekranie.

Wtedy moją uwagę przykuł przełącznik środowiska graficznego przy logowaniu - skąd on tam jest, przecież mam tylko jedne domyślne. I szach mat, wujek Google potwierdza, że może to być problem więc wystarczyło przekonać GDM, żeby olał Wayland-a i sterownik nVidia zaczął działać. Tak, trzeba zmienić jedną linijkę w pliku custom.conf GDM3 - ciekawe jaki "as" pisał skrypty instalacyjne Ubuntu tak żeby instalowały własnościowe sterowniki nVidia, a nie zrobił tego w taki sposób żeby modyfikowały ten jeden plik...

No to szybka instalacja własnościowego sterownika z cichą nadzieją, że przywita mnie takie okno konfiguracji systemu:

No nie, nie przywitało...

Brutalne, ale Linux to nie Windows

Wydawałoby się, że tak trywialna funkcjonalność jak uruchomienie dwóch kart graficznych z dwoma kartami graficznymi to w sumie prościzna, no ni wuj. Mamy dwa screeny, więc trzeba je wirtualnie połączyć. Nie takie dziwy już się ustawiało więc nie powinno być skomplikowanie, a takiego wała jak polska cała. Jak już udało się przekonać Xorg, że sterownik nVidia ma je połączyć to GDM stwierdził, że to ma w nosie i baw się sam. Więc musiałbym napisać sobie własne skrypty startowe, logować się najpierw w terminal, potem odpalać skrypt, żeby potem klikać w okienkach. Serio, kogoś poniosło.

Powrót do normalności czyli otwarte sterowniki

Myślałem, że nigdy tego nie powiem, ale otwarty sterownik działa u mnie lepiej niż zamknięty. Zastanawiam się jaki to by musiał być hardcore robienie podobnego bajeru na kartach AMD, które przecież są znane z tego, że jest duża rozbieżność między jakością na Windows/Linux. O zgrozo po połowie dnia walki działa to dobrze tylko zabiera do 20% jednego rdzenia - płakać nie będę.

Czyli kiedy powrót do Windows?

Nie no, bez przesady. Gdyby nie konieczność odpalania maszyn wirtualnych w Hyper-V nawet nie bawiłbym się w instalację Windowsa na fizycznym sprzęcie. No chyba, że Ubuntu znowu mnie tak zdenerwuje i poleci w krainę wiecznych łowów.

Dla ciekawskich i fanów grzebania w forach linuksowych - jeśli ktoś ma jakieś ambitne rozwiązania to chętnie sprawdzę podaję specyfikę sprzętu:

System:    Host: sage Kernel: 5.0.0-20-generic x86_64 bits: 64 compiler: gcc v: 8.3.0 Desktop: Gnome 3.32.1 
           Distro: Ubuntu 19.04 (Disco Dingo) 
Machine:   Type: Desktop Mobo: ASUSTeK model: WS-C621E-SAGE Series v: Rev 1.xx serial: <root required> 
           UEFI: American Megatrends v: 5503 date: 04/11/2019 
CPU:       Topology: 2x 10-Core model: Intel Xeon Silver 4114 bits: 64 type: MT MCP SMP arch: Skylake rev: 4 
           L2 cache: 27.5 MiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 176037 
           Speed: 800 MHz min/max: 800/3000 MHz Core speeds (MHz): 1: 800 2: 800 3: 801 4: 800 5: 801 6: 800 7: 800 8: 800 
           9: 801 10: 800 11: 801 12: 801 13: 801 14: 800 15: 800 16: 800 17: 2200 18: 801 19: 800 20: 801 21: 800 22: 830 
           23: 800 24: 1963 25: 801 26: 801 27: 801 28: 801 29: 800 30: 801 31: 800 32: 966 33: 801 34: 800 35: 801 36: 801 
           37: 801 38: 800 39: 905 40: 801 
Graphics:  Device-1: ASPEED Graphics Family vendor: ASUSTeK driver: ast v: kernel bus ID: 02:00.0 
           Device-2: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Micro-Star MSI driver: nouveau v: kernel bus ID: 5e:00.0 
           Device-3: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Gigabyte driver: nouveau v: kernel bus ID: af:00.0 
           Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: fbdev,vesa 
           resolution: 3840x2160~60Hz, 3840x2160~60Hz 
           OpenGL: renderer: NV136 v: 4.3 Mesa 19.0.2 direct render: Yes 
Audio:     Device-1: Intel vendor: ASUSTeK driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           Device-2: NVIDIA GP106 High Definition Audio vendor: Micro-Star MSI driver: snd_hda_intel v: kernel bus ID: 5e:00.1 
           Device-3: NVIDIA GP106 High Definition Audio vendor: Gigabyte driver: snd_hda_intel v: kernel bus ID: af:00.1 
           Sound Server: ALSA v: k5.0.0-20-generic