<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Marcin Juszkiewicz - nvidia</title><link href="https://marcin.juszkiewicz.com.pl/" rel="alternate"/><link href="https://marcin.juszkiewicz.com.pl/tag/nvidia/feed/" rel="self"/><id>https://marcin.juszkiewicz.com.pl/</id><updated>2022-09-19T13:35:00+02:00</updated><entry><title>Is Wayland really a future of desktop?</title><link href="https://marcin.juszkiewicz.com.pl/2022/09/19/is-wayland-really-a-future-of-desktop/" rel="alternate"/><published>2022-09-19T13:35:00+02:00</published><updated>2022-09-19T13:35:00+02:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2022-09-19:/2022/09/19/is-wayland-really-a-future-of-desktop/</id><summary type="html">For me it has a long way still&amp;nbsp;;(</summary><content type="html">&lt;p&gt;Each time I update my Fedora desktop to new release (usually around Beta) I
give a try to Wayland. Which shows that I still use&amp;nbsp;X11.&lt;/p&gt;
&lt;h3&gt;My&amp;nbsp;setup&lt;/h3&gt;
&lt;p&gt;My desktop has Ryzen cpu and NVidia &lt;span class="caps"&gt;GTX&lt;/span&gt; 1050 Ti graphics card. Only one monitor
(34” 3440x1440). I use binary blobs as this generation of &lt;span class="caps"&gt;GPU&lt;/span&gt; chipset is not
really usable with &lt;span class="caps"&gt;FOSS&lt;/span&gt; driver&amp;nbsp;(nouveau).&lt;/p&gt;
&lt;p&gt;For desktop environment I use &lt;span class="caps"&gt;KDE&lt;/span&gt;. Which means Plasma desktop/panel, Konsole and
few &lt;span class="caps"&gt;KDE&lt;/span&gt; apps. Firefox and Chrome as web browsers, Thunderbird for mail, Steam
for gaming and Zoom (or Google Meet) for most of video&amp;nbsp;calls.&lt;/p&gt;
&lt;!--MORE--&gt;

&lt;h3&gt;Issues this&amp;nbsp;time&lt;/h3&gt;
&lt;p&gt;So what went wrong? Several&amp;nbsp;things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="caps"&gt;KDE&lt;/span&gt; decided that KEY_4 is the same as KEY_KP4. Too bad that I have separate
    actions on them. Already &lt;a href="https://bugs.kde.org/show_bug.cgi?id=453423"&gt;reported by someone
    else&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Zoom does not even want to cooperate &amp;#8212; opens window for a moment and quits.
    There is &lt;a href="https://community.zoom.com/t5/Meetings/Linux-Regarding-Nvidia-Xwayland-Wayland/m-p/72922"&gt;a discussion in Zoom forum&lt;/a&gt; for&amp;nbsp;this.&lt;/li&gt;
&lt;li&gt;Google Meet in Chrome listed only 3 windows when I tried to share a window and
    there was no way to share whole screen (got black screen instead). XWayland&amp;nbsp;related?&lt;/li&gt;
&lt;li&gt;&lt;span class="caps"&gt;MPV&lt;/span&gt; movie player refused to use any hardware accelerated&amp;nbsp;output.&lt;/li&gt;
&lt;li&gt;Factorio game at first worked in 60 fps. But then I loaded bigger base and it
    went down to 1.3 fps (while it is around 60 fps under&amp;nbsp;X11).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Did not tested other games &amp;#8212; have far too much time spent in Factorio and
