Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »-march=corei7
na základě zjištění, které klíčové slovo nejvíce odpovídá mému procesoru. Všechno bylo fajn do té doby, než se stroj porouchal a bylo potřeba bez zbytečného zdržení přenést systém na starší stroj.
Konkrétně se jednalo o přenos systému z Lenovo x201 na Lenovo x61. Podle všech indicií to vypadá, že se na novějším stroji porouchala detekce přiklopení víka, což má za následek jednak zhasínání displeje i v případě, že je víko odklopené, jednak probouzení (a tedy vybíjení a přehřívání) počítače v zavřeném stavu v batohu. Pokud se tedy v diagnóze nemýlím, půjde o hardwarovou chybu, kterou se mi ani moc nechce zkoušet obcházet softwarovou cestou. Ještě vůbec netuším, co s tím budu dělat.
Systém nebyl schopný na x61 s Core 2 Duo nabootovat. Protože nemám žádný zvláštní zájem o optimalizace na konkrétní procesor a ani si nemyslím, že by pro mě byly nějak zvlášť užitečné, rozhodl jsem se nenastavovat -march=core2
, ale místo toho volbu -march
úplně odstranit. Úprava konfigurace je triviální, konverze celého systému už bohužel nikoliv. Jak tedy přizpůsobit celý systém novému nastavení?
-march
. Nejdřív jsem aktualizoval portage[1], ať nekompiluju některé balíky zbytečně. Řešením by tedy teoreticky mělo být překompilovat všechny potřebné balíky[2] a odstranit balíky nepotřebné, aby se člověku nepletly pod nohy[3]. Problém je, že je během této akce potřeba provozovat systém na původním stroji a tedy s externím monitorem (nebo problém řešit z live systému, což se mi tuplem nechtělo), řešení trvá neúměrně dlouho a navíc by stejně selhala, což je poznat na obdobných selháních popsaných v dalších odstavcích.
[1] emerge --sync [2] emerge --emptytree @world [3] emerge --depclean
sys-fs/lvm2
[3] (a možná dalších krocích, které jsem zapomněl) nabootovalo i do regulérního systému s konzolovým přihlášením.
* Ve skutečnosti dvou shellů, ale cokoliv v tom druhém systemd vždy nesmyslně obratem zlikviduje nebo naopak z nějakého záhadného důvodu zamrzne i první shell a je potřeba restartovat.
[1] emerge --emptytree @system [2] emerge --resume --skipfirst [3] emerge --oneshot sys-fs/lvm2
[1] find /var/db/pkg -name CFLAGS -exec grep -H march {} \; | awk -F/ '{print $5"/"$6}' [2] emerge --update --newuse --deep @world [3] emerge --depclean [4] emerge --oneshot $(find /var/db/pkg -name CFLAGS -exec grep -H march {} \; | awk -F/ '{print $5"/"$6}' | sed 's/^/=/)
/var/lib/portage/world
a mít nadefinované skupiny software v /etc/portage/sets
, usoudil jsem, že bude nejlepší tyto skupiny odstranit z /var/lib/portage/world_sets
[1], postupovat dle výše uvedených kroků a nakonec software doinstalovat jako při nové instalaci. Při troše snahy (nepamatuju si všechno) lze takový systém aktualizovat[2], vyčištění ovšem selhává a jsou potřeba další dva kroky[3][4] které už tak nějak vyplynou z výstupu předchozího příkazu, aby se nakonec vyčištění podařilo[5] a bylo možné provést rekompilaci[5]. Opět v postupu chybí vyřešení konkrétních problémových balíků, které většinou spočívá v jejich odstranění a opětovné instalaci na základě závislostí.
* Jedná se mimojiné o live ebuildy a další odchylky od čistého stabilního Gentoo.
[1] >/var/lib/portage/world_sets [2] emerge --update --newuse --deep @world [3] emerge @preserved-rebuild [4] emerge --update --newuse --deep --with-bdeps=y @world [5] emerge --oneshot $(find /var/db/pkg -name CFLAGS -exec grep -H march {} \; | awk -F/ '{print $5"/"$6}' | sed 's/^/=/)Nyní je systém opraven v tom smyslu, že neobsahuje žádné balíky zkompilované s původní konfigurací a už je potřeba už jen dostat do systému vše, co mi tam chybí. To v mém případě vedle samotné instalace skupin software pomocí
emerge
spočívá především v opravě různých live ebuildů, které běžně přestávají fungovat kvůli změnám v upstreamových repozitářích a potřebují nějakou tu údržbu.
emerge
svoji práci zastaví s chybou a člověk zrovna není u počítače, aby s tím něco udělal. V mém případě se oprava natáhla na několik dní právě tím časem, kdy počítač vůbec nic nedělá a čeká se na zásah administrátora.
A to vše jsem si mohl odpustit, pokud bych měl systém od začátku připravený běžet na náhradním notebooku, tedy bez optimalizace na konkrétní typ procesoru, konkrétně bez volby -march
. Co je horší, nejsem si vědom, že by mi optimalizace na konkrétní procesor kromě problémů vůbec něco přinesla a vážně uvažuju o tom, že se budu konfigurace bez této volby držet.
Tiskni
Sdílej:
Jako člověka který kdysi utekl k Archu, aby optimalizace musel řešit jen tam kde to chce by mě zajímalo…Vzhledem k tomu, že je celý zápisek o tom, že považuju za chybu, že jsem procesorové optimalizace vůbec zapínal, tak si zjevně můžeš vybrat, zda a kdy optimalizace řešíš. Já osobně jsem kdysi Arch zkoušel, ale ty tooly se mi nelíbily, zatímco v Gentoo mám pocit, jako kdyby byly udělané téměř podle mého vlastního myšlenkového modelu.
Stojí dneska Gentoo za ten obětovaný čas?Osobně jsem Gentoo začal používat dvakrát a v obou případech to bylo proto, aby mi čas ušetřilo. Je pravda, že mě tenhle incident stál možná čtyři hodiny času během tří dnů, ale zase na druhou stranu je to moje chyba (že jsem moc nepřemýšlel před nastavením CFLAGS) a docela bych řekl i zajímavá zkušenost. A v globálním měřítku to vůbec nejde srovnávat s ušetřeným časem (bráno oproti běžným binárním distribucím).
Nestoji, presel jsem na svem pracovnim PC z Gentoo na Linux Mint, a zadny rozdil v rychlosti jsem nezaznamenal.Nikdy jsem nechápal cargo kult lidí, kteří věřili, že instalace Gentoo nějak magicky zrychlí jejich systém.
Gentoo je dobry pro lidi co si chteji hrat, Mint pro lidi, co potrebuji pracovat.V tom případě mám to štěstí, že je po letech opět mojí prací hraní ;).
jsou tací, co věřili, že se to nestane magicky, nýbrž v důsledku optimalizací ... které se na Gentoo realizují významně snadněji, než v jiných distrechNestoji, presel jsem na svem pracovnim PC z Gentoo na Linux Mint, a zadny rozdil v rychlosti jsem nezaznamenal.Nikdy jsem nechápal cargo kult lidí, kteří věřili, že instalace Gentoo nějak magicky zrychlí jejich systém.
To by se dalo pouzit i jako argument proc kompilovat jenom 32bit binarkyPro mě je 32bit x86 mrtvá, takže v mém prostředí nikoliv. Ale jinak bych to vůbec nebral jako vtip a v určitém prostředí může mít výhodu provozovat jednotné 32bitové prostředí i přesto, že některé instance poběží na procesoru s 64bitovým režimem.
Proste si staci pri kompilaci uvedomit, jake mam nejhorsi zelezo na kterem bych to eventuelne chtel spustit a podle toho optimalizovat.Ve skutečnosti by člověk musel optimalizovat na průnik, protože ne vždy funguje lineární uspořádání. Na druhou stranu u těch thinkpadů předpokládám, že by optimalizace na core2 fungovala. Ale jak již bylo řečeno, zatím si nejsem vědom, že by mi to něco přinášelo. Samozřejmě budu rád za každou informaci, která povede k mému osvícení :).
--with-bdeps=y
, ale vypadlo to jako doporučení z emerge
a nedostal jsem se bez toho dál.
emerge --depclean
nefunguje.
Pořád nemám jasno v tom, co to přesně dělá a proč bez toho následný emerge --depclean
nefunguje.
No nejsi jediný. Ovšem jednoznačná odpověď tam není.
emerge --update --deep
jej nezaktualizuje, kdežto --depclean
si vezme novější dev-util/cmake a tím vytvoříš nesoulad mezi tím, co chce --depclean a co máš nainstalované. --with-bdeps=yes vpodstatě doplní množinu závislostí na úroveň, která je podobná (ideálně shodná) s --depclean. (Je to trochu složitější, protože PMS podporuje dočasnou instalaci build-time závislostí jen po čas aktualizace a následné odinstalování, ale to není tady důležité.)
--update --newuse --deep
a --depclean
není bez dalších voleb podporovaná.
# Pull in build time deps as requested, but marked them as # "optional" since they are not strictly required. This allows # more freedom in the merge order calculation for solving # circular dependencies. Don't convert to PDEPEND since that # could make --with-bdeps=y less effective if it is used to # adjust merge order to prevent built_with_use() calls from # failing. # If rebuild mode is not enabled, it's safe to discard ignored # build-time dependencies. If you want these deps to be traversed # in "complete" mode then you need to specify --with-bdeps=y. # For --with-bdeps, ignore build-time only blockers # that originate from built packages.Ako nePythonista v tom nemám moc jasno, ale vyzerá že preskakuje problémy a na záver odstraňovaním a doťahaním balíčkov problém vyrieši, ale to by sa do toho musel pozrieť niekto iný ja som vytiahol len pár komentárov, ktoré dokonca znejú inak ako dokumentácia, ale je nad nimi a pod nimi kód s tým súvisiaci.
a na záver odstraňovaním a doťahaním balíčkov problém vyriešiNikoliv. Pokud by problém na závěr vyřešil, neměla by volba
--with-bdeps
vliv na následný emerge --depclean
. Zjevně to celé trochu hapruje.
tak by mě docela zajímalo, jak mplayer využije optimalizaci na procesor v rámci architektury amd64.Aspoň co se mplayeru týče, tak si to můžeš lehce vyzkoušet. Přepínač -benchmark je to co hledáš.
-march=generic -mtune=corei7
?
-march=generic
je default. Ale jaké výhody mi poskytne ten -mtune=corei7
, když (1) to neumožňuje využívat specifické vlastnosti procesoru a navíc (2) systém na takovém procesoru teď ani neběží.
Onanie nad tím, že jsem ulil bohům a zapnul nějaké pochybné neškodné optimalizace pro mě asi není dostatečnou motivací pro další rebuild celého systému.
-march=native
mi vadí to, že se nezaznamenává, s jakou volbou je balík skutečně zkompilován, takže stejně nakonec optimalizace na konkrétní procesor vůbec nedosáhneš a máš každý balík zkompilovaný pro jiný procesor. Pokud je ti to jedno, pak mi to přijde jako úlitba bohům, že jsi pro optimalizaci jakože něco udělal, ale přitom nejsi schopný ani auditovat, který balík je jak zkompilovaný.
Osobně se mi koncept -march=native
pro kompilaci vůbec nelíbí. Když se procesor nemění, je to k ničemu a není problém nastavit konkrétní typ, když se mění, tak člověk ztrácí přehled o tom, co je jak zkompilované.
radenie instrukcii
Má to vůbec smysl, když už i x86 procesory sami umí (už skoro 20let) out of order execution a sami si to přeskládají k obrazu svému?
[libx264 @ 0x1094480] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
If the selected floating-point hardware includes the NEON extension (e.g. -mfpu=‘neon’), note that floating-point operations are not generated by GCC's auto-vectorization pass unless -funsafe-math-optimizations is also specified. This is because NEON hardware does not fully implement the IEEE 754 standard for floating-point arithmetic (in particular denormal values are treated as zero), so the use of NEON instructions may lead to a loss of precision.
A výsledkem bylo, že místo 2fps to enkódovalo tak 4fpsmno, já mám při konverzi z foťáku na web často tak jenom kolem 1 fps a nějak mě to nepálí.
-march native
(s přenosem systému na jiný stroj nepočítám, nainstaluju na čisto, ono přece jen čas od času se v distru něco změní, co se špatně opravuje nad existujícím systémem, např. teď už na mě nějakou dobu řve, že /var/run není symlink nebo něco takového)
páč tomu nerozumim, tak místo špekulování nad optimálníma parametrama jsem si do skriptu fláknul -preset placebo
, stroj běží furt, tak ať si počítá
s přenosem systému na jiný stroj nepočítám, nainstaluju na čisto, ono přece jen čas od času se v distru něco změní, co se špatně opravuje nad existujícím systémem, např. teď už na mě nějakou dobu řve, že /var/run není symlink nebo něco takovéhoTak to jám mám vždycky několik verzí ffmpegu(libav), mplayeru na každém systému (vč. nativního binárního).
Tak to jám mám vždycky několik verzí ffmpegu(libav), mplayeru na každém systému (vč. nativního binárního).A já mám zase víc gnuradií. Každý má nějakou úchylku :).
tak -march ja pouzivam jen tam kde vim ze nic podobneho jako prenos systemu delat nebudu . jinak se pouzije -mtune .. a u me je to uz -march=native
-mtune
stojí za úvahu.
to netuším a ani nehodlám měřit , mezi různými systémy přenáším max data , reinstalce gentoo je stejně pro mě otázka jen pár hodin během kterých člověk stejně na daném hw může v klidu pracovat s Live sytémem .. takže k čemu přenositelnost OS ..
takže k čemu přenositelnost OS ..Já s live systémem pracovat nemůžu, nesplňuje moje potřeby. Navíc nechci zničit existující systém a přitom chci instalaci podržet na stejném fyzickém disku. Jinak řečeno, malé riziko, že systém při úpravách poškodím natolik, že ho budu muset oživovat z live systému je pro mě jakž takž přijatelné, už jen proto, že mi nic jiného nezbývá. Na druhou stranu nedržím si vždy podobný starší stroj v zásobě jen tak pro legraci a nechci při každém problému provádět nové instalace a naněkolikrát přenášet konfiguraci roztahanou různě po filesystému.