Tedy problem linuxu je porad jeden a ten samy - zadna standardizace.
Sotva se neco upravi a prizpusobi, zjisti se ze v nove verzi je to totalne prekopane a nekompatibilni, takze veskera prace se dela uplne od zacatku znova. Samozrejmne si tim, ze az si to Vrchni Tucnak zodpovedny za distribuci rozmysli tak zase prekope vsechny pouzivane aplikace a muze se zase zacit odznova.
Az si zase bude nekdo stezovat ze linux ma male zastoupeni na desktopech tak tohle je presne ten duvod. Uzivatel nechce aby se mu system vcetne grafickeho rozhrani - a co je horsi vcetne API - menil pod rukama, takze zkompilovane aplikace prestavaji fungovat spolu s aktualizaci distribuce, protoze se nekdo rozhodl zmenit pouzivane knihovny za konkurencni projekty.
To ale neni pravda, ono centralni planovani ma tu vyhodu, ze si jeden z milionu zamestnancu nerekne, krles a nezacne si neco vyvijet po svem ... vsechno ma sve pravidla, vsechno se nejak vymysli a udrzuje (maji SLA a musi je proste dodrzovat, MS neni banda amaterskych programatoru, kteri si to bastli na kolene jak je napadne a kdyz se jednoho vecera rozhadaji, tak si udelaji dalsi FORK ....).
Taky proto i ve W8 spustis aplikace napsane pro XP a vetsinu i pro W95 ...... a o tom to je, enterprise segment (a ted tam zaradim i BFU) proste nezajima, ze nekdo neco vymyslel lepsiho a proto mu proste jeho program prestal fungovat ..... on proste vidi, ze se to dokurvilo a po linuxu uz nikdy nesahne ..... osobne jsem linux pouzival jako primarni system asi rok a pul ..... pote, co jsem upgradoval pocitac a nutne musel system preinstalovat, tak jsem zjistil, ze mi pulka veci nechodi (a to nemyslim jen HW), tak jsem se na to vysral ....
Na windows? Tam mi bezi v osmickach SW psany pred 15ti lety v delphi:o) A kdyz jsem v praci menil pocitac za jiny, jenom jsem prohodil SSD a za pul minuty jsem pracoval ..... do dvou minut se potahaly ovladace a vse bezi jak vino uz druhym rokem ..... jako u W7 to takhle jeste myslim nefungovalo (a kdyz tak jenom v enterprise verzi), ale s W8 urazili pekny kus cesty ... dnes W7 jenom za trest a na obhajce obskurnich XP uz jenom z vysoka chciju:)
Kompatibilitou aplikací se myslí běžné "user space" aplikace. Ve windows 7 je možné bez problémů spustit aplikaci vytvořenou pro windows 2000. Pro systémové ovladače běžící v režimu jádra tohle neplatí ani v jednom systému. Ovladač tiskárny pro Redhat 6.x v Ubuntu 14.x taky fungovat nebude.
To jste střelil trochu vedle. Zrovna tiskárny se často ovládají pouze user space programy (CUPS, ghostscript, gutenprint...). V kernelu je jen ta část co obstarává komunikaci - což býval pouze ovladač paralelního portu, teď je to ovladač USB (tam občas musí být speciální ovladač pro tiskárnu) a nebo ovladač síťové karty.
Myslel jsem samozřejmě tu malou část ovladače, která běží v režimu jádra. Tiskárnu jsem uvedl jenom jako příklad, stejný problém může být např. se síťovou nebo grafickou kartou. V každém systému včetně windows a linuxu část software pro ovládání hw běží jako klasická "user space" aplikace, např. veškeré gui pro nastavení tiskárny, zobrazování stavu tiskárny nebo ovladání speciálních funkcí.
Problém bude hlavně s tou malou částí, která běží v režimu jádra a zajišťuje "jenom" komunikaci s hw.
Při přechodech mezi systémy/verzemi je potřeba porovnávat pouze to co dává smysl. Redhat 6.x a Ubuntu 14.x jsem porovnával v reakci na na porovnání win95 a win8 v jednom z předchozích komentářů.
Zrovna u tiskáren ale i část, která mění postscript na binární formát přijímaný tiskárnou, běží na linuxu v user space, a instaluje se stejně bez ohledu na distribuci (to je ten ghostscript nebo gutenprint, eventuelně nějaký software, co používá přímo jazyk výrobce tiskárny). Nevím jak je to ve windows, ale předpokládám, že windowsové ovladače používají api windows, které se mohlo mezi verzemi změnit. Proto jsem psal, že v linuxu je většinou ovladač tiskárny univerzální. Distribuční CUPS, ghostscritpt i gutenprint můžete odinstalovat a nainstalovat tam jejich nejnovější verze. Pokud to s čím komunikujete nebude jen "windows-only usb tiskárna" (ke které mohou na linuxu být reverse-engineerované ovladače), tak vám to poběží i na starém kernelu. Stačí jen aby vaše distribuce měla libc6 (to už platí odhadem deset let, tedy zhruba stejně jako ty Win XP).
Sám žvaníš, ostatně jako v každém příspěvku, ty procenta sis tentokrát vycucal kde? Jsem docela hráč, ale hraju spíš starší hry, nové koridorové primitivní blbosti mně nebaví, takže mám s hrami staršího data docela dost zkušeností. A valná většina funguje i ve Windows 8 úplně normálně.
lol ... a ted tu o hurvinkovi ...
tak schvalne, nainstaluj s spust na win 7/8 !puvodni! fallout/2 (oboji ma win verzi). Dtto Baldurs gate ... a muzem pokracovat doaleluja. On gog ty gamesky upravuje jen tak z pleziru, ono je to totiz zadarmo, takze ho to vlastne nestoji zadny prachy ... jop, klido muzes pouzivat rezimy compatibility a dalsi zbytecnosti.
Fallout 2 z roku 1998 puvodni verze zadna GOG, Windows 8 64bit jede naprosto bez problémů, žádné tweakování s compatibility mode netřeba. Baldurs Gate nemám, stahuju, ale čekám stejný výsledek :) Možná je na čase si přiznat, že a)máš prostě pech b)máš nějakou upirátěnou zmršenou verzi Windows c) vymýšlíš si, protože tě prostě baví kydat hnůj na Windows.
No jestli sis takhle přeložil:
[The original Fallout] does not, however, work out of the box in a modern version of Windows. This isn't Fallout 3; the colors are all wrong, your only resolution option is a blurry 640 by 480 full screen, and the display often goes black seemingly at a whim
Tak to tě překvapím, ale pochopil jsi jen třetinu z toho, co tam uvádí ;-)
Neznám přesné technické detaily problémů Falloutu, ale něco se dá tipnout. Nízké rozlišení zpravidla bývá důsledkem toho, že kombinace monitoru a grafické karty podporuje spoustu kombinací rozlišení a refresh rates. Autoři kódu těch kombinací někdy načítají jen omezený počet, a nedostanou se k vyšším rozlišením. Na starém HW se to nestalo, protože byl počet možných režimů dostatečně nízký. Na novém HW je mimo jiné možné odstranit všechny refresh rates vyjma 60Hz, což většinou problém vyřeší.
Barvy bývají špatně díky špatné práci s paletami. Hra nejspíš nastaví celou paletu 256 barev, ale systém má barvy 0-9 a 246-255 rezervované pro GUI. Je potřeba správně reagovat na události při změně palety, případně zamknout paletu, nastavit obrazovku na full-screen exclusive mode atd. Další problém může být s kreslením po 32-bitovém povrchu 8-bitovými texturami, zvlášť pokud si autoři implementovali blitting po svém.
Výpadky obrazu mohou mít víc příčin. Jedním z problémů je (ne)podpora okenních událostí. Například engine používaný hrami Half-Life a Counter-Strike prakticky nikdy nebylo možné nahodit, když člověk z aplikace přepnul pomocí Alt+Tab a pak se vrátil zpátky. Oprava trvala spoustu let.
Když to shrnu, tak hry bývají plné chyb. Některé chyby se projeví jen na novém HW nebo novém OS, navíc často ne na všech konfiguracích.
Mluví o barvách a rozlišení - a nebo jak jinak si vysvětluješ 'the colors are all wrong, your only resolution option is a blurry 640 by 480 full screen' - to jako že mu Fallout nefungoval, a navíc ještě měl špatně barvy a rozlišení? Aby si mohl stěžovat na rozlišení tak mu to snad napřed muselo v tom 'špatném' rozlišení naběhnout, ne? Takže jediné čím jsi mně překvapil je schopnost překrucovat smysl textu.
Ano, spustí to, ale má špatné barvy a často mu zůstane jen černá obrazovka. Možná tohle pro vás ve Windows stačí k tomu říct, že to jede naprosto bez problémů, ale my na Linuxu tohle pokládáme za rozbité.
640x480 roztažené na full hd display prostě nevypadá nijak zázračně. S tím je třeba počítat. Mně ty barvy u mně připadají v pořádku, minimálně vypadají stejně jako si je pamatuju. S černou obrazovkou jsem se za půl hodiny co jsem tomu byl ochoten věnovat nesetkal. Zkoušel jsem nahrát bandicamem video jak to u mně vypadá, ale jelikož jsem spustil nahrávání ještě ve windows, aby bylo vidět, že to opravdu spouštím ve Windows 8, tak samotná hra je v nahraném videu v levém horním rohu zmenšená na těch 640x480.
Pokud jde hra spustit a v pohodě hrát, akorát nevypadá tak skvěle jako dnešní hry, protože prostě byla napsaná pro jiné rozlišení za jiných technických podmínek, ale jinak samotnému hraní nic nebrání, pořád považuju hru za plně funkční. Autor toho blogového zápisku na který jsi odkazoval, je jasně mladší ročník, kterého hry v rozlišení 640x480 a menším minuly, takže se dá pochopit, že mu obvzlášť na dnešních displayích připadají hnusné a má potřebu s tím něco dělat. Já jsem vyrostl na 8mi bitech a dosovských hrách ve 320x200, takže pro mně je ten Fallout hratelný out-of-box tak jak jsem ho nainstaloval.
Jeronýmku, ono to chce umět číst.
http://www.root.cz/clanky/limux-pribeh-mnichovskeho-linuxu/nazory/513072/
Zpětně kompatibilní je dokumentované chování systému. Pokud vývojář spoléhá na nedokumentované vlastnosti systému, samozřejmě mu aplikace nemusí v příští verzi fungovat. A například k problému rozlišení: pokud autor aplikace načte řekněme jen 8 položek možných kombinací rozlišení a refresh rate, protože mu to na Windows 98 stačilo, a ve Windows 8 má těch kombinací víc než 50, takže se jeho kód nedostane ani k položce 800x600px, čí je to asi tak chyba? Samozřejmě MS, protože ještě ve Windows 2000 to přece fungovalo ;)
Chcete příklad, jak použití nedokumentovaných funkcí působí problémy?
- Home adresář uživatele NENÍ v C:\Windows\Profiles\jméno, ani v C:\Documents and Settings\jméno. To umístění se mění podle verze Windows i lokalizace. Použijte environment variables, nebo API SHGetSpecialFolderLocation.
- Desktop NENÍ v adresáři pod profilem uživatele v podadresáři Desktop, a Start Menu NENÍ v podadresáři Start Menu. Liší se to podle verze Windows a lokalizace. Použijte API SHGetSpecialFolderLocation.
- Větev Shell Folders v Registry NEOBSAHUJE lokace shell folders. Tato větev Registry byla odstraněna z dokumentace před uvedením Windows 95, existuje jen pro kompatibilitu s aplikacemi psanými pro betu Win95, a plní se hodnotami jen za určitých okolností. Použijte env values nebo API SHGetSpecialFolderLocation.
- Pořadí Window Messages je buď popsané v dokumentaci, nebo na něj nelze spoléhat. Pokud si ho vyzkoušíte a spoléháte na to, že bude vždy stejné, řítíte se do problému.
- Nedokumentované Window Messages nepoužívejte, a to se ze stejného důvodu - zítra tam nemusí být, nebo mohou mít úplně jiný význam.
- Pokud návratová hodnota Win32 funkce není ERROR_SUCCESS (tj. nula), volání selhalo. Pokud dokumentace netvrdí něco jiného, návratová hodnota pak nehraje roli, protože se liší podle verze Windows, driverů a kdo ví čeho ještě. Takže se z ní nesnažte vykoukat příčinu problému, a zavolejte API GetLastError(), které nám řekne více.
- Nekraďte resources (ikony, animace apod.) z knihoven shellu. Ty resources tam v příští verzi Windows nejspíš nebudou, případně budou mít jiný formát. A protože krádež resources provádějí jen prasata, asi neošetří ani situaci kdy tam daný resource není, a aplikace pak spadne. Ikony i animace jsou součástí SDK, takže je odtamtud zkopírujte do své aplikace.
Raymond Chen občas zveřejňuje nějaké perličky na blogu. Nabídněte si.
http://blogs.msdn.com/b/oldnewthing/archive/2003/11/03/55532.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2004/03/26/96777.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2004/10/26/247918.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2005/01/18/355177.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2010/03/11/9976571.aspx
http://blogs.msdn.com/oldnewthing/archive/2003/10/15/55296.aspx
http://blogs.msdn.com/oldnewthing/archive/2003/12/23/45481.aspx
http://blogs.msdn.com/oldnewthing/archive/2004/03/26/96777.aspx
http://blogs.msdn.com/oldnewthing/archive/2005/01/18/355177.aspx
http://blogs.msdn.com/oldnewthing/archive/2005/09/01/459023.aspx
http://blogs.msdn.com/oldnewthing/archive/2005/10/26/485133.aspx
http://msdn.technetweb3.orcsweb.com/oldnewthing/archive/2008/01/11/7065021.aspx
http://technet.microsoft.com/en-us/magazine/2006.11.windowsconfidential.aspx
http://www.microsoft.com/technet/technetmag/issues/2006/10/WindowsConfidential/
Jiste, widle jsou tak uzasne stardardizovane, ze klidne behem zivotnosti jedine verze a nekolika SP prestavaji aplikace fungovat, protoze si Bill vzpomel a neco prekopal, pripadne musi uzivatele/admini vypinat to, co pozapinal bez jejich vedomi nejaky patch.
Konkretne mam v pameti jakysi patch "zabezpecujici" opice, ktery zpusobi to, ze libovolny soubor ze site se otvira klidne 1/2 hodiny.
Před 10-ti lety muselo být nasazení linuxového OS na desktop hodně těžké. Před 7-mi lety (případ naší firmy) to už moc těžké nebylo. A dnes - pokud bych se rozhodoval přejít z Windows na OpenSUSE - je to již vyloženě snadné.
Nevím, co bych říkal jako vývojář, ale jako uživatel jsem naprosto spokojený, a problémy s API jdou mimo mne, protože všechny důležité aplikace konstantně fungují.
On to hawran samozřejmě myslel tak, jakoby za těmi názory slyšel Laela Ophira. To by mne konečně taky zajímalo: Děláte pro Microsoft spolu, nebo "proti sobě" jako konkurence? No jo, zase se dozvím: já pro Microsoft nedělám :-/
Ale s tou standardizací se to naštěstí hodně lepší (s tou, co zajímá uživatele především, tedy formáty dokumentů). Teď co MS Office začal podporovat ODF 1.2 to teď budou mít v Mnichově lehčí. A až začnou používat LibreOffice místo OpenOffice, tak bude po problému.
Přechod z winXP na 7/8 je obvykle bez problémů, protože obojí je NTx větev. Problémy mohou nastat pouze s některými ovladači na hw. U linuxu je přechod v rámci distribuce např. Ubuntu z 12 na 14 obvykle bez výraznějších problémů. Daleko horší je přechod mezi distribucemi např. z Fedory na Ubuntu.
Ani ne. Pokud si tedy distribuce udržuje v kernelu nějaké speciální patche pro exotický hardware, které ta druhá nemá, není problém použít je taky a udržovat si vlastní jádro. Stejně je při takovém množství PC vhodné mít vlastní lokální repozitář a updatovat z něj.
Šlo mi o UI, kdy přechod mezi verzemi Windows uživatele zmate prakticky stejně jako u přechodu např. KDE 3.5 -> KDE 4 (na KDE 5 to bude už hladší, UI je prakticky stejné)
jsem 100% presvedceny, ze jsi linux nikdy nepouzil ani pro nej nic nepsal, protoze tohle jsou typicky plky widlari s nulovou zkusenosti. Od leta 2012 mame vsude ve firme Ubuntu 12.04 a nikde se nic podstatneho nezmenilo, nikdy jsem nic nekompilovali. A vime, ze dalsi nejmene dva roky to bude stejny. Pak mozna prejdeme na dalsi LTS verzi, ale uz ted pokusny upgrade na 14.04 neznamenal nic negativniho, jen to neresime dokud to nepali.
proc ne ... on je to takovej debian testing. A pokud nechces pouzivat verze aplikaci 10+ let stary ...
Mimochodem, nevidim zasadni rozdil mezi tim, jaky distro na srv pouzijes. Srv muze bej dobre nebo blbe nainstalovanej. (mam tu od dodavatele jeden kousek centosu, a jsou na tom nainstalovany Xka, a snad i KDE ... nejspis proto, ze se jim to nabidlo v defaultu, ale protoze se na to plati support, nechci na to sahat, protoze to by bylo prvni, na cem by se otocili).
Tak server si představuji samozřejmě jedině headless... Ale chtěl jsem šifrování a btrfs. Jedno bylo v CentOSu v hodně staré verzi, druhé jako technology preview, a vytvářelo pády i se zvukovým doprovodem. V Ubuntu server jsem to měl funkční bez práce. Teď v CentOS 7 jsem to nezkoušel. Tím vůbec neříkám, že je něco lepší nebo horší, ale každé distro má svůj účel.