W Ubuntu X jest jednym z bardziej krytycznych elementów na stosie. W związku z tym otrzymujemy MASĘ pytań i zgłoszeń błędów, prawdopodobnie około 100 razy tyle, ile mamy siły roboczej.
Canonical zatrudnia dodatkowych inżynierów do pracy nad X, co pomoże, ale wciąż jest wiele rzeczy, które wykraczają poza zakres tego, co Canonical może zrobić, więc uważam, że bardzo ważne jest zaangażowanie silnej społeczności w ulepszanie X w Ubuntu, szczególnie wokół uzyskiwania odpowiedzi na wszystkie te ogromne ilości zgłoszeń błędów, segregowania i (miejmy nadzieję) rozwiązywania.
Jednak ciężko jest znaleźć ludzi do pracy nad X lub przekonać ludzi, że warto zainwestować w to czas. Jak sugerowałbyś zachęcanie ludzi do zaangażowania się, którzy w innym przypadku nie myśleli o pracy nad X?
Odpowiedzi:
Podobnie jak wszystko, dzięki temu ludzie mogą łatwo się o tym dowiedzieć. Tak więc z tego, co pamiętam w początkowej fazie usuwania błędów, społeczność nie otrzymała dużej pomocy. Potem, gdy niektóre strony wiki wyjaśniające regularne procesy w triaging błędów i niektóre dni błędów zaangażowały znacznie więcej członków społeczności. Również jeśli możesz rozpocząć regularną aktywność dla społeczności i zaoferować pomoc tym, którzy ją wypróbują, zyskasz trochę zainteresowania.
Jeśli potrzebujesz pomocy z działalnością, możesz wysłać do mnie e-mail, a także pomóc w jej organizacji.
Tak więc moją odpowiedzią jest utworzenie strony wiki z pytaniami i poleceniami pozwalającymi uzyskać dobre informacje o klasyfikowaniu błędów, aby zaangażować w to ludzi.
Dla rozwoju to duży problem. Xorg i jądro wymagają umiejętności programowania na niskim poziomie dla większości funkcji naprawiania błędów i implementacji. Musisz więc dotrzeć do określonej grupy programistów i zainteresować ich. Nie mam tutaj żadnych sugestii poza pytaniem i zobaczeniem, kto spędza czas na # ubuntu-x i zapytaniem, czy mogą pomóc.
źródło
Powodem, dla którego X nie dostaje dużo pracy, jest to, że wymaga ogromnej wiedzy na temat działania GPU, pamięci itp., A także znajomości bazy kodu X.org i do pewnego stopnia programowania jądra. Wejście do iz perspektywy społeczności nie jest trywialne, ponieważ osoby zainteresowane pracą z X lub sterownikami X prawdopodobnie już to robią. Obecnie nie ma motywacji dla programisty do pracy nad Xorg oprócz osobistych zainteresowań.
To, co społeczność ma, czego niekoniecznie mają programiści X.org, to dostęp do szerokiej gamy sprzętu. Posiadanie ludzi, którzy są gotowi poświęcić czas na pisanie „dobrych” raportów o błędach oraz testowanie sterowników i części stosu Xorg przed wydaniem, prawdopodobnie prawdopodobnie pomoże inżynierom bardziej niż cokolwiek innego.
Obecnie istnieje repozytorium edytorów Xorg, którego używam do testowania sterowników w moim stabilnym systemie. Po zakończeniu testowania bardzo łatwo jest wycofać jedną paczkę. Jednak jedynym innym sposobem, w jaki możemy przetestować, jest zbudowanie X siebie lub zainstalowanie repozytorium edgerów, które buduje z góry. To robi hurtową wymianę X, o ile wiem. Oznacza to, że jest to podejście typu wszystko albo nic do testowania X.
Możliwość posiadania 2 wersji X (i dość łatwego wyboru), z której chcesz skorzystać, pozwoliłaby testerom nie tylko przetestować X, ale następnie wrócić do działającego Xorg, aby mogli przesłać raport o błędzie.
źródło
Mówiąc jako programista, który jest niezobowiązująco zainteresowany X, oto moje problemy:
Mam dostęp tylko do kilku kart graficznych i podejrzewam, że większość ludzi ma dostęp tylko do jednej. Dlatego nie mogę wiele zrobić dla większości błędów, które zawsze będą na „innej karcie”.
W przeciwieństwie do większości pakietów, nie mogę w prosty sposób stworzyć środowiska testowego dla nowej wersji sterownika; maszyny wirtualne mają własne sterowniki X.
Nie mogę łatwo zaktualizować do najnowszego sterownika, przetestować go, a następnie przywrócić. To zniechęca do eksperymentowania (ponieważ jeśli coś pójdzie nie tak, równie dobrze mogę zostać zburzony); utrudnia także testy regresji.
Kiedy ostatnio patrzyłem, z powodzeniem zastosowałem łatkę, skompilowanie i uruchomienie X było trudne, przeszedłem przez menedżera pakietów, wymagałem również łatania modułów jądra i było prawie nieodwracalnym krokiem.
Obecnie sterowniki X dzielą kod między jądro, Mesa, udev (ustawienia i ustawienia domyślne) i sterowniki użytkowników. Co oznacza, że łatki również się dzielą ...
Sądzę więc, że odpowiedzią jest uczynienie wprowadzania i cofania zmian czymś, co jest obsługiwane przez menedżera pakietów i łatwe do odzyskania po uszkodzeniu systemu.
Ponadto należy sprawdzić system taki jak DKMS w przypadku sterowników X; jeśli mógłbym łatwo załatać / skompilować / przetestować / odinstalować, powiedzmy, sterownik wejściowy dla mojego ekranu dotykowego bez konieczności odbudowywania całego monolitycznego urządzenia (z groźbą uczynienia X całkowicie bezużytecznym), dostałbyś bardziej swobodny wkład i motywował mnie do spójrz na triaging błędów i łatek testowych związanych z tym kawałkiem sprzętu.
źródło
Aby uzupełnić to, co powiedział jbowtie, dodam, że jako triager błędów uważam, że błędy X są bardzo trudne do rozwiązania, po prostu dlatego, że X jest bardzo złożoną bestią. Odzwierciedla to złożoność strony wiki dotyczącej rozwiązywania problemów . Zdecydowanie pomoże to rodzaj programu mentorskiego dla członków BugSquad, aby dowiedzieć się, jak lepiej radzić sobie z błędami X. Może przytulasz się wokół niego? A może praktyczne szkolenie w # ubuntu-classroom?
źródło
Ulepszenie X.org jest trudne, gdy wielu użytkowników używa zastrzeżonych sterowników, które zastępują części stosu graficznego, a następnie zwracają się do zespołu X.org, gdy uaktualnienie jądra / uaktualnienie X.org przerywa instalację sterownika.
Wiele mówi się o tym, że „nie mam wszystkich dostępnych kart”.
Programowanie grafiki jest dość trudne, jeśli nie jesteś dobrym programistą. Debugowanie może być prawdziwym bólem, zwłaszcza jeśli nie widzisz, co się dzieje.
źródło