I bet the Apple still have a huge leg up on PCs when it comes to displays. Yeah, they both have the same hardware these days, but the way the softwar e manages things is so much better on the Mac. I remember using a Mac many years ago and everything from top to bottom had a consistent look and feel . On the PC every program is in it's own world with unique fonts, sizes an d windows.
I had this machine fairly tuned up and could get most things done without e ye strain and yet still got to treat the display as if it could show more t han one window at a time. Then I fired up an HDL tool and the fonts are al l so small it was impossible to read them without surgeon's magnifiers. So I finally gave in and went for the Windows screen adjustment. Seems I alr eady had it set to 125%. So I thought 150% might do well... adjust, reboot and the screen looked like I had dropped the resolution to 1024 instead of 1920 pixels wide. Everything was so huge! Ok, so I backed that off to 13
5% and it seems to be a bit better, the new app can be read with only a bit of eye strain. But now I have to go into every app and tweak details to g et it to look right again.
On the Mac, if I could read one app, I could read them all! Too bad so muc h engineering software won't run on the Mac.
So how does Linux handle things like font sizes? I'm thinking it is really the wild west or it forces the user to manually muck with all the settings on every program. At least I can get a lot more engineering tools to run under Linux than on the Mac. I really do need to try Linux sometime.
- Get 1,000 miles of free Supercharging
ys. Yeah, they both have the same hardware these days, but the way the sof tware manages things is so much better on the Mac. I remember using a Mac many years ago and everything from top to bottom had a consistent look and feel. On the PC every program is in it's own world with unique fonts, size s and windows.
ut eye strain and yet still got to treat the display as if it could show mo re than one window at a time. Then I fired up an HDL tool and the fonts ar e all so small it was impossible to read them without surgeon's magnifiers. So I finally gave in and went for the Windows screen adjustment. Seems I already had it set to 125%. So I thought 150% might do well... adjust, re boot and the screen looked like I had dropped the resolution to 1024 instea d of 1920 pixels wide. Everything was so huge! Ok, so I backed that off t o 135% and it seems to be a bit better, the new app can be read with only a bit of eye strain. But now I have to go into every app and tweak details to get it to look right again.
much engineering software won't run on the Mac.
ally the wild west or it forces the user to manually muck with all the sett ings on every program. At least I can get a lot more engineering tools to run under Linux than on the Mac. I really do need to try Linux sometime.
I remember when I was young I was able to read anything, anywhere, in any l ight. I have one eye highly astigmatic which my brain uses, but does not r ely on. As I've gotten older it has been a bit of a strain to compensate w ith glasses. I've now reached the point where I just can't read the durn c omputer unless the fonts are significantly bigger than standard. Some prog rams cooperate, but often only in the text display windows. Various contro ls are still very hard to make out.
I'm pretty sure all that is handled cleanly in the Mac. It sounds like Lin ux is as I suspected, some programs work well with the settings and others don't... not unlike Windows.
I keep saying I'm going to give Linux a try. I have one thing I need to ge t done today. After that I'll try dragging out a 15 inch laptop I've got a nd seeing if I can make it dual boot. Any suggestions as to which Linux wo uld be optimal for running CAD tools? Also, I have a little experience wit h Raspbian on the rPi. I don't know if that should be a factor or not. Is there really much difference between Linuxes from a user perspective?
+ Get 1,000 miles of free Supercharging
I can't say how well any particular program will work on Linux - that depends on the program. But I can give you a few general points.
GUI software on Linux, like on the Mac, almost invariably uses a graphics toolkit - GTK and QT are the most common for modern code, along with Java toolkits. (Several others, such as TK/TCL or wxWidgits, build on top of these.) A key point about the window layout for most of these is that it is done with boxes and sizers that re-size according to the size of the contents. That means if you have a window or a dialog box and choose a bigger font, the widgets and the boxes all grow to fit. So on these systems, most programs (but not all) work fine when you scale the fonts or choose "high dots per inch" settings.
This is different from Windows base API where positions and sizes of widgets is generally done using pixel counts. When you try to scale the font sizes, you get a mess because the text no longer fits in the dialog widgets. This is a lot less of a problem than it used to be, as more programs on Windows also use decent toolkits, but you will see it.
So if you are going to use a high DPI screen, or just increase the size of the fonts to fit ageing eyes (none of us are getting younger), a modern Linux will be as good as a Mac (i.e., mostly fine, but with a risk of a few exceptions) and better than Windows.
Under the hood, Linux and Macs work in quite a similar fashion - both are *nix systems. On the gui side, Linux is vastly more configurable than either MacOS or Windows, with dozens of different desktops to choose from. This is, of course, both a blessing and a curse.
A huge difference between Windows and Linux is that in Windows, you usually get software by going to the website for the software, downloading it, and installing it. You update it by going to the website, noticing there is a new version, downloading it, and installing it. With Linux, you get the solid majority of your software from your distribution - you find it in your package manager, click the checkbox for the software you want, and the package manager handles the rest. And it will tell you when there are new versions and easily update them (but only if and when you want it to!). For software in the distribution, this is hugely easier than the Windows way - for software that is not part of the distribution, or when you want odd versions, it can be more difficult.
As for Linux distributions, there are /many/. Most are somewhat niche - if you want something for security testing, or for audio-visual work, or for tiny systems, or for "compile everything yourself" aficionados, there are distributions for you. For the more "normal" user, there are basically two groups - Red Hat and Debian. Red Hat is a big favourite for servers and workstations, and is often bought with support contracts. CentOS is a free and compatible version. Debian is all free, and has a massive software base. The emphasis on free (as in "free speech", not "free beer") is not always the best for users, however. So it is common to use derivatives that are based on Debian, but include other software that makes life easier. Ubuntu is the most well-known of these. Linux Mint is a derivative of Ubuntu which is becoming increasingly common. (Knowing the chain of ancestry of a distribution helps a lot when searching for help or tips - if you have Linux Mint, and can't find information you want when searching for "How do I do X in Linux Mint?", you can try searching for Ubuntu or Debian instead, and the answer will probably still apply.)
So which should you choose? The main Linux software is found in all of these, but third-party software (such as FPGA design tools) often specifies only a few distributions - typically Red Hat and Ubuntu. It is almost always fine to use a derivative of these.
My strong recommendation is Linux Mint. Ubuntu's desktop has always struck me as ugly and intrusive - Windows does not have a monopoly on making silly desktops that get in your way. Mint's desktop will make you feel "this looks like a computer, and works like a computer". Mint has two main desktops by default - Mate and Cinnamon. Cinnamon is snazzier, with cooler effects - if you like that sort of thing. Mate is simpler, though older, and makes it a lot easier to simply get on with your work. So that is my choice, and my recommendation.
When you are running a program, there is little significant difference between the distributions. But there are differences in the package managers, and the choice of software they come with, and the choice of desktop. (You can always install other desktops, but it's easier to have one you like out of the box.)
Rasbian is a Debian variant, so much of it is the same as Linux Mint. But Rasbian has a lighter and simpler desktop, which is a bit crude and limited in comparison to Mate.
(For servers, my preference is pure Debian, if that is of interest to you.)
Remember, you can always try out a new OS in a virtual machine. I have found Virtual Box very good. (And I've seen Windows programs running faster inside Virtual Box on a Linux host than they ran on native Windows on the same hardware.)
If you're running CAD tools, I'd strongly suggest CentOS. It's based on Red Hat Enterprise Linux which is supported by most tool vendors (Synopsys/Cadence/Mentor/Intel-Altera/Xilinx).
Other distros like Debian (Raspbian) or Ubuntu have patchier support, although it's getting better. We're primarily an Ubuntu shop, so I've got quite proficient at the hacks necessary to run tools on unsupported Linux distros - although the student who turned up with Mageia (based on Arch Linux) caused some head scratching.
For a simple life, I'd recommend running whatever distro and version the tool vendor recommends in a VM. Run multiple VMs with different versions if you have to. It'll make the setup pain a lot easier.
Note that for many distros, you can try them "live" from the USB stick without any installation. If you've plenty of ram and a fast USB stick (a USB 3 stick), this will should be good enough to test the system. You can even install programs - it all goes in ram, rather than on the USB stick, and it all disappears when you reboot.
I believe TK/Tcl uses XWindows on Linux, and for Windows uses the basic Win dows Widgets. Modelsim has a TK GUI. I think Vivado is a widget set based o n java swing, it might be JGoodies but I can't quite recall now 100%. I thi nk Synplify, Quartus and Diamond are QT, but I'm basing that on that they d on't look like TK or Java :) Although now I think about it, the Quartus IP GUI I think is Java Swing, and Diamond IP GUI is TK.
indows Widgets. Modelsim has a TK GUI. I think Vivado is a widget set based on java swing, it might be JGoodies but I can't quite recall now 100%. I t hink Synplify, Quartus and Diamond are QT, but I'm basing that on that they don't look like TK or Java :) Although now I think about it, the Quartus I P GUI I think is Java Swing, and Diamond IP GUI is TK.
So under Windows 10 is there another way of enlarging all the text in the D iamond display (hopefully along with the size of the fields they are in)? Using the Windows zoom capability seems to enlarge many things far too much before the Diamond window is large enough.
I was pretty happy with 125% zoom before I opened the diamond window. Now everything looks clownishly large at 135%. At least one of my common apps is a bit fuzzy. I'm wondering if it is being zoomed by simply enlarging th e pixels it is drawing.
-+ Get 1,000 miles of free Supercharging
Diamond display (hopefully along with the size of the fields they are in)? Using the Windows zoom capability seems to enlarge many things far too mu ch before the Diamond window is large enough.
I don't know what the answer to this is. The reason why your Mac worked nic ely is probably because all your mac apps used point fonts rather than pixe l fonts and SVG graphics instead of pngs. So irrespective of DPI, everythin g's nice and readable. A lot of engineering software on PCs still don't do this, both on Windows and Linux. Windows at least has the scaling setting. I believe some Linux distros have some kind of setting for high DPI screens but the Debian that I'm using now doesn't as far as I know, so I get small graphics/text on my high DPI laptop screen, and there's no easy way that I know of to get round that.
A lot of FPGA tools still need to improve, ie don't use PNGs and don't use pixel fonts, and make use of the DPI settings provided by the host system. Most widget sets provide some sort of support for varying DPI, including QT , Swing and TK.
At least with FPGA tools however you don't _need_ to use the GUI because yo u can script them. Although then you need to be able to use Tcl and go thro ugh their documentation to write the scripts in the first place. Where I've worked, mostly this is how things get done.
FPGA tools can dump out simple scripts for you. I though have some personal scripts (that I don't use at work) here
and there are similar tools available on github, for example see https://github .com/olofk/fusesoc and
You can do some nice things with scripts. For example with ttask for a desi gn I split my testbenches up so each testbench is a subset of all the tests that I need to perform and then I tell the tool which testbenches to run a nd how many to run concurrently. It's a good way to speed up testbenches be cause you can get your PC up to 100% load and get your tests done in the sh ortest time. At home I have the freely available Altera Modelsim And Xilinx XSim, and both of those let you do that.