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í
×
dnes 13:00 | Komunita

Do 30. října se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 4. prosince 2018 do 4. března 2019, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 19
včera 22:22 | Komunita

Společnost Purism představila kryptografický token Librem Key. Koupit jej lze za 59 dolarů. Token byl vyvinut ve spolupráci se společností Nitrokey a poskytuje jak OpenPGP čipovou kartu, tak zabezpečení bootování notebooků Librem a také dalších notebooků s open source firmwarem Heads.

Ladislav Hagara | Komentářů: 6
včera 20:33 | Nová verze

Společnost NVIDIA oficiálně vydala verzi 10.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 20:00 | Upozornění

Příspěvek Jak přežít plánovanou údržbu DNS na blogu zaměstnanců CZ.NIC upozorňuje na historicky poprvé podepsání DNS root zóny novým klíčem dne 11. října 2018 v 18:00. Software, který nebude po tomto okamžiku obsahovat nový DNSSEC root klíč, nebude schopen resolvovat žádná data. Druhým důležitým datem je 1. února 2019, kdy významní výrobci DNS softwaru, také historicky poprvé, přestanou podporovat servery, které porušují DNS standard

… více »
Ladislav Hagara | Komentářů: 5
včera 15:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 156. brněnský sraz, který proběhne v pátek 21. září od 18:00 v restauraci Na Purkyňce na adrese Purkyňova 80.

Ladislav Hagara | Komentářů: 0
včera 13:22 | Nová verze

Alan Griffiths z Canonicalu oznámil vydání verze 1.0.0 display serveru Mir (GitHub, Wikipedie). Mir byl představen v březnu 2013 jako náhrada X serveru a alternativa k Waylandu. Dnes Mir běží nad Waylandem a cílen je na internet věcí (IoT).

Ladislav Hagara | Komentářů: 0
20.9. 22:00 | Nasazení Linuxu
Stabilní aktualizace Chrome OS 69 (resp. Chromium OS), konkrétně 69.0.3497.95, přináší mj. podporu linuxových aplikací. Implementována je pomocí virtualizace, a proto je tato funkce také omezena na zařízení s dostatkem paměti a podporou hardwarové akcelerace, tudíž nejsou podporovány chromebooky s 32bitovými architekturami ARM, či Intel Bay Trail (tzn. bez Intel VT-x).
Fluttershy, yay! | Komentářů: 5
20.9. 21:32 | Zajímavý projekt

Došlo k uvolnění linuxové distribuce CLIP OS, vyvíjené francouzským úřadem pro kybernetickou bezpečnost ANSSI, jako open source. Vznikla za účelem nasazení v úřadech, kde je potřeba omezit přístup k důvěrným datům. Je založená na Gentoo.

Fluttershy, yay! | Komentářů: 1
20.9. 16:00 | Komerce

Zjistěte více o bezpečné a flexibilní architektuře v cloudu! IBM Cloud poskytuje bezpečné úložiště pro Vaše obchodní data s možností škálovatelnosti a flexibilitou ukládání dat. Zároveň nabízí prostředky pro jejich analýzu, vizualizaci, reporting a podporu rozhodování.

… více »
Fluttershy, yay! | Komentářů: 12
20.9. 12:22 | Nová verze

V dubnu letošního roku Mozilla představila webový prohlížeč pro rozšířenou a virtuální realitu Firefox Reality (GitHub). V úterý oznámila vydání verze 1.0. Ukázka na YouTube. Firefox Reality je k dispozici pro Viveport, Oculus a Daydream.

Ladislav Hagara | Komentářů: 2
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (14%)
 (21%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 388 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

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

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

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: 30 | 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.