I think a unified package manager/app store model that is vetted by all contributing distros would go a long way. SteamOS/Steam deck is bringing gamers to linux and that’s great. But it would be easier to bring on a lot more desktop users if there was an app store that every distro could visit. Flatpak is close, snaps however I think are too polarizing.
despite my xkdc smartassedness I would love to see something that made an easy to do thing like this for linux https://portableapps.com/ there are some close things but not quite so easy.
I use fedora silverblue. I’d like to switch to suse microos but the difference is so small that it’s probably not worth it to switch. (Just a guesstimate, silverblue has some goodies afterall with the whole image centric os)
Probably, it’s almost the same for vanillaos. Because everything is within distrobox and flatpak, I do not work with the native package manager anymore (almost, there are exceptions because of the DE).
If I would switch to microos, I, as an enduser, wouldn’t notice too much a real difference.
People should stop making new distros for what should be a post install script. But, things are fucking complicated and that’s why we need the forks and new distros.
Thx for the elaboration. That’s what I roughly meant with “image centric os”.
Opensuse aeon encourages you to use flatpak. The first thing it does right after installation is to install apps from flathub, including firefox (unlike silverblue).
An example from the doc
For this reason, All Applications, Browsers, Codecs needed for specific apps, etc are provided by FlatPaks from FlatHub.
Especially the following
To reiterate: EVERYTHING should be done via Flatpaks or be installed in a Distrobox if a package is not available as a flatpak. Using transactional-update is strictly what you need for your host operating system to work (exotic drivers, specialized vpn services).
Usually, you do not rollback, you do not go back to an older system. On both systems, you use distrobox and flatpak. I don’t see much of a difference as an end user.
Fedora has images which you can create yourself as an enduser which means a corporation with thousands of computers can create their own image. They don’t have to create a new distro. That’s not possible with suse but I don’t know if that’s so important since I do not administer such things. I as an enduser do not care about the underlying system, I don’t tinker with it, I rarely touch it. That’s the case for both distros. I may install a vpn or so.
If you want to tinker with your system, neither fedora nor suse are good for that, using arch is the way to go.
I did not take this picture. I just nabbed the smuggest-looking cat-on-a-keyboard I could find.
But your questioning of my cat’s software testing experience has made her very upset.
The downside of NixOS is bad documentation. Which makes it take quite a while to get your config setup the way you want. Its so worth it though. I used arch for 5+ years and have been on NixOS for about 6 weeks now. I’m definitely never going back. My conifg is done, I barely have to change anything now. Its all saved in a git repo so I never have to make it again. I’ve already switched all of my machines over. And even a few of my friends. Which has been super easy to do cause I just give them my config then remove everything they don’t need. I’ve only been using it for a little while but it feels so reliable and Unbreakable even though I’m running unstable packages. Because if anything breaks you just go back to the last generation that worked. Which made me willing to just try anything when I was setting it up.
Also you could run Nix package manager on arch for this, but the nix package repo is amazing. It has everything i’ve needed or even thought about installing. And in my opinion its way better than using AUR packages. Most of the time you just DL them and don’t have to build them. Its just so much faster and more reliable then using Paru or Yay. Plus there is a NUR( nix user repo) but tbh I’ve never even looked at it.
The other con I know of is issues running binaries and app images. But there are was work arounds for them. I use a few app-images by just running ‘appimage-run <appimage filename>’. And so far its worked perfectly. As for a binaries you can use steam-run or I think using distrobox would work. But I haven’t had to do anything like that yet.
I found this YouTube channel quite useful when I was setting mine up. Vimjoyer
I found it fairly difficult to set up nixos on one of my machines, because it simply didn’t ship with a certain, relatively common kernel module/user space app. I also couldn’t find a usable workaround (only compiling my own kernel on every update, which is not exactly my kind of fun).
You can specify custom parts of the config that enables that module and/or extra module packages.
If you specify a custom part of the config then ye sure you’ll be compiling the kernel on each kernel update but you don’t need to manually configure it
Why is the unity is underrated when its what i use
Everyone is going on about the lack of punctuation; I can’t get over this snippet. It’s like the ideal of an ego wrote this.
If you’d like to know my experience with Unity DE, I thought it felt like a toy and when it was packaged with Ubuntu, it was the first time I left vanilla Ubuntu since the days of Gutsy Gibbon.
I’m glad to hear Unity getting love. The customizability is by far linux’s key strength. So it can give people what they want. For example, it gives me the ability to completely ignore Unity.
There is the factory seconds stock, which is cheaper, but RAM, storage, Wi-Fi card, power brick and expansion cards are sold separately. frame.work/…/factory-seconds-framework-laptop-13-…Still over your price range though.
I installed Linux and the feeling of freedom and privacy hit me so hard that I immediately began committing crimes, knowing that the FBI could never track me. Piracy, sexual assault, trademark infringement, petty larceny, tax fraud, you name it. I also own several fully automatic firearms even though I live in the state of California, but it doesn’t matter. Ever since I removed Windows 10 from my computer and replaced it with Arch Linux, and began using a PinePhone as my daily driver phone, police can’t even stop me in traffic. Windows may have a lot of video games, but the benefits of Linux should not be understated.
Just want to mention that "C:" is a Windows-specific convention for identifying hard disks. Linux doesn’t have quite any concept of a “C:\ drive.” You’ll of course still have your OS installed on the same disk that today Windows calls "C:", but on Linux it’ll be (and I’m oversimplifying a little bit here) “/”.
I’m a little bit jealous because I can’t start learning such things for the first time like you will be soon. Ha!
My advice: don’t feel like you have to learn it all at once. Don’t feel bad about just accepting the defaults that the installer suggests where you don’t know what to do otherwise. If the command line intimidates you (we were all there once) use the gui tools exclusively as much as you like. Some day you might start to feel limited sticking with gui tools. (Or maybe for your particular purposes, the guis will always be perfect.) Until you do start to feel like you want to learn more about such things for your own sake, don’t let anyone tell you you’re doing it wrong by using the easy way.
(This from someone who does basically everything from the terminal. Lol!)
And don’t be too afraid to break things. Breaking things is arguably the best way to learn. And do feel free to reach out to friendly communities for help when you need it. It’s likely that if something has gone wrong (which is pretty unlikely with Mint), you’ll need to do some terminal stuff to fix it, but people can help you out with that if you ask. :)
I just meant with the C: comment that OP shouldn’t expect it to still be called C: after he’s wiped Windows and is running Linux.
As for the oversimplification comment:
First off, C: (or D:, E: etc) doesn’t refer to a disk in Windows. It refers to a partition. So it’s entirely possible (and not terribly uncommon) to have a single disk with both a C: and a D: on it.
It’s very typical for a Linux installation process to (by default, if you don’t tell it to do something else) make separate partitions on a single disk for / and /home. (Plus there’s usually an extra EFI boot partition on most modern desktop/laptop systems. And a swap partition.) In such a case, you couldn’t really describe where “the disk” (that was formerly called C: on Windows) was mounted in the mindset of conflating “partition” with “disk”. What was previously “the disk” C: (again, C: isn’t a disk, it’s a partition, but Windows makes it easy to conflate the two) is now split in two (or three or more) and mounted not just on / but also on /home (and maybe on /boot as well, and maybe one partition isn’t mounted on the main abstract root filesystem).
/ and /home aren’t really even partitions (let alone disks). They’re mount points in the slightly more abstract root filesystem.
The most obvious software representation on a typical Linux system of the main internal disk in that machine would probably be something like /dev/sda or /dev/nvme0. The partitions would likely be something like /dev/sda1//dev/sda2/etc or /dev/nvme0p1//dev/nvme0p2/etc. Also, the “filesystem” on the partition is arguably a subtlely a distinct concept from the block device that is the partition. And where that filesystem is mounted is yet another distinct concept. (Another subtlety I haven’t mentioned is the distinction between the device in the /dev/ directory/filesystem and the kernel representation of the device with the device major/minor numbers.)
A typical Windows install kindof conflates a lot of these probably a lot more so than Linux does. But I didn’t want to be like “akshuly things are a lot more complicated than that and you have to understand a bunch of Linux kernel internals to understand all the ways in which you’re wrong so you can install the holy ‘Guh-noo Plus Linux’.” All that is stuff that OP will learn by installing and using Linux. And if OP’s going with Mint, it’s probably not necessary to really understand all of that before starting the install process.
And technically OP doesn’t really need to understand that the main disk won’t be called C: after switching to Linux. Probably. (I don’t think I’ve ever installed Mint. So I don’t know for sure, but from what I’ve heard about it, I’d be surprised if the installation process had much of a learning curve.) But I told OP anyway. So there. :D
Okay thank you. I feel like it’s a lot of information here that is about, like you say, how complicated abstract and advanced it is, with the devices, kernel representations and mount points.
There must be a better way of just explaining how the root fs works, because I still don’t understand anything.
It really doesn’t feel like comparing it to windows gives any favours though, maybe explain use cases, like where would the user save downloads, where would you install apps?
I’ve used Linux a little. Right now it’s modernized enough for me to not learn the file system. But I remember in old times when I ran Ubuntu I just crammed files in a folder and struggled a lot with it
A disk is just a big collection of bytes. A 100GB disk has 100 billion(-ish) bytes. Each one has an index. The first byte has index “0”. The second has index “1”. There’s a byte 8,675,309. Each byte has a particular value at any one time. The computer can set the value of any byte to any value. (It could set byte 8,675,309 to 01100001 and later it can reliably be read back from the same index as the same value, until it’s changed to a different value.)
A disk can be divided into partitions. Basically you (or rather a tool you use) writes data to a location near the beginning of the disk that says "treat this disk as multiple separate devices. The first starts at byte X and ends at byte Y, the second starts at Y and ends at Z, etc."
When you plug a disk into a Linux computer (on most modern full-featured desktop/laptop Linux systems, though maybe not on, for instance, some embedded systems) a new “file” appears in /dev for the disk along with more files for each of the partitions on the disk. For instance, an external USB hard drive with three partitions might show up as /dev/sda and the partitions as /dev/sda1, /dev/sda2, and /dev/sda3 respectively. (Ok. Technically the things in /dev are only files in some senses. They’re technically “devices”. But they have paths like files do and they can be read from and written to like files.)
If you want to, you can read and write to those partitions or to the disk directly as you would read or write any file. You can open it in a text editor, for instance. You might get lots of random-looking broken characters if you do that, and god help you if you try to save over it, but you can. If you read from a disk or partition, it just returns all the bytes in the disk or partition starting from the first (or from whichever index your application asks it to start from.)
A “filesystem driver” knows how to interpret the bytes on a partition as files and directories.
If you want to know what device in /dev a file lives on and what filesystem driver is used for that device, the mount command just typed into any bash terminal will tell you. It’ll output rows like on type (…). If you read/write a file or list a directory, it’ll pick the entry in the mount output that has the longest that is a prefix of the requested file. The is the “file”(/device) in /dev that corresponds to the parition on which that file is encoded. `` is the name of the filesystem driver. So, for instance, if I have an entry /dev/sdb3 on /mnt/pringles type ext4 (…) and I read a file named /mnt/pringles/apple/unicorn/potato.txt (and if there are no entries in the mount output with longer paths that are still prefixes of the requested file path), the kernel will ask the ext4 filesystem driver to please look at the partition /dev/sdb3 and interpret that partition’s contents as a hierarchical filesystem to find and return the contents of the file at the path apple/unicorn/potato.txt relative to the root of the filesystem encoded on the /dev/sdb3 partition.
There are other filesystem drivers that don’t deal with disks. Some like tmpfs store data in RAM only (and RAM isn’t intended to be persistent, so you can’t expect anything in a tmpfs to last reliably through a reset.) Others like procfs don’t look at a disk but make these ephemeral files that basically decide what data to return when read from at the time they’re read from. (Files in procfs filesystems usually expose data about the Linux system. Like, for instance, what processes are currently running.)
Now, the question of where files should go is… kinda unrelated to the above. Files that are system-wide configuration should go in /etc. Files that are system-wide executables should generally go in /bin, /sbin, /usr/bin, /usr/sbin, and /usr/local/bin. Anything your own user downloads/creates should go in /home/$username. Etc. More specifics of all this here.
It can be useful to make decisions regarding what disk/partition a particular directory like /home lives on. But whether /home is on the same partition with /etc and /bin and /var etc or whether it’s on a different partition (and both of these options are quite common), your users’ files should go somewhere in /home.
To elucidate a little more, if you decide to put your /home on the same partition as /bin and /etc and /var and such, you’ll have an entry in your mount output like /dev/sda2 on / type ext4 but nothing with a `` of /home. If you decide to put /home on a separate partition, you’ll have your /dev/sda2 on / type ext4 entry plus another entry like /dev/sda3 on /home type ext4.
So which partition does a file go on when you write a file to /home/keenflame/document.txt? Well, in the first case, it’d be on the partition Linux calls /dev/sda2. In the second case it would be written to the partition that Linux calls /dev/sda3.
Hee hee, some may agree with you. jumped into Gentoo very early and hasn't stopped breaking things yet. Sometimes for fun, sometimes 'cause some distro maintainer type did something horrible ^.^
I definitely support "Just try things, see what breaks, then learn to fix it" as a learning method. Not necessarily for everycritter and not necessarily as a sole learning method but certainly it can be many fun and very productive, sometimes in ways that other methods would not be.
For sure. I think there’s a happy medium for those who might not go for the Gentoo approach. (I’m a veteran of Gentoo as well, by the way. :) )
The extreme opposite of that is probably fearing to touch anything once the system is up and running. There are certainly Windows users like that. IT folks have one or two in their families who regularly try to rope them into doing free tech support. (“Sorry, Aunt Debbie, but I haven’t touched any version of Windows since XP. No, Aunt Debbie, I don’t ‘build computers’ for my job. That’s a different department. No, Aunt Debbie, I don’t know how to recover deleted emails in Hotmail. I’ve never used Hotmail.”) I wouldn’t want folks to fall into a habit of being afraid of their Linux system.
And of course, the Gentoo or LFS approach is way too far on the other end of the spectrum for some.
But I definitely wasn’t advocating that OP take the “break all the things and learn how to recompile your Kernel to enable debugging with GDB so you can figure out why such-and-such USB device isn’t working correctly.” (Unless of course OP wants to do that. In which case, knock yourself out, OP!)
I used OpenSUSE before Gentoo. I’m glad I did. It got me some basic bearings in the Linux ecosystem in a gentle way that didn’t make me want to give up and reinstall Windows. I switched to Gentoo basically when I started to realize how limiting relying on the OpenSUSE guis for installing and configuring things was. (I could tell there was a hidden layer of stuff going on behind those guis. And shying away from the deep lore was keeping me from doing things I could otherwise do.)
But even if I thought a particular person had a strong likelihood of taking the Gentoo approach at some point, I’d probably recommend something like Mint until they themselves wanted to dig deeper. And if that never happened, that’s fine too.
And, let’s be honest. There’s a chance that Mint could break as well even if OP isn’t doing reckless things solely for the sake of learning. (I’d say the same about Windows for that matter.) At that point, OP’s options are 1) figure out how to fix it and fix it or 2) wipe evrything and reinstall from scratch. Either way, something will have been learned in the process.
So, to OP, don’t feel pressured to do all the deep lore stuff unless/until you find yourself wanting to. But also you might be better off if you aren’t so scared to try to do things that you don’t try to customize your system for your needs in even very simple ways.
She goes by "Debra" now ;P (Do we really both have an Aunt Debbie/Debra?)
Also, for sure I don't mean to pressure anyone nor suggest that you do. I also tried other distros first, even fearing a little that I'd break something. Dual booting (I knew Windows better back then... dunno if I'd know what to do with 11 😅) was a help, but also I started with easier distros (Ubuntu, Debian, Fedora, Mint... definitely Mint gets my recommendation as an easy/comfy/friendly distro even though I haven't touched it in over a decade) and found that I wanted them out of my way so I could set up my computer how I wanted it to be. All' the stuff happening "for me" kept doing things I didn't like and changing things I did, so I moved toward the "harder" or "harder-core" distros less because I wanted Linuxy cool-cred (though I did a little bit ;P ) and more because I just wanted to get my OS out of sight and out of mind rather than having to fight the thing over control. Arch mostly does that, Gentoo does it a bit more. These days I don't have the latest high-powered gaming hardware and I myself am starting to feel a little old (2⁵+1 years! Augh!) so the compile waits don't feel so great... but I'll be back 😅I've been oscillating between Arch and Gentoo (may try Funtoo next time! Could be a fun... or two 😹) for ages so unless something else fits I don't see a reason to quit.
Wait, what was I talking about? Oh yeah, no need to jump right into Gentoo or LFS or something... but also no need to worry if one does! I really want to make one point in particular: everything can be fixed. Everything. Broke the kernel? Fixable. Broke networking? Fixable. Package manager set off a bomb in its own backend? Fixable. There's always a fix, whether it's rolling back a package to an old version, booting another OS or computer, GRUB's recovery console, a fallback kernel, rolling forward a package to a new version, using a newer/patched/forked kernel that doesn't crash your graphics driver on a new laptop. No matter how deep into "I'll just go until I trip on something," you can get back up and you can learn something from it... or you can just reinstall or hop to the next distro.
And maybe the thing you tripped on was a cute kittycat who you can appease them despite their annoyance at you for tripping on them :3
Also no, I don't know why I felt like yapping for ages <.< Sorry about that? 😅
With my kid, he just gets on Steam and starts doing his thing with his friends like everybody else as if he was on Windows. It makes no difference to him. I figure I'd let him learn the same way I learned computers, by just standing back and letting him poke and prod around and giving assistance and guidance when necessary. He can't break anything important.
I tried this with my son, who is now 17 and not nearly as computer literate as I was by his age, let alone Linux literate at all. I think it’s a generational thing, as a kid growing up in the 90s I HAD to learn how to administer our PC at a higher level to do the things I wanted to do. Now with easy apps and tablets and auto-installation of all-the-things you just don’t need to be an advanced user to do what you want to do. This is just my experience, YEMV
The only advice I have is to try to make it interesting for them and not just additional practical information they have to memorize. You don’t want to be the weird dad that insists on using stuff nobody else does, you have to show them what’s cool about it, and also accept maybe they’ll just stick with Windows for now.
I also think the main takeaway they should have out of it is that there’s many ways of doing the same thing and none is “the correct and only way”. They should learn to think critically, navigate unfamiliar user interfaces, learn some more general concepts and connect the dots on how things work, and that computers are logical machines, they don’t just do random things because they’re weird. Teach them the value of being able to dig into how it works even if it doesn’t necessarily benefit them immediately.
Maybe set up a computer or VM with all sorts of WMs and DEs with the express permission to wreck it if they want, or a VM they can set up (even better if they learn they can make their own VMs as well!). Probably have some games on there as well. Maybe tour some old operating systems for the historical context of how we got where we are today. Show them how you can make the computers do things via a terminal and it does the same thing as in the GUI. Show different GUIs, different file managers, different text/document editors, maybe different DE’s, maybe even tiling vs floating. What is a file, how are ways you can organize them, how you can move them around, how some programs can open other program’s files.
Teach them the computer works for them not the other way around. They can make the computer do literally anything they want if they wish so. But it’s okay to use other people’s stuff too.
But when the time comes and the kid needs to write some assignments for school, you can be like Your Steam Deck can do that too, have a look at what this dock does
Imagine if handheld gaming is all they’ve ever used it and known it for, and all of a sudden you show them than it can be a full desktop experience, too
I love Linux gaming. Got the Steam deck for my SO. She kind of hates it BECAUSE it’s not a no tinker device.
Like if you pick the right games you’re good, but want to play the “wrong” game, or want to mod, and your back to tinkering.
I don’t mind it at all, it’s just what PC gaming has been for me my whole life, but for her, someone who only experienced gaming on newer consoles it’s a pain in the tush.
For me what planted the Linux seed is when I tried Mandrake Linux when I was 9-10ish. I didn’t end up sticking with it for all that long, but I absolutely loved trying out all those DEs. I had downloaded the full fat 5 CD version and checked almost everything during setup, so it came jam packed with all sorts of random software to try out. The games were nice, played the shit out of Frozen Bubble. I really liked Konqueror too, coming from Internet Explorer. It was pretty snappy overall. And there’s virtual desktops for more space! People were really helpful on IRC, even though I was asking about installing my Windows drivers in Wine. Unfortunately I kinda wanted games and my friends were getting annoyed we couldn’t play games on my computer.
It stuck with me however, so later on when some of my online friends were trying it out, I wanted to try it out again too. I wasn’t much into games anymore, had started coding a little bit. So on my computer went Kubuntu 7.10, and I’m still on Linux to this day.
But that seed is what taught me there’s more. I didn’t hate Windows, I wasn’t looking to replace it. I hadn’t fallen in love with FOSS yet. It was cool and different and fun. It wasn’t as sterile and as… grey as Windows 98. You could pop up some googly eyes that followed your mouse, because you could. There were all those weird DEs with all sorts of bars and features.
You don’t want to be the weird dad that insists on using stuff nobody else does, you have to show them what’s cool about it, and also accept maybe they’ll just stick with Windows for now.
This 👆. Be weird, but be cool at the same time. None of the other dads can do this, but yours can 🦸 ☺️… and, he can teach you how to do a lot more cool stuff as well 😉.
I also think the main takeaway they should have out of it is that there’s many ways of doing the same thing and none is “the correct and only way”. They should learn to think critically, navigate unfamiliar user interfaces, learn some more general concepts and connect the dots on how things work, and that computers are logical machines, they don’t just do random things because they’re weird. Teach them the value of being able to dig into how it works even if it doesn’t necessarily benefit them immediately.
This will come gradually. First, show him one way of doing things, let it sink in, let him get comfortable with it, then say “you know, you could do that in another way as well 😉”. I bet he’ll start asking you if there are other ways as well in no time 😂.
Pop!_OS is definitely worth considering as it’s one of the few distros that goes as far as providing a recovery partition and offers one of the best experiences for those with Nvidia GPUs. Furthermore, Pop!_OS’ maintainers (read: System76) are actually financially incentivized to make their distro very polished and newbie-friendly as their distro is used on the hardware they sell.
On the flip side, Pop!_OS is currently in a major overhaul to replace GNOME with COSMIC; their own homebuilt Desktop Environment. As the Desktop Environment is arguably the most important contributor to how one experiences their Linux system, the eventual change might disrupt your workflow and you might even be too accustomed to GNOME to consider COSMIC at that point. The ongoing work on COSMIC has even meant that Pop!_OS has missed three major releases and are still clinging on their release from April 2022; thankfully it’s based on Ubuntu’s LTS (read: Long Term Support) release, so they aren’t particularly in rush to get a new release out and can rely on Ubuntu for security updates.
Regardless, COSMIC’s unsure future does leave a lot to be desired and does pose the question if perhaps other options should be considered more seriously instead.
Therefore, my personal recommendation would be either one of the following:
If you just really like what you see from Pop!_OS, then just install its 22.04 release and you should be good until April 2027. As time goes on, you might be deprived from new developments and features; but at least updates etc will not be able to (potentially) corrupt/break your system in the meantime.
Wait until April next year; when they’re supposed to release a new version. If you like what you see and the update and the changes are well-received by the community, then consider installing that one instead. It should be supported for 5 years, which is plenty to not worry about your system in the mean time.
Go look elsewhere. There are hundreds of actively maintained distros out there. While not all of them are worth considering, there are at least a dozen of them that are worthy contenders. In case you’re interested to get the community’s help in finding a distro, consider answering the following questions:
Do you use an Nvidia GPU?
How would you rate your tech savviness on other operating systems?
How eager are you to learn and/or invest time to use your Linux system?
Do you prefer to have up-to-date software at all times even if that means daily/weekly updates that might potentially break some functionality?
just install its 22.04 release and you should be good until April 2027
I think this is a really great point. A lot of the Linux community really like distrohopping and running bleeding edge systems, but if you want to just use your machine to get stuff done you can’t go wrong with the LTS versions of stable distros.
Pop 22.04 has been rock solid for me and I won’t be switching to cosmic until the issues are ironed out, my work laptop will be staying on Ubuntu 22.04 (with pop-shell) until the next LTS has been out for a while.
Not having to worry about whether a rolling upgrade will bork your system is really nice. I think we should be suggesting LTS to all newbies as standard as it’s a much smoother experience.
To OP: Pop is a great distro and the tiling window manager it comes with is absolutely fantastic. If you want a beginner friendly system which gets out of your way and let’s you actually use your computer it’s a fantastic choice. Getting used to the way gnome/pop-shell works and the workflows takes a little getting used to at first, but once it clicks it’s really hard to think of using anything else.
Top tip: if you hit an issue with pop and googling for pop solutions isn’t working, 99% of the time just search for Ubuntu and you’ll find plenty of info about it.
Were they marvels, though? Itanium made good business sense in that it would cut AMD out of the market, but it was shit technology. Itanium would have also done a good job of cutting GCC out of the compiler market, which is great news for ICC. If everybody had to buy Intel compilers, boy that would have changed the software market.
You shouldn’t be making the compiler guess at conditions-on-the-ground that the CPU should be inferring itself, such as “which data dependencies are in cache and could be running OOO right now?”. You shouldn’t be making the compiler spend instructions and memory bandwidth describing this stuff. You shouldn’t be making code that works well on exactly one generation of CPU, one pipeline design, and is trash on the next generation. Once upon a time, MIPS saved a few gates by making three “delay slots” part of the ISA, and that became an albatross as soon as they weren’t a three stage pipeline. Itanium is all about making that kind of design decision everywhere. Itanium is the Microsoft Word of ISAs, where the spec is “whatever my implementation does is the correct thing”
The immediate failure of the Itanium was the promise that “you are buying a new, more expensive system that runs your current x86 code worse”, and the expectation was that every generation of Itanium would go like that. Just as your software starts getting good, here comes the new chip that will someday make stuff faster, but you will never see that until just about the end of that product cycle.
They were interesting, but only good for a very narrow purpose - not really a good thing when the trend back then was going away from special purpose machines toward general purpose.
intel didn’t plan it to be just a special purpose CPU - but it just ended up that way. That they gave their first customers free Alpha workstations for crosscompiling code as that was faster than native compilation should tell you everything you need to know about suitability of itanic as general purpose system.
I never used Itanium, but I’m guessing that the Alpha workstations also ran x86 code faster than the Itaniums. fx!32 was one of DEC’s marvels that they completely forgot to market.
Yeah, but x86 was relatively cheap. Alpha and Itanium were in a similar price range.
At that time Alpha belonged to Compaq - and they stopped Alpha development (and canned quite a few good designs which were pretty much ready to go), expecting they’ll be able to replace it with Itanium.
linux
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.