Jump to content
wujek_bogdan

Niedziałający podgląd JPEG

Recommended Posts

Miałem problem z niedziałającym podglądem JPEG na Insanelymac przeczytałem, że jednym z rozwiązań jest włączenie w BIOS-ie iGPU i ustawienie jej jako podstawową kartę graficzną. To rozwiązanie działa, ponieważ gdy kabel jest wpięty do dedykowanej GPU to i tak jest ona inicjowana poprawnie pomimo, że iGPU jest ustawiona jako podstawowa.

Jeśli dobrze rozumiem, to ten trik związany jest z tym, że macOS z jakiegoś powodu nie potrafi odpalić sprzętowego dekodowania pewnych formatów (w tym przypadku JPEG) na dedykowanej karcie graficznej. Gdy uruchamiamy zintegrowaną grafikę, to macOS dekoduje te formaty używając iGPU, wyświetlając obraz używając dedykowanego GPU. Czy dobrze rozumie, czy to moja nadinterpretacja?

Czy to jest optymalne rozwiązanie? Czy nie da się zmusić systemu do dekodowania za pomocą dedykowanego GPU?

Czytałem, że można zmienić SMBIOS na MacPro5,1 lub MacPro6,1 - nie wydaje mi się to jednak eleganckim rozwiązaniem, chociażby dlatego, że te komputery działają na Xenonach - obawiam się problemów związanych z zarządzaniem energią.

Trzeci sposób to wyłączenie sprzętowej akceleracji za pomocą flagi WhateverGreen: shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94 - ten sposób wydaje mi się zupełnie nieelegancki. To nie rozwiązanie tylko ukrycie problemu.

Edited by wujek_bogdan

Share this post


Link to post
Share on other sites

Jeśli masz iGPU i identyfikację iMac to powinny być odpalone obie grafiki, z tym że nie jest wymagane, żeby iGPU było ustawione jako podstawowe. Można ustawić dedyk, i tak będzie działać, zakładając że reszta konfigu pod WEG będzie zgodna ze sztuką. Mac Pro nie ma iGPU, dlatego zmiana identyfikacji pomaga.

Share this post


Link to post
Share on other sites
20 godzin temu, 314TeR napisał:

Tutaj opisałem jak odpalić iGPU jako headless:

Być może nie wyraziłem się jasno. Od momentu gdy włączyłem w BIOS-ie iGPU podgląd JPEG działa, więc problem wydaje się być rozwiązany. Mnie zastanawia to, czy to rozwiązanie jest optymalne. Nie do końca rozumiem co się dzieje "pod spodem". Czy teraz rzeczy wymagające sprzętowego dekodowania "lecą" przez iGPU? Jeśli tak, to czy to rozwiązanie jest dobre, czy jest to jakiś hack?

Share this post


Link to post
Share on other sites

Samo włączenie w biosie to jeszcze nie koniec, musisz ustawić tzw. headless ig-platform-id odpowiedni dla Twojego iGPU. W ten sposób system korzysta z mocy obliczeniowej obu grafik, dokładnie tak jak ma to miejsce w iMacach (nie iMacach Pro). Taki zabieg jest niezbędny, żeby działał intelowy QuickSync. Jest na ten temat masa tematów zarówno w necie, jak i na tym forum.

Share this post


Link to post
Share on other sites

Rozumiem, chciałem się upewnić czy taka konfiguracja to eleganckie rozwiązanie czy jakaś proteza. Taką protezą jest np. wyłączenie sprzętowej akceleracji za pomocą parametrów shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94.

Doczytałem, że jest najbardziej eleganckie rozwiązanie z możliwych.

Tak na marginesie - pomimo braku ig-platform-id w konfigu, w preferencjach systemowych nie widnieje Intel, a jedynie RX 580. Poradniki w sieci mówią, że Intel "znika" z preferencji systemowych i działa jako headles dopiero po ustawieniu prawidłowego ig-platform-id.

Edited by wujek_bogdan

Share this post


Link to post
Share on other sites