plan to finally do last achievement&amp;nbsp;there.&lt;/p&gt;
&lt;p&gt;Would love to be able to get rid of video meetings but they are part of remote
work. Having to switch whole desktop session just to addend a meeting feels&amp;nbsp;weird.&lt;/p&gt;
&lt;h3&gt;Things which went&amp;nbsp;fine&lt;/h3&gt;
&lt;p&gt;I would like to list several things which went fine compared to my previous
attempts. The only one visible one was that font sizes are finally more
consistent with X11 session. They are not the same size in pixels but year ago
they were much bigger under&amp;nbsp;Wayland.&lt;/p&gt;
&lt;h3&gt;Maybe next&amp;nbsp;time&lt;/h3&gt;
&lt;p&gt;I will give another try in 6 months &amp;#8212; after upgrade to Fedora 38&amp;nbsp;Beta.&lt;/p&gt;</content><category term="x11"/><category term="fedora"/><category term="wayland"/><category term="nvidia"/><category term="kde"/><category term="desktop"/></entry><entry><title>ARMology</title><link href="https://marcin.juszkiewicz.com.pl/2013/06/08/armology/" rel="alternate"/><published>2013-06-08T17:30:00+02:00</published><updated>2013-06-08T17:30:00+02:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2013-06-08:/2013/06/08/armology/</id><summary type="html">&lt;p&gt;When last time I was in Cambridge we had a discussion about &lt;span class="caps"&gt;ARM&lt;/span&gt; processors. Paweł used term &amp;#8220;ARMology&amp;#8221; then. And with recent announcement of Cortex-A12 cpu core I thought that it may be a good idea to write a blog post about&amp;nbsp;it.&lt;/p&gt;
&lt;p&gt;Please note that my knowledge of &lt;span class="caps"&gt;ARM …&lt;/span&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;When last time I was in Cambridge we had a discussion about &lt;span class="caps"&gt;ARM&lt;/span&gt; processors. Paweł used term &amp;#8220;ARMology&amp;#8221; then. And with recent announcement of Cortex-A12 cpu core I thought that it may be a good idea to write a blog post about&amp;nbsp;it.&lt;/p&gt;
&lt;p&gt;Please note that my knowledge of &lt;span class="caps"&gt;ARM&lt;/span&gt; processors started in 2003 so I can make mistakes in everything older. Tried to understand articles about old times but sometimes they do not keep one version of&amp;nbsp;story.&lt;/p&gt;
&lt;h3&gt;Ancient&amp;nbsp;times&lt;/h3&gt;
&lt;p&gt;&lt;span class="caps"&gt;ARM1&lt;/span&gt; got released in 1985 as &lt;span class="caps"&gt;CPU&lt;/span&gt; add-on to &lt;span class="caps"&gt;BBC&lt;/span&gt; Micro manufactured by Acorn Computers Ltd. as result of few years of research work. They wanted to have new processor to replace ageing 6502 used in &lt;span class="caps"&gt;BBC&lt;/span&gt; Micro and Acorn Electron and none of existing ones did not fit their requirements. Note that it was not market product but rather development tool made available for selected&amp;nbsp;users.&lt;/p&gt;
&lt;p&gt;But it was &lt;span class="caps"&gt;ARM2&lt;/span&gt; which landed in new computers &amp;#8212; Acorn Archimedes (1987 year). Had multiply instructions added so new version of instruction set was created: ARMv2. Just 8MHz clock but remember that it was first computer with new &lt;span class="caps"&gt;CPU&lt;/span&gt;&amp;#8230;&lt;/p&gt;
&lt;p&gt;Then &lt;span class="caps"&gt;ARM3&lt;/span&gt; came &amp;#8212; with cache controller integrated and 25MHz clock. &lt;span class="caps"&gt;ISA&lt;/span&gt; was bumped to ARMv2a due to &lt;span class="caps"&gt;SWP&lt;/span&gt; instruction added. And it was released in another Acorn computer: A5000. This was also used in Acorn A4 which was first &lt;span class="caps"&gt;ARM&lt;/span&gt; powered laptop (but term &amp;#8220;&lt;span class="caps"&gt;ARM&lt;/span&gt; Powered&amp;#8221; was created few years later). I hope that one day I will be able to play with all those old&amp;nbsp;machines&amp;#8230;&lt;/p&gt;
&lt;p&gt;There was also &lt;span class="caps"&gt;ARM250&lt;/span&gt; processor with ARMv2a instruction set like in &lt;span class="caps"&gt;ARM3&lt;/span&gt; but no cache controller. But it is worth mentioning as it can be seen as first SoC due to &lt;span class="caps"&gt;ARM&lt;/span&gt;, &lt;span class="caps"&gt;MEMC&lt;/span&gt;, &lt;span class="caps"&gt;VIDC&lt;/span&gt;, &lt;span class="caps"&gt;IOC&lt;/span&gt; chips integrated in one piece of silicon. This allowed to create budget versions of&amp;nbsp;computers.&lt;/p&gt;
&lt;h3&gt;&lt;span class="caps"&gt;ARM&lt;/span&gt;&amp;nbsp;Ltd.&lt;/h3&gt;
&lt;p&gt;In 1990 Acorn, Apple and &lt;span class="caps"&gt;VLSI&lt;/span&gt; co-founded Advanced &lt;span class="caps"&gt;RISC&lt;/span&gt; Machines Ltd. company which took over research and development of &lt;span class="caps"&gt;ARM&lt;/span&gt; processors. Their business model was simple: &amp;#8220;we work on cpu cores and other companies pay us license costs to make&amp;nbsp;chips&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Their first cpu was &lt;span class="caps"&gt;ARM60&lt;/span&gt; with new instruction set: ARMv3. It had 32bit address space (compared to 26bit in older versions), was endian agnostic (so both big and little endian was possible) and there were other&amp;nbsp;improvements.&lt;/p&gt;
&lt;p&gt;Please note lack of &lt;span class="caps"&gt;ARM4&lt;/span&gt; and &lt;span class="caps"&gt;ARM5&lt;/span&gt; processors. I heard some rumours about that but will not repeat them here as some of them just do not fit when compared against&amp;nbsp;facts.&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;ARM610&lt;/span&gt; was powering Apple Newton &lt;span class="caps"&gt;PDA&lt;/span&gt; and first Acorn RiscPC machines where it was replaced by &lt;span class="caps"&gt;ARM710&lt;/span&gt; (still ARMv3 instruction set but ~30%&amp;nbsp;faster).&lt;/p&gt;
&lt;h3&gt;First&amp;nbsp;licensees&lt;/h3&gt;
&lt;p&gt;You can create new processor cores but someone has to buy them and manufacture&amp;#8230; In 1992 &lt;span class="caps"&gt;GEC&lt;/span&gt; Plessey and Sharp licensed &lt;span class="caps"&gt;ARM&lt;/span&gt; technology, next year added Cirrus Logic and Texas Instruments, then &lt;span class="caps"&gt;AKM&lt;/span&gt; (Asahi Kasei Microsystems) and Samsung joined in 1994 and then&amp;nbsp;others&amp;#8230;&lt;/p&gt;
&lt;p&gt;From that list I recognize only Cirrus Logic (used their crazy EP93xx family), &lt;span class="caps"&gt;TI&lt;/span&gt; and Samsung as vendors of processors&amp;nbsp;;D&lt;/p&gt;
&lt;h3&gt;Thumb&lt;/h3&gt;
&lt;p&gt;One of next cpu cores was &lt;span class="caps"&gt;ARM7TDMI&lt;/span&gt; (Thumb+Debug+Multiplier+&lt;span class="caps"&gt;ICE&lt;/span&gt;) which added new instruction set:&amp;nbsp;Thumb.&lt;/p&gt;
&lt;p&gt;The Thumb instructions were not only to improve code density, but also to bring the power of the &lt;span class="caps"&gt;ARM&lt;/span&gt; into cheaper devices which may primarily only have a 16 bit datapath on the circuit board (for 32 bit paths are costlier). When in Thumb mode, the processor executes Thumb instructions. While most of these instructions directly map onto normal &lt;span class="caps"&gt;ARM&lt;/span&gt; instructions, the space saving is by reducing the number of options and possibilities available &amp;#8212; for example, conditional execution is lost, only branches can be conditional. Fewer registers can be directly accessed in many instructions, etc. However, given all of this, good Thumb code can perform extremely well in a 16 bit world (as each instruction is a 16 bit entity and can be loaded&amp;nbsp;directly).&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;ARM7TDMI&lt;/span&gt; landed nearly everywhere - &lt;span class="caps"&gt;MP3&lt;/span&gt; players, cell phones, microwaves and any place where microcontroller could be used. I heard that few years ago half of &lt;span class="caps"&gt;ARM&lt;/span&gt; Ltd. income was from license costs of this cpu&amp;nbsp;core&amp;#8230;&lt;/p&gt;
&lt;h3&gt;&lt;span class="caps"&gt;ARM7&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;But &lt;span class="caps"&gt;ARM7&lt;/span&gt; did not ended at &lt;span class="caps"&gt;ARM7TDMI&lt;/span&gt;&amp;#8230; There was &lt;span class="caps"&gt;ARM7EJ&lt;/span&gt;-S core which used ARMv5TE instruction set and also &lt;span class="caps"&gt;ARM720T&lt;/span&gt; and &lt;span class="caps"&gt;ARM740T&lt;/span&gt; with ARMv4T. You can run Linux on Cirrus Logic CLPS711x/EP721x/EP731x ones&amp;nbsp;;)&lt;/p&gt;
&lt;p&gt;According to &lt;a href="http://www.arm.com/products/processors/classic/arm7/index.php"&gt;&lt;span class="caps"&gt;ARM&lt;/span&gt; Ltd. page about &lt;span class="caps"&gt;ARM7&lt;/span&gt;&lt;/a&gt; the &lt;span class="caps"&gt;ARM7&lt;/span&gt; family is the world&amp;#8217;s most widely used 32-bit embedded processor family, with more than 170 silicon licensees and over 10 Billion units shipped since its introduction in&amp;nbsp;1994.&lt;/p&gt;
&lt;h3&gt;&lt;span class="caps"&gt;ARM8&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;I heard that &lt;span class="caps"&gt;ARM8&lt;/span&gt; is one of those things you should not ask &lt;span class="caps"&gt;ARM&lt;/span&gt; Ltd. people about. Nothing strange when you look at&amp;nbsp;history&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;ARM810&lt;/span&gt; processor made use of ARMv4 instruction set and had 72MHz clock. At same time &lt;span class="caps"&gt;DEC&lt;/span&gt; released StrongARM with 200MHz clock&amp;#8230; 1996 was definitively year of&amp;nbsp;StrongARM.&lt;/p&gt;
&lt;p&gt;In 2004 I bought my first Linux/&lt;span class="caps"&gt;ARM&lt;/span&gt; powered device: Sharp Zaurus &lt;span class="caps"&gt;SL&lt;/span&gt;-5500.&lt;/p&gt;
&lt;h3&gt;&lt;span class="caps"&gt;ARM9&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Ah &lt;span class="caps"&gt;ARM9&lt;/span&gt;&amp;#8230; this was huge family of processor&amp;nbsp;cores&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;ARM&lt;/span&gt; moved from a von Neumann architecture (Princeton architecture) to a Harvard architecture with separate instruction and data buses (and caches), significantly increasing its potential&amp;nbsp;speed.&lt;/p&gt;
&lt;p&gt;There were two different instruction sets used in this family: ARMv4T and ARMv5TE. Also some kind of Java support was added in the latter one but who knows how to use it &amp;#8212; &lt;span class="caps"&gt;ARM&lt;/span&gt; keeps details of Jazelle behind doors which can be open only with huge amount of&amp;nbsp;money.&lt;/p&gt;
&lt;h4&gt;ARMv4T&lt;/h4&gt;
&lt;p&gt;Here we have &lt;span class="caps"&gt;ARM9TDMI&lt;/span&gt;, &lt;span class="caps"&gt;ARM920T&lt;/span&gt;, &lt;span class="caps"&gt;ARM922T&lt;/span&gt;, &lt;span class="caps"&gt;ARM925T&lt;/span&gt; and &lt;span class="caps"&gt;ARM940T&lt;/span&gt; cores. I mostly saw 920T one in far too many&amp;nbsp;chips.&lt;/p&gt;
&lt;p&gt;My collection&amp;nbsp;includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ep93xx from Cirrus Logic (with their sick &lt;abbr title="Vector Floating Point"&gt;&lt;span class="caps"&gt;VFP&lt;/span&gt;&lt;/abbr&gt;&amp;nbsp;unit)&lt;/li&gt;
&lt;li&gt;omap1510 from Texas&amp;nbsp;Instruments&lt;/li&gt;
&lt;li&gt;s3c2410 from Samsung (note that some s3c2xxx processors are&amp;nbsp;ARMv5T)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;ARMv5T&lt;/h4&gt;
&lt;p&gt;Note: by ARMv5T I mean every cpu never mind which extensions it has built-in (&lt;strong&gt;E&lt;/strong&gt;nhanced &lt;span class="caps"&gt;DSP&lt;/span&gt;, &lt;strong&gt;J&lt;/strong&gt;azelle&amp;nbsp;etc).&lt;/p&gt;
&lt;p&gt;I consider this one to be most popular one (probably after &lt;span class="caps"&gt;ARM7TDMI&lt;/span&gt;). Countless companies had own processors based on those cores (mostly on &lt;span class="caps"&gt;ARM926EJ&lt;/span&gt;-S one). You can get them even in &lt;span class="caps"&gt;QFP&lt;/span&gt; form so hand soldering is possible. &lt;span class="caps"&gt;CPU&lt;/span&gt; frequency goes over 1GHz with Kirkwood cores from&amp;nbsp;Marvell.&lt;/p&gt;
&lt;p&gt;In my collection I&amp;nbsp;have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;at91sam9263 from&amp;nbsp;Atmel&lt;/li&gt;
&lt;li&gt;pxa255 from&amp;nbsp;Intel&lt;/li&gt;
&lt;li&gt;st88n15 from &lt;span class="caps"&gt;ST&lt;/span&gt;&amp;nbsp;Microelectronics&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Had also at91sam9m10, Kirkwood based Sheevaplug and ixp425 based &lt;span class="caps"&gt;NSLU2&lt;/span&gt; but they found new&amp;nbsp;home.&lt;/p&gt;
&lt;h3&gt;&lt;span class="caps"&gt;ARM10&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Another quiet moment in &lt;span class="caps"&gt;ARM&lt;/span&gt; history. &lt;span class="caps"&gt;ARM1020E&lt;/span&gt;, &lt;span class="caps"&gt;ARM1022E&lt;/span&gt;, &lt;span class="caps"&gt;ARM1026EJ&lt;/span&gt;-S cores existed but did not looked&amp;nbsp;popular.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class="caps"&gt;UPDATE&lt;/span&gt;:&lt;/strong&gt; Conexant uses &lt;span class="caps"&gt;ARM10&lt;/span&gt; core in their next generation &lt;span class="caps"&gt;DSL&lt;/span&gt; &lt;span class="caps"&gt;CPE&lt;/span&gt; systems such as bridge/routers, wireless &lt;span class="caps"&gt;DSL&lt;/span&gt; routers and &lt;span class="caps"&gt;DSL&lt;/span&gt; VoIP&amp;nbsp;IADs.&lt;/p&gt;
&lt;h3&gt;&lt;span class="caps"&gt;ARM11&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Released in 2002 as four new cores: &lt;span class="caps"&gt;ARM1136J&lt;/span&gt;, &lt;span class="caps"&gt;ARM1156T2&lt;/span&gt;, &lt;span class="caps"&gt;ARM1176JZ&lt;/span&gt; and &lt;span class="caps"&gt;ARM11&lt;/span&gt; MPCore. Several improvements over &lt;span class="caps"&gt;ARM9&lt;/span&gt; family including optional &lt;abbr title="Vector Floating Point"&gt;&lt;span class="caps"&gt;VFP&lt;/span&gt;&lt;/abbr&gt; unit. New instruction set: ARMv6 (and ARMv6K extensions). There was also Thumb2 support in arm1156 core (but I do not know did someone made chips with it). arm1176 core got TrustZone&amp;nbsp;support.&lt;/p&gt;
&lt;p&gt;I&amp;nbsp;have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;omap2430 from Texas&amp;nbsp;Instruments&lt;/li&gt;
&lt;li&gt;i.mx35 from&amp;nbsp;Freescale&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Currently most popular chip with this family is &lt;span class="caps"&gt;BCM2835&lt;/span&gt; &lt;span class="caps"&gt;GPU&lt;/span&gt; which got arm1136 cpu core on die because there was some space left and none of Cortex-A processor core fit&amp;nbsp;there.&lt;/p&gt;
&lt;h3&gt;Cortex&lt;/h3&gt;
&lt;p&gt;New family of processor cores was announced in 2004 with Cortex-M3 as first cpu. There are three&amp;nbsp;branches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A&lt;/strong&gt;plication&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R&lt;/strong&gt;ealtime&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M&lt;/strong&gt;icrocontroller&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of them (with exception of Cortex-M0 which is ARMv6) use new instruction sets: ARMv7 and Thumb-2 (some from R/M lines are Thumb-2 only). Several cpu modules were announced (some with newer&amp;nbsp;cores):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="caps"&gt;NEON&lt;/span&gt; for &lt;span class="caps"&gt;SIMD&lt;/span&gt;&amp;nbsp;operations&lt;/li&gt;
&lt;li&gt;&lt;span class="caps"&gt;VFP3&lt;/span&gt; and &lt;span class="caps"&gt;VFP4&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Jazelle &lt;span class="caps"&gt;RCT&lt;/span&gt; (aka&amp;nbsp;ThumbEE).&lt;/li&gt;
&lt;li&gt;&lt;abbr title="Large Physical Address Extensions"&gt;&lt;span class="caps"&gt;LPAE&lt;/span&gt;&lt;/abbr&gt; for more then &lt;span class="caps"&gt;4GB&lt;/span&gt; ram support (Cortex&amp;nbsp;A7/12/15)&lt;/li&gt;
&lt;li&gt;virtualization support&amp;nbsp;(A7/12/15)&lt;/li&gt;
&lt;li&gt;big.&lt;span class="caps"&gt;LITTLE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;TrustZone&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I will not cover R/M lines as did not played with&amp;nbsp;them.&lt;/p&gt;
&lt;h4&gt;Cortex-A8&lt;/h4&gt;
&lt;p&gt;Announced in 2006 single core ARMv7a processor core. Released in chips by Texas Instruments, Samsung, Allwinner, Apple, Freescale, Rockchip and probably few&amp;nbsp;others.&lt;/p&gt;
&lt;p&gt;Has higher clocks than &lt;span class="caps"&gt;ARM11&lt;/span&gt; cores and achieves roughly twice the instructions executed per clock cycle due to dual-issue superscalar&amp;nbsp;design.&lt;/p&gt;
&lt;p&gt;So far&amp;nbsp;collected:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;am3358 from Texas&amp;nbsp;Instruments&lt;/li&gt;
&lt;li&gt;i.mx515 from&amp;nbsp;Freescale&lt;/li&gt;
&lt;li&gt;omap3530 from Texas&amp;nbsp;Instruments&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Cortex-A9&lt;/h4&gt;
&lt;p&gt;First multiple core design in Cortex family. Allows up to 4 cores in one processor. Announced in 2007. Looks like most of companies which had previous cores licensed also this one but there were also new&amp;nbsp;vendors.&lt;/p&gt;
&lt;p&gt;There are also single core Cortex-A9 processors on a&amp;nbsp;market.&lt;/p&gt;
&lt;p&gt;I have products based on omap4430 from Texas Instruments and Tegra3 from&amp;nbsp;NVidia.&lt;/p&gt;
&lt;h4&gt;Cortex-A5&lt;/h4&gt;
&lt;p&gt;Announced around the end of 2009 (I remember discussion about something new from &lt;span class="caps"&gt;ARM&lt;/span&gt; with someone at &lt;span class="caps"&gt;ELC&lt;/span&gt;/E). Up to 4 cores, mostly for use in all designs where &lt;span class="caps"&gt;ARM9&lt;/span&gt; and &lt;span class="caps"&gt;ARM11&lt;/span&gt; cores were used. In other words new low-end cpu with modern instruction&amp;nbsp;set.&lt;/p&gt;
&lt;h4&gt;Cortex-A15&lt;/h4&gt;
&lt;p&gt;The fastest (so far) core in ARMv7a part of Cortex family. Up to 4 cores. Announced in 2010 and expanded &lt;span class="caps"&gt;ARM&lt;/span&gt; line with several new&amp;nbsp;things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;40-bit &lt;abbr title="Large Physical Address Extensions"&gt;&lt;span class="caps"&gt;LPAE&lt;/span&gt;&lt;/abbr&gt; which extends address range to &lt;span class="caps"&gt;1TB&lt;/span&gt; (but 32-bit per&amp;nbsp;process)&lt;/li&gt;
&lt;li&gt;VFPv4&lt;/li&gt;
&lt;li&gt;Hardware virtualization&amp;nbsp;support&lt;/li&gt;
&lt;li&gt;TrustZone security&amp;nbsp;extensions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have Chromebook with Exynos5250 cpu and have to admit that it is best device for &lt;span class="caps"&gt;ARM&lt;/span&gt; software development. Fast, portable and&amp;nbsp;hackable.&lt;/p&gt;
&lt;h4&gt;Cortex-A7&lt;/h4&gt;
&lt;p&gt;Announced in 2011. Younger brother of Cortex-A15 design. Slower but eats much less&amp;nbsp;power.&lt;/p&gt;
&lt;h4&gt;Cortex-A12&lt;/h4&gt;
&lt;p&gt;Announced in 2013 as modern replacement for Cortex-A9 designs. Has everything from Cortex-A15/A7 and is ~40% faster than Cortex-A9 at same clock frequency. No chips on a market&amp;nbsp;yet.&lt;/p&gt;
&lt;h4&gt;big.&lt;span class="caps"&gt;LITTLE&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;That&amp;#8217;s interesting part which was announced in 2011. It is not new core but combination of them. Vendor can mix Cortex-A7/12/15 cores to have kind of dual-multicore processor which runs different cores for different needs. For example normal operation on A7 to save energy but go up for A15 when more processing power is needed. And amount of cores in each of them does not even have to&amp;nbsp;match.&lt;/p&gt;
&lt;p&gt;It is also possible to make use of all cores all together which may result in 8-core &lt;span class="caps"&gt;ARM&lt;/span&gt; processor scheduling tasks on different cpu&amp;nbsp;cores.&lt;/p&gt;
&lt;p&gt;There are few implementations already: &lt;span class="caps"&gt;ARM&lt;/span&gt; &lt;span class="caps"&gt;TC2&lt;/span&gt; testing platform, HiSilicon &lt;span class="caps"&gt;K3V3&lt;/span&gt;, Samsung Exynos 5 Octa and Renesas Mobile &lt;span class="caps"&gt;MP6530&lt;/span&gt; were announced. They differ in amount of cores but all (except &lt;span class="caps"&gt;TC2&lt;/span&gt;) use the same amount of A7/A15&amp;nbsp;cores.&lt;/p&gt;
&lt;h3&gt;ARMv8&lt;/h3&gt;
&lt;p&gt;In 2011 &lt;span class="caps"&gt;ARM&lt;/span&gt; announced new 64-bit architecture called AArch64. There will be two cores: Cortex-A53 and Cortex-A57 and big.&lt;span class="caps"&gt;LITTLE&lt;/span&gt; combination will be possible as&amp;nbsp;well.&lt;/p&gt;
&lt;p&gt;Lot of things got changed here. &lt;abbr title="Vector Floating Point"&gt;&lt;span class="caps"&gt;VFP&lt;/span&gt;&lt;/abbr&gt; and &lt;span class="caps"&gt;NEON&lt;/span&gt; are parts of standard. Lot of work went into making sure that all designs will not be so fragmented like 32-bit architecture&amp;nbsp;is.&lt;/p&gt;
&lt;p&gt;I worked on AArch64 bootstrapping in OpenEmbedded build system and did also porting of several&amp;nbsp;applications.&lt;/p&gt;
&lt;p&gt;Hope to see hardware in 2014 with possibility to play with it to check how it will play compared to current&amp;nbsp;systems.&lt;/p&gt;
&lt;h3&gt;Other&amp;nbsp;designs&lt;/h3&gt;
&lt;p&gt;&lt;span class="caps"&gt;ARM&lt;/span&gt; Ltd. is not the only company which releases new cpu cores. That&amp;#8217;s due to fact that there are few types of license you can buy. Most vendors just buy licence for existing core and make use of it in their designs. But some companies (Intel, Marvell, Qualcomm, Microsoft, Apple, Faraday and others) paid for &amp;#8216;architectural license&amp;#8217; which allows to design own&amp;nbsp;cores.&lt;/p&gt;
&lt;h4&gt;XScale&lt;/h4&gt;
&lt;p&gt;Probably oldest one was StrongARM made by &lt;span class="caps"&gt;DEC&lt;/span&gt;, later sold to Intel where it was used as a base for XScale family with ARMv5TEJ instruction set. Later &lt;abbr title="Intel Wireless MMX Technology"&gt;&lt;span class="caps"&gt;IWMMXT&lt;/span&gt;&lt;/abbr&gt; got added in PXA27x&amp;nbsp;line.&lt;/p&gt;
&lt;p&gt;In 2006 Intel sold whole &lt;span class="caps"&gt;ARM&lt;/span&gt; line to Marvell which released newer processor lines and later moved to own&amp;nbsp;designs.&lt;/p&gt;
&lt;p&gt;There were few lines in this&amp;nbsp;family:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Application Processors (with the prefix &lt;span class="caps"&gt;PXA&lt;/span&gt;).&lt;/li&gt;
&lt;li&gt;I/O Processors (with the prefix &lt;span class="caps"&gt;IOP&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;Network Processors (with the prefix &lt;span class="caps"&gt;IXP&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;Control Plane Processors (with the prefix &lt;span class="caps"&gt;IXC&lt;/span&gt;).&lt;/li&gt;
&lt;li&gt;Consumer Electronics Processors (with the prefix &lt;span class="caps"&gt;CE&lt;/span&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One day I will undust my Sharp Zaurus c760 just to check how recent kernels work on &lt;span class="caps"&gt;PXA255&lt;/span&gt;&amp;nbsp;;D&lt;/p&gt;
&lt;h4&gt;Marvell&lt;/h4&gt;
&lt;p&gt;Their Feroceon/&lt;span class="caps"&gt;PJ1&lt;/span&gt;/&lt;span class="caps"&gt;PJ4&lt;/span&gt; cores were independent ARMv5TE implementations. Feroceon was Marvell&amp;#8217;s own &lt;span class="caps"&gt;ARM9&lt;/span&gt; compatible &lt;span class="caps"&gt;CPU&lt;/span&gt; in Kirkwood and others, while &lt;span class="caps"&gt;PJ1&lt;/span&gt; was based on that and replaced XScale in later &lt;span class="caps"&gt;PXA&lt;/span&gt; chips. &lt;span class="caps"&gt;PJ4&lt;/span&gt; is the ARMv7 compatible version used in all modern Marvell designs, both the embedded and the &lt;span class="caps"&gt;PXA&lt;/span&gt;&amp;nbsp;side.&lt;/p&gt;
&lt;h4&gt;Qualcomm&lt;/h4&gt;
&lt;p&gt;Company known mostly from wireless networks (&lt;span class="caps"&gt;GSM&lt;/span&gt;/&lt;span class="caps"&gt;CDMA&lt;/span&gt;/3G) released first &lt;span class="caps"&gt;ARM&lt;/span&gt; based processors in 2007. First ones were based on &lt;span class="caps"&gt;ARM11&lt;/span&gt; core (ARMv6 instruction set) and in next year also ARMv7a were available. Their high-end designs (Scorpion and Krait) are similar to Cortex family but have different performance. Company also has Cortex-A5 and A7 in low-end&amp;nbsp;products.&lt;/p&gt;
&lt;p&gt;Nexus 4 uses Snapdragon S4 Pro and I also have S4 Plus based Snapdragon development&amp;nbsp;board.&lt;/p&gt;
&lt;h4&gt;Faraday&lt;/h4&gt;
&lt;p&gt;Faraday Technology Corporation released own processors which used ARMv4 instruction set (ARMv5TE in newer cores). They were &lt;span class="caps"&gt;FA510&lt;/span&gt;, &lt;span class="caps"&gt;FA526&lt;/span&gt;, &lt;span class="caps"&gt;FA626&lt;/span&gt; for v4 and &lt;span class="caps"&gt;FA606TE&lt;/span&gt;, &lt;span class="caps"&gt;FA626TE&lt;/span&gt;, &lt;span class="caps"&gt;FMP626TE&lt;/span&gt; and &lt;span class="caps"&gt;FA726TE&lt;/span&gt; for v5te. Note that &lt;span class="caps"&gt;FMP626TE&lt;/span&gt; is dual&amp;nbsp;core!&lt;/p&gt;
&lt;p&gt;They also have license for Cortex-A5 and A9&amp;nbsp;cores.&lt;/p&gt;
&lt;h4&gt;Project&amp;nbsp;Denver&lt;/h4&gt;
&lt;p&gt;Quoting &lt;a href="http://en.wikipedia.org/wiki/Project_Denver"&gt;Wikipedia article about Project Denver&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Project Denver is an &lt;span class="caps"&gt;ARM&lt;/span&gt; architecture &lt;span class="caps"&gt;CPU&lt;/span&gt; being designed by Nvidia, targeted at personal computers, servers, and supercomputers. The &lt;span class="caps"&gt;CPU&lt;/span&gt; package will include an Nvidia &lt;span class="caps"&gt;GPU&lt;/span&gt;&amp;nbsp;on-chip.&lt;/p&gt;
&lt;p&gt;The existence of Project Denver was revealed at the 2011 Consumer Electronics Show. In a March 4, 2011 Q&amp;amp;A article &lt;span class="caps"&gt;CEO&lt;/span&gt; Jen-Hsun Huang revealed that Project Denver is a five year 64-bit &lt;span class="caps"&gt;ARM&lt;/span&gt; architecture &lt;span class="caps"&gt;CPU&lt;/span&gt; development on which hundreds of engineers had already worked for three and half years and which also has 32-bit &lt;span class="caps"&gt;ARM&lt;/span&gt; architecture backward&amp;nbsp;compatibility.&lt;/p&gt;
&lt;p&gt;The Project Denver &lt;span class="caps"&gt;CPU&lt;/span&gt; may internally translate the &lt;span class="caps"&gt;ARM&lt;/span&gt; instructions to an internal instruction set, using firmware in the &lt;span class="caps"&gt;CPU&lt;/span&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;X-Gene&lt;/h4&gt;
&lt;p&gt;AppliedMicro announced that they will release AArch64 processors based on own&amp;nbsp;cores.&lt;/p&gt;
&lt;h3&gt;Final&amp;nbsp;note&lt;/h3&gt;
&lt;p&gt;If you spotted any mistakes please write in comments and I will do my best to fix them. If you have something interesting to add also please do a&amp;nbsp;comment.&lt;/p&gt;
&lt;p&gt;I used several sources to collect data for this post. Wikipedia articles helped me with details about Acorn products and &lt;span class="caps"&gt;ARM&lt;/span&gt; listings. &lt;a href="http://infocenter.arm.com/"&gt;&lt;span class="caps"&gt;ARM&lt;/span&gt; infocenter&lt;/a&gt; provided other information. Dates were taken from Wikipedia or &lt;a href="http://www.arm.com/about/company-profile/milestones.php"&gt;&lt;span class="caps"&gt;ARM&lt;/span&gt; Company Milestones&lt;/a&gt; page. Ancient times part based on &lt;a href="http://www.heyrick.co.uk/armwiki/The_ARM_family"&gt;The &lt;span class="caps"&gt;ARM&lt;/span&gt; Family&lt;/a&gt; articles. &lt;a href="http://www.reds.ch/share/cours/ReCo/documents/TheHistoryOfTheArmArchitecture.pdf"&gt;The history of the &lt;span class="caps"&gt;ARM&lt;/span&gt; architecture&lt;/a&gt; was interesting and helpful as&amp;nbsp;well.&lt;/p&gt;
&lt;p&gt;Please do not copy this article without providing author information. Took me quite long time to finish&amp;nbsp;it.&lt;/p&gt;
&lt;h3&gt;Changelog&lt;/h3&gt;
&lt;h4&gt;8 June&amp;nbsp;evening&lt;/h4&gt;
&lt;p&gt;Thanks to notes from Arnd Bergmann I did some&amp;nbsp;changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;added &lt;span class="caps"&gt;ARM7&lt;/span&gt;, Marvell, Faraday, Project Denver, X-Gene&amp;nbsp;sections&lt;/li&gt;
&lt;li&gt;fixed Cortex-A5 to be up to 4 cores instead of&amp;nbsp;single.&lt;/li&gt;
&lt;li&gt;mentioned Conexant in &lt;span class="caps"&gt;ARM10&lt;/span&gt;&amp;nbsp;section.&lt;/li&gt;
&lt;li&gt;improved Qualcomm section to mention which cores are original &lt;span class="caps"&gt;ARM&lt;/span&gt; ones, which are&amp;nbsp;modified.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;David Alan Gilbert mentioned that &lt;span class="caps"&gt;ARM1&lt;/span&gt; was not freely available on a market. Added note about&amp;nbsp;it.&lt;/p&gt;</content><category term="aarch64"/><category term="arm"/><category term="beagleboard"/><category term="chromebook"/><category term="collie"/><category term="development"/><category term="laptop"/><category term="linaro"/><category term="linux"/><category term="nokia"/><category term="nvidia"/><category term="omap"/><category term="openmoko"/><category term="openzaurus"/><category term="pandaboard"/><category term="phone"/><category term="qualcomm"/><category term="ubuntu"/><category term="zaurus"/></entry><entry><title>Switched to ATI Radeon</title><link href="https://marcin.juszkiewicz.com.pl/2010/06/29/switched-to-ati-radeon/" rel="alternate"/><published>2010-06-29T09:23:00+02:00</published><updated>2010-06-29T09:23:00+02:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2010-06-29:/2010/06/29/switched-to-ati-radeon/</id><summary type="html">&lt;p&gt;Some time ago I mounted &lt;a href="/2007/01/19/samsung-205b-wide/"&gt;my old monitor&lt;/a&gt; to the wall and configured my system for dual head. With NVidia &lt;span class="caps"&gt;7300GT&lt;/span&gt; card setup was easy &amp;#8212; Twinview handled it quite ok after fixing configuration so panels were properly setup and&amp;nbsp;located:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;24&amp;#8221; on the left with 1920x1080 resolution as primary&amp;nbsp;display …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;Some time ago I mounted &lt;a href="/2007/01/19/samsung-205b-wide/"&gt;my old monitor&lt;/a&gt; to the wall and configured my system for dual head. With NVidia &lt;span class="caps"&gt;7300GT&lt;/span&gt; card setup was easy &amp;#8212; Twinview handled it quite ok after fixing configuration so panels were properly setup and&amp;nbsp;located:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;24&amp;#8221; on the left with 1920x1080 resolution as primary&amp;nbsp;display&lt;/li&gt;
&lt;li&gt;20&amp;#8221; on the right with&amp;nbsp;1680x1050&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id="__yafg-figure-1"&gt;
&lt;img alt="My monitor setup" loading="lazy" src="/files/2010/06/20100629_001-700x.jpg" title="My monitor setup"&gt;
&lt;figcaption&gt;My monitor setup&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;But after few days I decided that enough is enough. From time to time I had X11 session where maximizing window == placing it on two monitors (which was pain when second one was off or switched to BeagleBoard output). I do not have to add how uncomfortable it&amp;nbsp;was&amp;#8230;&lt;/p&gt;
&lt;p&gt;So after discussion with few friends I decided to give a chance to &lt;span class="caps"&gt;ATI&lt;/span&gt; and bought Radeon &lt;span class="caps"&gt;HD5450&lt;/span&gt; card. It is nearly cheapest card on that chipset (I bought &lt;span class="caps"&gt;DDR3&lt;/span&gt; one instead of cheap &lt;span class="caps"&gt;DDR2&lt;/span&gt; one) but it feels faster then GeForce &lt;span class="caps"&gt;7300GT&lt;/span&gt; which I was using&amp;nbsp;before.&lt;/p&gt;
&lt;p&gt;But dual head setup is still a problem. Ok, X11 can now start without &amp;#8220;/etc/X11/xorg.conf&amp;#8221; file (I needed it with NVidia card) but after X session start I need to use XRandR&amp;nbsp;to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;switch panels to native resolution (instead of 1680x1050 for&amp;nbsp;both)&lt;/li&gt;
&lt;li&gt;change orientation (20&amp;#8221; on the right to 24&amp;#8221; instead of&amp;nbsp;cloning)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And then I have few strange things in&amp;nbsp;system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="caps"&gt;KDE&lt;/span&gt; panel does not enlarge with resolution&amp;nbsp;change&lt;/li&gt;
&lt;li&gt;RSIBreak blackout is only on 1680x1050 area of 24&amp;#8221;&amp;nbsp;panel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So it looks like in near time I will continue fight with creation of proper &amp;#8220;xorg.conf&amp;#8221; file to get my displays configured properly out-of-box. I wonder when situation will change as it looks now that there is no standardized way to tell which display is which in configuration file (both panels are Samsung, both give &amp;#8220;&lt;span class="caps"&gt;SAM&lt;/span&gt;&amp;#8221; as name in &lt;span class="caps"&gt;EDID&lt;/span&gt;).&lt;/p&gt;</content><category term="ati"/><category term="beagleboard"/><category term="lcd"/><category term="nvidia"/></entry><entry><title>KDE 4.1? No, thanks</title><link href="https://marcin.juszkiewicz.com.pl/2008/08/05/kde-41-no-thanks/" rel="alternate"/><published>2008-08-05T13:03:00+02:00</published><updated>2008-08-05T13:03:00+02:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2008-08-05:/2008/08/05/kde-41-no-thanks/</id><summary type="html">&lt;p&gt;I am using &lt;span class="caps"&gt;KDE&lt;/span&gt; since switched from Duron 600 to Athlon &lt;span class="caps"&gt;XP&lt;/span&gt; (few years ago). &lt;span class="caps"&gt;IIRC&lt;/span&gt; it was 3.1.something then. It was nice improvement from my desktop built on &lt;span class="caps"&gt;ROX&lt;/span&gt;-Filer + gnome-panel and WindowMaker. Time passed, my machines got faster and faster, 3D hardware acceleration was added with …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I am using &lt;span class="caps"&gt;KDE&lt;/span&gt; since switched from Duron 600 to Athlon &lt;span class="caps"&gt;XP&lt;/span&gt; (few years ago). &lt;span class="caps"&gt;IIRC&lt;/span&gt; it was 3.1.something then. It was nice improvement from my desktop built on &lt;span class="caps"&gt;ROX&lt;/span&gt;-Filer + gnome-panel and WindowMaker. Time passed, my machines got faster and faster, 3D hardware acceleration was added with NVidia cards and then &lt;span class="caps"&gt;KDE&lt;/span&gt; 4 started to&amp;nbsp;appear&amp;#8230;&lt;/p&gt;
&lt;p&gt;I installed &lt;span class="caps"&gt;KDE&lt;/span&gt; 4 on my desktop and tried to use it for few months. First it was 4.0.x but I upgraded to 4.1-svn packages when they started to be available for Debian. Ideas which &lt;span class="caps"&gt;KDE&lt;/span&gt; team has are nice but usability of such desktop is much worse then &lt;span class="caps"&gt;KDE&lt;/span&gt; 3.5.9 one :( Too much bling, too less features so I &amp;#8220;upgraded&amp;#8221; back to 3.5.9 to get nicely working&amp;nbsp;system.&lt;/p&gt;
&lt;p&gt;What did I lose with &lt;span class="caps"&gt;KDE&lt;/span&gt; 4.1 (tried final release&amp;nbsp;yesterday):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;fast desktop switching (if there is Konsole open on desktop it will render for long&amp;nbsp;time)&lt;/li&gt;
&lt;li&gt;fast Konsole tab switching (I have 2-8 tabs in&amp;nbsp;terminal)&lt;/li&gt;
&lt;li&gt;ability to set/move panel at any edge of screen (now I use top panel, used&amp;nbsp;more)&lt;/li&gt;
&lt;li&gt;ability to reorder applets/plasmoids in panel (ops - there is a way but not as intuitive as it was in&amp;nbsp;3.5)&lt;/li&gt;
&lt;li&gt;Klipper is not usable (crash on nearly each use, not launching&amp;nbsp;browser)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From what I read on &lt;span class="caps"&gt;KDE&lt;/span&gt; website Konsole problems are related to NVidia cards and workaround is given. I wonder why there is no check in preferences &amp;#8220;I have NVidia &amp;#8212; do not use &lt;span class="caps"&gt;ARGB&lt;/span&gt; windows then&amp;#8221; or other way. I think that it should be easy to check with few function calls which OpenGL libs are in&amp;nbsp;use&amp;#8230;&lt;/p&gt;
&lt;p&gt;Looks like now I have to wait to 2009 for &lt;span class="caps"&gt;KDE&lt;/span&gt; 4.2 and then check does it behave or not. Or maybe it is time to check &lt;span class="caps"&gt;XFCE&lt;/span&gt; or other&amp;nbsp;environment?&lt;/p&gt;</content><category term="kde"/><category term="nvidia"/></entry></feed>