abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 1
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 9
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    24.5. 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 10
    23.5. 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (84%)
     (4%)
     (6%)
     (6%)
    Celkem 605 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Zpravodaj o Víně – 29. 2. 2012

    6. 3. 2012 | Luboš Doležel | Různé | 2918×

    Příchod Windows na ARM. Navrhování chybějících knihoven. Stav mmdevapi a praskání zvuku. Změny v databázi aplikací.

    Obsah

    Příchod Windows na ARM

    link

    V průběhu historie Windows se objevily a zase zmizely porty na jiné architektury než x86. ARM je ale platformou, které se jako snad jediné daří tomuto válečnému (vítěznému) tažení odolávat díky svým vlastnostem. V Microsoftu ale cítí, že zde přicházejí o potenciální tržby, a tak se rozhodli portovat Windows právě i na ARM. A Wine se taková aktivita pochopitelně týká.

    Podle blogového zápisku na zdnet.com nenechá Microsoft vývojáře používat win32 na ARM (i když to sám Microsoft pravděpodobně používá pro Office na ARM). Namísto toho musejí nativní aplikace používat WinRT, knihovnu tříd v C++.

    Podle Wikipedie jsou knihovny WinRT interně postaveny nad Win32.

    Pokud to bude mít úspěch a někdo se bude cítit na to, aby doplnil podporu do Wine, tak by pravděpodobně měl začít implementací prvních věcí v C, jako to je v msvcp ve Wine. Nakonec – jakmile a jestli vůbec se do llvm dostane podpora ABI Visual C++ – by ve Wine mohlo být umožněno používání zdrojového kódu v C++.

    (Jen pro informaci, vypadá to, že na tom pracoval Charles Davis [1] [2] [3].)

    Vincent Povirk si myslí, že je na spekulace příliš brzo, a celkově případné nadšení z podpory ARM trochu utlumil.

    Nevím, jak jsi dospěl k závěru, že hlavní cestou k používání WinRT API je C++. Zjevně je to tak možné, ale to neznamená, že to je způsob, jaký většina vývojářů použije.

    Navíc ani nevíme, zda nám způsob šíření aplikací nad WinRT vůbec umožní se k takovým aplikacím dostat. Je docela možné, že ani nebude jak si soubory z Win8 Store jen tak stáhnout. Ruční nahrávání aplikací bude dost pravděpodobně možné (ale nemusí tomu tak být), ale i tak by užitečnost Wine byla omezena na aplikace, které lze takto získat.

    Bylo mi také řečeno, že „není podporováno“ nemusí nutně znamenat „nebude fungovat“, ačkoliv i kdyby Microsoft své win32 arm binárky nepodepisoval, je pravděpodobné, že na desktopovém ARMu nebude poskytováno plnohodnotné Win32 API. Budeme muset počkat, dokud to nevyjde, a pak teprve uvidíme.

    Debata se přesunula k vyjasňování, co je WinRT vlastně zač. Charles Davis:

    Jak už napsali jiní, není to úplně pravda [že by WinRT bylo knihovnou tříd v C++]. Ano, je to pravděpodobně napsáno v C++. Ano, dvě z rozhraní k této knihovně jsou knihovny tříd v C++, jedna z nichž přitom vyžaduje speciální verzi C++ (Microsoftem nazvanou C++/CX). Ale WinRT jako takové není knihovnou tříd v C++; je to COMovská knihovna s několika rozšířeními k obyčejnému COMu. Což znamená, že naše implementace může být napsána v čistém C, stejně jako všechny naše COMovské knihovny.

    Ale to všechno platí, jen pokud to bude mít úspěch. A tomu já nevěřím. Osobně si myslím, že bychom měli své už tak vypjaté síly zaměřit na zlepšování kompatibility s Win32. Vzhledem k tomu, že se Microsoft chystá ke všemu možnému, jen ne k opuštění Win32, se Wine stane ještě důležitějším, a to k používání starších aplikací, které nejsou na WinRT založené.

    Dan Kegel se na závěr této debaty zeptal, jak to s podporou ABI Visual C++ v LLVM vlastně vypadá – jak daleko se vývoj dostal. Charles Davis:

    Moc daleko vlastně ne. Trochu jsem pracoval na dekorování názvů a na 64bitovém EH [obsluze výjimek] a někdo jiný pracuje na rozvržení tříd [class layouts], ale k použitelnosti to má daleko. Částečně je to kvůli tomu, že jsem neměl moc času se tomu věnovat.

    link

    Hlavním pomocníkem při instalaci aplikací pro Windows na Linuxu (a dalších podporovaných platformách) je asi nástroj winetricks, jenž je udržován jedním z hlavních vývojářů Wine, Danem Kegelem. Winetricks pomůže s instalací spousty různých knihoven, frameworků nebo důležitých aplikací. Adam Kłobukowski se ozval s nápadem, že by Wine kromě nevýrazné hlášky v konzoli mohlo na chybějící knihovny upozorňovat trochu lépe a konkrétně by mohlo odkázat na způsob, jak danou komponentu doinstalovat (třeba právě pomocí winetricks):

    Wine (zatím ;-)) neimplementuje všechna Windows API a velké části existujících implementací jsou jen pahýly. Proto by mohlo být užitečné, kdyby Wine dokázalo odhalit případy, kdy se program pokusil použít neimplementovanou knihovnu, jež jde ale snadno stáhnout, napadá mě .NET, MSXML nebo VCRUN*. Namísto prostého selhání by Wine mohlo nabídnout radu, co s tím má uživatel dělat.

    To by také mohlo pomoci s API, která jsou z větší části pahýly – fungují v některých situacích, ale v jiných selžou – mohlo by se detekovat, zda se aplikace nesnaží použít nepodporovanou věc a příslušně zareagovat.

    Stefan Dösinger se na to však dívá poněkud realističtěji:

    No, pokud DLL vyloženě chybí, tak by se mělo vypsat ERR. Pokud aplikace zavolá pahýl, tak ten vypíše FIXME. Nevím, co jiného bychom mohli dělat – ukazovat v těchto situacích dialogové okno není dobrý nápad. Nebo myslíš to, že bychom měli udělat zprávy informativnější, že by se vypisovalo třeba „Budete asi muset nainstalovat Visual Basic 6 Runtime z http://microsoft.com/foo/bar“ místo něčeho jako „nelze načíst msvb60.dll“?

    Snad nejhorší situací je, když aplikace načítá knihovnu za běhu, a tudíž nevyvolá chybu linkeru, nebo pokud se pokusí načíst třídu OLE a uživatel pochopí chybu err:ole:XXX jako problém s OLE a ne jako chybějící knihovnu.

    Obecně spíš dávám přednost tomu, aby takové informace byly v dokumentaci nebo na wiki, nikoliv v kódu.

    Jak asi tušíte, Adam objasnil, co tím myslel – hlavně mu vadí to, že současné hlášky nejsou pro běžného uživatele zcela srozumitelné. Frédéric Delanoy vysvětlil, že zejména s pahýly to není moc přímočaré:

    Problém je v tom, že některé aplikace fungují, i když jsou některé knihovny skoro celé plné pahýlů, ale přitom selžou, když se tato knihovna nahradí nativní. Ještě horší je pak to, že dokonce i stejná aplikace/stejná verze může k běhu potřebovat různé obezličky...

    Opravdu si nemyslím, že bychom měli v kódu kopírovat AppDB.

    Dan Kegel – kromě upozornění, že se podobný nápad už několikrát diskutoval – poskytl ukázku toho, jak by se o podobné rady („srozumitelnější hlášky“) mohly postarat samotné linuxové distribuce:

    Už tu na to notifikační systém máme, jde o ladící kanál winediag. Řekl bych, že smyslem bylo umožnit distribucím ukazovat tyto zprávy uživateli (například pomocí dialogu) a všechny ostatní hlášky skrýt.

    V současnosti chyba při načítání knihovny do +winediag nejde. Možná by měla (i když je někdy možné ji ignorovat, takže si nejsem jist).

    S +winediag, nebo bez něj, tak či tak si dovedu představit wrapper mimo Wine, který bude upozorňovat na podobné situace a v těch pár případech, kdy je šance na úspěch vysoká (mfc42? vb6run?), nabídne uživateli pomoc.

    Hrubá ukázka:

    wine "$@" 2>&1 | tee foo.log
    if grep -i "Library MFC42.DLL" foo.log
    then
        zenity --warning --text "This app seems to need mfc42.  Try
    running winetricks mfc42."
    fi
    

    Dalo by asi dost práce dát dohromady něco, co by stálo za nasazení, ale pokud máš zájem, tak jen do toho...

    Stav mmdevapi a praskání zvuku

    link

    Je tomu skoro rok, co jsme psali o nástupu MMDevAPI, neboli nové implementaci zvukových ovladačů, protože stav těch původních byl dosti všelijaký. S MMDevAPI je to teď snad o trochu lepší. Důležitou informací pro uživatele PulseAudio je, že problémy se zvukem ve Wine mohou často zmizet po aktualizaci PulseAudio – ne vše je tedy vyloženě chybou Wine.

    Hlubším problémem při přehrávání zvuku obecně zůstává plánování zápisu zvukových dat do zařízení.

    Máme tu několik problémů s praskajícím zvukem:

    • Jeden je rozhodně způsoben CreateTimerQueue, které není dostatečně pravidelné nebo spíš nevolá callback v intervalu 10 ms, nýbrž 12 ms. Toto je bug #28723, přičemž v komentáři #130 je obezlička.
    • Jeden je způsoben chybou při návrhu mmdevapi: zvukový buffer, který používáme, je prostě příliš malý a Linux není schopen 10 ms zvládat. S příchodem Completely Fair Scheduleru se to ještě zhoršilo. Teď už to nedává ani 50 ms. Je nutné použít mnohem větší buffer. To je důvodem, proč Wine <1.3.25 má mnohem stabilnější zvuk. Je to možná i příčinou bugu #29531.
    • Na Mac OS X 10.5.8 to v dlls/mmdevapi/tests/render praská trvale. Byl bych rád, kdyby někdo na 10.6 nebo .7 ozkoušel interaktivní test.

    Maarten Lankhorst navrhl použití rtkitu pro nastavení realtime priority u vlákna jako řešení problémů s plánovačem. Joerg se toho ale trochu bojí:

    Docela chápu, proč AJ nechce ve Wine RT kód mít. Také by se mi to nelíbilo. Jen málo lidí si podle mě uvědomuje, že RT je dar i velká odpovědnost. Je třeba mít na paměti, že RT procesy mají vyšší prioritu než všechny procesy uživatelů nebo roota. Stačí něco pokazit, zatížit procesor na 100 % a u jednojádrového stroje můžete rovnou zmáčknout reset. RT kód bych nepřijal bez opravdu důkladné revize kódu a opakovaných úvah nad důsledky, také bych požadoval návrh, který by udržoval RT část aplikace pokud možno co nejmenší a co nejvíce oddělenou.

    Na druhou stranu, RT je způsobem, jak získat pravidelné časování a je to také důvod, proč to PulseAudio, jakožto zvukový server, chce. Teď se můžeme dohadovat, že mmdevapi ve Wine představuje pro w32 aplikace něco jako zvukový server, tudíž to má stejné potřeby.

    Jak se ukazuje, s PulseAudio je situace o něco snazší. Maarten Lankhorst píše, že PA se tomuto problému snaží předcházet:

    Tak jako tak to není pro ovladač pulse potřeba, používám funkci automatického časování a zpětné volání v situacích, kdy rendering neběží. Když buffer ještě není vyčerpaný, tak používám zpětné volání zápisu, abych dal vědět, že jsou k dispozici další data.

    Andrew Eikum potvrzuje, že PA je v tomto bohužel výjimkou:

    Jediným backendem, který poskytuje takové informace, je bohužel jen Pulse. Proto tak jako tak potřebujeme řešení pro ostatní ovladače. Budeme se muset rozhodnout, jestli chceme použít stejný mechanismus jako u Pulse, nebo spoléhat na zpětná volání. Používat stejné principy u všech ovladačů má své výhody, i když to v některých situacích nemusí být úplně „korektní“.

    Účastníci diskuze si pak ještě vyměnili několik e-mailů plných technických detailů o různých možnostech časování. Problém ale zůstává prozatím nevyřešen.

    Změny v databázi aplikací

    link

    Změny od správců programů

    link
    ProgramPůvodní stav/verzeNový stav/verzeZměna
    Reason 5.0 Silver (1.3.13) Gold (1.4-rc4) +1
    Adobe Acrobat 7.0 Gold (1.3.36) Silver (1.4-rc4) -1
    Everquest 2 Full Install Client Platinum (1.4-rc3) Garbage (1.4-rc5) -4
    eTrading Securities HOTS 2.0 Silver (1.2.2) Bronze (1.3.36) -1
    ROSE Online Br Gold (1.3.27) Garbage (1.4-rc5) -3
    Igor Engraver 1.7 Platinum (1.3.22) Gold (1.4-rc3) -1
    Microsoft Office (installer only) 2003 Platinum (1.3.24) Silver (1.4-rc4) -2
    PlayOn 3.X Garbage (1.3.12) Bronze (1.4-rc5) +1
    Celková změna -10

    Změny od uživatelů

    link
    ProgramPůvodní stav/verzeNový stav/verzeZměna
    nullDC 1.1.x Platinum (1.1.9) Bronze (1.4-rc2) -3
    Halo: Combat Evolved 1.0x Gold (1.3.18) Garbage (1.4-rc5) -3
    Spore 1.0 Garbage (1.2.2) Gold (1.4-rc3) +3
    Cold Fear 1.0 Silver (1.3.21) Garbage (1.4-rc5) -2
    Disney's Toontown Online 1.x Gold (1.3.28) Garbage (1.3.37) -3
    Commandos: Behind Enemy Lines Ammo Pack (GOG) Garbage (1.1.40) Silver (1.3.37) +2
    Windows Installer 4.5 Silver (1.3.10) Garbage (1.4-rc4) -2
    Might & Magic Heroes VI 1.2.0 Silver (1.3.35) Bronze (1.4-rc3) -1
    SonarViewer 1.2.2 Platinum (1.0.0) Garbage (1.3.37) -4
    Game Maker 8 Version 8.1 Bronze (1.3.25) Silver (1.4-rc5) +1
    Google SketchUp 8.x Bronze (1.2.2) Silver (1.2.3) +1
    Adobe Photoshop CS5 (12.0) Gold (1.4-rc2) Silver (1.4-rc5) -1
    Sid Meier's Civilization V 1.0.0.17 Platinum (1.3.37) Gold (1.4-rc5) -1
    Windows Installer 3.1 Garbage (1.3.5) Silver (1.4-rc4) +2
    Dungeon Siege III Release Gold (1.3.29) Platinum (1.4-rc4) +1
    Mass Effect 3 Demo Gold (1.4-rc4) Platinum (1.4-rc5) +1
    Dark Messiah of Might and Magic Steam Silver (1.2-rc3) Bronze (1.4-rc5) -1
    StarCraft II Retail Bronze (1.4-rc1) Gold (1.4-rc4) +2
    Kingdoms of Amalur: Reckoning Full-Steam Garbage (1.4-rc3) Bronze (1.4-rc4) +1
    Adobe Acrobat X Pro Gold (1.3.20) Silver (1.4-rc5) -1
    Guild Wars All Versions Platinum (1.2.1) Garbage (1.2.3) -4
    Powerpoint Viewer 2007 Silver (1.0.1) Gold (1.4-rc3) +1
    Dear Esther Steam Silver (1.2.3) Bronze (1.4-rc5) -1
    Archicad 12 Gold (1.4-rc1) Platinum (1.4-rc5) +1
    Dungeon Keeper 2 1.x Garbage (1.4-rc2) Platinum (1.4-rc5) +4
    Delphi 7 Silver (1.2.2) Platinum (1.4-rc2) +2
    Unreal Tournament 3 Steam Gold (1.3.7) Platinum (1.4-rc6) +1
    Anno 1404 1.02.2619 Gold (1.3.14) Platinum (1.3.37) +1
    Bioshock 1.0 Platinum (1.3.35) Gold (1.4-rc6) -1
    Alan Wake Steam Gold (1.4-rc4) Bronze (1.4-rc5) -2
    Kingdom Heroes current Gold (1.2) Silver (1.4-rc5) -1
    Command & Conquer: Tiberian Sun Firestorm: 2.03 Bronze (1.3.8) Platinum (1.4-rc5) +3
    Command & Conquer: Tiberian Dawn Gold 1.x Gold (1.3.12) Garbage (1.4-rc5) -3
    Celková změna -7
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    6.3.2012 09:43 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: Zpravodaj o Víně – 29. 2. 2012
    Delphi7 zo silver na platinum, tak na to sa asi pozriem, pouzivat D7 na 64bitovom win7 je za trest
    10.3.2012 12:21 Roman
    Rozbalit Rozbalit vše Re: Zpravodaj o Víně – 29. 2. 2012
    Muzes to trochu vice popsat. Diky
    12.3.2012 10:00 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: Zpravodaj o Víně – 29. 2. 2012
    Kompilujem obrovsky projekt a na 64bitovom windowse je problem to skompilovat. V cca 20% pripadoch to skonci padom delphi, proste zamrzne pri linkovani, na 32bitovom xp sa to nedeje, skusal som wm ware ale tam to ide zase dost pomaly, ak by to vo wine (na fyzickom HW) bezalo lepsie ako na win7 tak by som mohol robit vyvoj na linuxe vo wine. Mohol by som pouzit XP na fyzickom stroji ale licenciu by som musel kupit za vlastne takze wine sa mi zda ako lepsie riesenie (ak by to islo).
    Bedňa avatar 6.3.2012 18:38 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Zpravodaj o Víně – 29. 2. 2012
    Dík, toto si vždy rád prečítam.
    KERNEL ULTRAS video channel >>>
    D.A.Tiger avatar 8.3.2012 16:32 D.A.Tiger | skóre: 8 | Brno
    Rozbalit Rozbalit vše Re: Zpravodaj o Víně – 29. 2. 2012
    +1 Já taktéž.
    Radost z toho, že někdo objeví něco nového, je omyl starý 6000 let... (Jean Paul) | anthill inside
    13.3.2012 18:44 LuděkS | skóre: 31 | blog: publish | Liberec
    Rozbalit Rozbalit vše Re: Zpravodaj o Víně – 29. 2. 2012
    Skóre -10/-7 mi moc radost nedělá :-/

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.