Jeśli nie masz żadnego monitora podpiętego pod iGPU, to aby nic się nie krzaczyło i nie wykładało to musisz zrobić następujące rzeczy:

  1. Włączenie iGPU w BIOS.
  2. Ustawienie kolejności kart tak aby VGA na PCI-E była pierwsza a iGPU drugie.
  3. Ustawienie configu - wszelkie inject dla intela, etc muszą zniknąć i dodajesz jedynie właściwy ig-platform.
  4. W kextach masz LILU + WeG.

 

Share this post


Link to post
Share on other sites

W konfigu Clovera dodałem następujący wpis:

    <key>Devices</key>
    <dict>
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BAASBA==
                </data>
            </dict>
        </dict>
      	<!-- Pozostałe wpisy -->
    </dict>
 
  • iGPU w BIOS-ie włączone,
  • VGA na PCI-E ustawiona jako pierwsza,
  • Wszystkie injecty w sekcji Graphics ustawione na false.
  • Lilu + WhateverGreen obecne i w najnowszych wersjach
  • Clover najnowszy: 5099

---

Sytuacja wygląda tak, że:

  • Gdy ustawię VGA na PCI-E jako pierwszą, wtedy:
    • pomimo dodania ig-platform-id do konfigu, podgląd JPEG nie działa.
    • sprzętowe dekodowanie x264 testowane w VideoProc nie działa
  • Gdy ustawię iGPU jako pierwszą, wtedy
    • bez względu na to czy ig-platform-id jest w konfigu czy go nie ma podgląd JPEG działa.
    • sprzętowe dekodowanie x264 testowane w VideoProc działa.

W obu przypadkach HEVC nie działa, ale z tego co widzę Haswell po prostu tego nie obsługuje.

---

Nie rozumiem co się tutaj dzieje - jest dokładnie odwrotnie niż być powinno! Wygląda na to, że ig-platform-id u mnie nie jest potrzebne. Czyżby Lilu/WhateverGreen radził sobie bez tego?

Załączam pełny konfig Clovera.

 

 

config.plist

Edited by wujek_bogdan

Share this post


Link to post
Share on other sites

@wujek_bogdan: A próbowałeś OpenCore? U mnie wszystkie (a i tak było ich niewiele) problemy zniknęły, gdy przestawiłem się na OpenCore. Polecam.

Share this post


Link to post
Share on other sites
Godzinę temu, Ian napisał:

@wujek_bogdan: A próbowałeś OpenCore?

Nie próbowałem, śledzę jego rozwój i na pewno przyjdzie na to czas. Na razie czekam aż się ustabilizuje, bo rozwija się bardzo dynamicznie i obawiam się, że kolejne wersje nie będą wstecznie kompatybilne.

Godzinę temu, Ian napisał:

@wujek_bogdan:  U mnie wszystkie (a i tak było ich niewiele) problemy zniknęły, gdy przestawiłem się na OpenCore. Polecam.

Z tym, że ja nie wiem czy mam w ogóle jakieś problemy :) Zainteresował mnie temat sprzętowej akceleracji kompresji/dekompresji multimediów więc postanowiłem spróbować to odpalić w ramach doszlifowywania konfigu. Z testów, które zrobiłem wynika, że akceleracja działa - moim jedynym problemem jest to, że nie wiem czemu działa. Wg wszelkich opisów w sieci i wg tego co pisze @314TeR w mojej obecnej konfiguracji nie powinna działać. W właściwej konfiguracji z kolei nie działa. Opisałem szczegóły w moim poprzednim poście.

Edited by wujek_bogdan

Share this post


Link to post
Share on other sites

@wujek_bogdan to nie tak, że nie będzie działać. W obu wpadkach zarówno z iGPU ustawionym jako podstawowym, jak i z iGPU ustawionym jako drugorzędny przy właściwej konfiguracji będzie działać.

