abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 3
    včera 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 25
    včera 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    12.5. 23:22 | Pozvánky

    Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -

    … více »
    bkralik | Komentářů: 0
    12.5. 23:11 | Zajímavý software

    GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.

    Ladislav Hagara | Komentářů: 0
    12.5. 17:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    12.5. 15:00 | Komunita

    Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.

    Ladislav Hagara | Komentářů: 0
    12.5. 14:11 | Bezpečnostní upozornění

    Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1599 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Inštalácia ovládačov r4p0 pre Mali 400 na sunxi

    28.9.2014 15:45 | Přečteno: 5003× | Hardware | Výběrový blog | poslední úprava: 28.9.2014 15:37

    Grafický čip mali 400 je v súčasnosti jeden z najbežnejšie používaných grafických čipov na ARM doskách / tabletoch. Ako to u propietárnch ovládačov býva zvykom väčšinu práce odvádza propietárna časť v userspace. Malá časť kódu, ktorá poskytuje rozhranie k hardvéru je (a musí byť kvôli GPL) open source. Nedávno sa mi podarilo nájsť binárny ovládač r4p0. Tento blog bude o tom ako rozbehať r4p0 na SoC značky Allwinner.

    Ingrediencie

    Na úspešné rozbehanie ovládačov budeme potrebovať predovšetkým uzatvorenú userspace časť ovládača. Allwinner poskytuje tieto binárne ovládače voľne na ľubovoľné použitie (žiadna EULA). Najvyššia verzia je však r3p2. Novšia verzia (s extrémen humusáckou EULA) sa dá čmajznúť z hardkernelu (neviem či som spomínal, ale nemám túto firmu rád). Pár zaujímavých odstavcov prihladám aj tu:

    2.1 Hardkernel hereby grants Licensee a limited, non-exclusive, non-transferable, irrevocable, restricted right to use the Software in object code form only on the Computer System solely for the purpose of developing application software for Hardkernel devices using the Samsung Exynos 4412 System-on-a-Chip.
    2.2.4 You will not disassemble, decompile, reverse engineer, modify or create derivative works of the Software or documentation nor permit any third party to do so, except to the extent such restrictions are prohibited by applicable mandatory local law.

    Okrem toho budeme potrebovať príslušnú verziu open source časti ovládača zo stránky mali.

    Inštalácia binárnej časti

    tar -xvf r4p0-mp400-fbdev.tar -C /usr/lib

    Jednoduché, že ;-)

    Open source časť

    Grafický čip mali používa široké spektrum SoC. Podľa zapojenia sa inicializuje / mapuje videopamäť na rôznych zariadeniach rôzne. Ovládač zo stránky mali obsahuje len spoločné časti pre všetky SoC. Inicializačný kód sa musí skopírovať do adresára platform:

    $ ls -lh platform
    drwxr-xr-x 2 mirec mirec   68 sep 21 20:55 arm
    drwxr-xr-x 2 mirec mirec   53 sep 21 23:13 sunxi
    

    Od verzie ovládača r3p2 sa zmenil spôsob inicializácie, takže celá špecifická časť sa musela prepísať. Našťastie som nedávno objavil na tomto blogu časť ovládača pre sunxi.

    Novšia verzia (r4p0) vyžaduje síce malé úpravy (inak zhodí kernel), ale nie je to nič hrozné - diff:

    --- sunxi.old.c    2014-09-28 14:49:20.556354235 +0200
    +++ sunxi.c    2014-09-21 23:00:11.750347742 +0200
    @@ -30,6 +30,9 @@
     #include <plat/sys_config.h>
     #include <plat/memory.h>
     #include <plat/system.h>
    +#include <linux/dma-mapping.h>
    +#include <linux/moduleparam.h>
    +#include "mali_pp_scheduler.h"
     
     #ifdef CONFIG_FB_SUNXI_RESERVED_MEM
     extern unsigned long fb_start;
    @@ -152,16 +155,19 @@
             SW_INT_IRQNO_GPU_PP1, SW_INT_IRQNO_GPU_PPMMU1)
     };
     
    +static struct mali_gpu_device_data mali_gpu_data =
    +{
    +    .shared_mem_size = 256 * 1024 * 1024, /* 256MB */
    +};
    +
     static struct platform_device mali_gpu_device =
     {
         .name = MALI_GPU_NAME_UTGARD,
         .id = 0,
         .dev.release = mali_platform_device_release,
    -};
    +    .dev.coherent_dma_mask = DMA_BIT_MASK(32),
     
    -static struct mali_gpu_device_data mali_gpu_data =
    -{
    -    .shared_mem_size = 256 * 1024 * 1024, /* 256MB */
    +    .dev.platform_data = &mali_gpu_data,
     };
     
     int mali_platform_device_register(void)
    @@ -191,12 +197,14 @@
                     ARRAY_SIZE(mali_gpu_resources_m400_mp1));
         }
     
    +    /*
    +     NEEE
         if (0 == err)
         {
             err = platform_device_add_data(&mali_gpu_device, &mali_gpu_data, sizeof(mali_gpu_data));
             if (0 == err)
             {
    -            /* Register the platform device */
    +            / Register the platform device /
                 err = platform_device_register(&mali_gpu_device);
                 if (0 == err)
                 {
    @@ -214,6 +222,22 @@
     
             platform_device_unregister(&mali_gpu_device);
         }
    +    */
    +
    +    /* Register the platform device */
    +    err = platform_device_register(&mali_gpu_device);
    +    if (0 == err) {
    +#ifdef CONFIG_PM_RUNTIME
    +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37))
    +        pm_runtime_set_autosuspend_delay(&(mali_gpu_device.dev), 1000);
    +        pm_runtime_use_autosuspend(&(mali_gpu_device.dev));
    +#endif
    +        pm_runtime_enable(&(mali_gpu_device.dev));
    +#endif
    +
    +        return 0;
    +    }
    +
     
         return err;
     }
    @@ -223,6 +247,7 @@
         MALI_DEBUG_PRINT(4, ("mali_platform_device_unregister() called\n"));
     
         platform_device_unregister(&mali_gpu_device);
    +    platform_device_put(&mali_gpu_device);
         mali_platform_deinit();
     }
    

    Kompletný zdroják je v mojom repozitári.

    Ovládač je možné skompilovať mimo zdrojákov príkazom (cross kompilátor podľa použitej platformy):

    MALI_PLATFORM=sunxi CROSS_COMPILE=arm-cortex_a7-linux-gnueabi- KDIR=/cesta/k/zdrojakom/jadra USING_UMP=0 BUILD=release make

    Ak by náhodou niekto chcel dať tento ovládač priamo do zdrojákov kernelu (mimochodom tak je to v mojom repozitári, ale keď to niekto chce proriešiť posvojom) tak treba dať pozor na jednu drobnosť: musí byť zapnuté EXTRA_DEFINES:=-DMALI_FAKE_PLATFORM_DEVICE=1 inak sa ovládač len tvári, že sa inicializoval. Pár hodín som sa s tým trápil kým som zistil, že u pánov číňanov je fake reálne zariadenie ;-)

    Výsledky

    Nechce sa mi prepínať medzi rôznymi verziami ovládača, takže žiadne seriózne benchmarky dnes nečakajte. Pre porovnanie som používal Qt5 cinematic experience s povypínanými efektmi. S ovládačom r3p0 sa hodnota fps pohybovala okolo 90. Verzia r4p0 dosahuje okolo 170 fps. Rozdiel bol celkom očakávaný. Momentálne mám totiž dvojjadrovú grafiku a r3p0 vie používať len jedno jadro. Presný changelog nie je bežným používateľom dostupný, takže neviem čo všetko sa medzi r3p0 a r4p0 zmenilo. Škoda, že viacero jadier sa dá použiť legálne len s doskou od hardkernelu.

    Qt 5 cinematic experience - olinuxino Qt 5 cinematic experience - olinuxino

    Bonusový tip: vertikálna synchronizácia

    Na vyššie odkazovanom blogu som našiel odkaz na to, ako zapnúť vertikálnu synchronizáciu. Video z môjho zariadenia so zapnutou synchronizáciou je tu:

           

    Hodnocení: 90 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Max avatar 29.9.2014 09:45 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Inštalácia ovládačov r4p0 pre Mali 400 na sunxi
    Díky za info, také mně to nejspíše bude čekat, takže jsi mi ušetřil čas.
    Zdar Max
    Měl jsem sen ... :(
    xkucf03 avatar 26.10.2014 00:00 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Inštalácia ovládačov r4p0 pre Mali 400 na sunxi

    Jak pokročila Lima? Poslední zpráva u nich je:

    Q3A now runs with open source generated shaders!

    což zní dost slibně a to bylo už 2013-03-18.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    mirec avatar 19.11.2014 09:20 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Inštalácia ovládačov r4p0 pre Mali 400 na sunxi

    Pokiaľ viem lima je totálne dead. Žiaľ nie je dosť ľudí na to aby drivery dokopali do použiteľného stavu.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.