Ustawienie iGPU jako podstawowy wiąże się z koniecznością posiadania podpiętego podstawowego monitora do iGPU, jeśli nie podepniesz nic, to nie zobaczysz BIOSu, clovera, booscreena itp itd, a dopiero załadowany system. Dlatego jak chcesz jako podstawową używać VGA dedykowanej - to musisz mieć do niej podpięty monitor. Jak masz 1 monitor to się robi kłopot, którą VGA wybrać.

Ustawienia (igpu) które podałem w w/w linku dotyczy wyłącznie HD4600 i w konfiguracjach z jakimi się spotkałem. Może u Ciebie nie ustawiłeś jeszcze czegoś w biosie, lub ścieżka urządzenia PciRoot(0x0)/Pci(0x2,0x0) (choć nie sądzę) jest inna.

EDIT: Masz błędy w config.plist w sekcji SMBIOS.

Share this post


Link to post
Share on other sites
2 godziny temu, 314TeR napisał:

Ustawienie iGPU jako podstawowy wiąże się z koniecznością posiadania podpiętego podstawowego monitora do iGPU, jeśli nie podepniesz nic, to nie zobaczysz BIOSu, clovera, booscreena itp itd, a dopiero załadowany system. Dlatego jak chcesz jako podstawową używać VGA dedykowanej - to musisz mieć do niej podpięty monitor. Jak masz 1 monitor to się robi kłopot, którą VGA wybrać.

W moim przypadku tak nie jest. Bez względu na to czy wybiorę iGPU jako pierwsze czy dedykowaną VGA, to jeśli mam monitor podpięty pod dedykowaną VGA, to obraz pojawia się na nim już na etapie bootowania.

2 godziny temu, 314TeR napisał:

Ustawienia (igpu) które podałem w w/w linku dotyczy wyłącznie HD4600 i w konfiguracjach z jakimi się spotkałem. 

Taką właśnie mam kartę: HD4600. 

2 godziny temu, 314TeR napisał:

Może u Ciebie nie ustawiłeś jeszcze czegoś w biosie

Co jeszcze mogę sprawdzić w BIOS-ie? Nie widzę tam żadnych innych opcji związanych z iGPU. Mogę ustawić kolejność bootowania, przydzielić pamięć oraz ustawić dual monitor (obecnie jest na false)

2 godziny temu, 314TeR napisał:

EDIT: Masz błędy w config.plist w sekcji SMBIOS.

Co masz na myśli? Jeśli <--! ... --> to to jest zwykły komentarz XML. Wyciąłem zbędne wpisy, żeby nie zaciemniać obrazu.

 

Ale najważniejsze pytanie to to czy jest sens kombinować dalej skoro sprzętowa akceleracja działa w obecnej konfiguracji (choć nie ukrywam, że wolałbym wiedzieć dlaczego działa ;))

Edited by wujek_bogdan

Share this post


Link to post
Share on other sites

Działa bo zapewne płyta coś robi, np wykrywa brak podłączonego wyjścia obrazu do iGPU i mimo Twoich celowych ustawień i tak ustawia tak jak oprogramował logikę producent. Tak aby w takim właśnie wypadku jak Ty masz, mieć obraz z BIOSu i bootscreen.

Dobra - uściślijmy - o której płycie rozmawiamy? ASUS Z87M-Plus czy Asrock Z87 Pro4.

Share this post


Link to post
Share on other sites

Dzięki, rzeczywiście, zmiana multimonitor na auto enable pomogła. To czysta kosmetyka, bo i bez tego grafika działała jako headless. Potwierdziłem to w IORegistryExplorer. 

Dla potomnych: świetny poradnik na temat Lilu: https://www.tonymacx86.com/threads/an-idiots-guide-to-lilu-and-its-plug-ins.260063/#Headless

Edited by wujek_bogdan

Share this post


Link to post
Share on other sites
18 minut temu, 314TeR napisał:

Multimonitor ma być na enable. Przy auto masz wciąż wyłączone iGPU. 

Tak to jest jak się pisze posty przed poranną kawą. Oczywiście miałem na myśli na enable :) 

Edited by wujek_bogdan

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.