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
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
Generally pretty well. I've been daily driving on Linux machines for about a
decade now and would never consider going back.
That said, Modelsim on Linux does in fact have a font problem that requires
manually mucking with hidden settings in an undocumented way, otherwise it's
like you're trying to read source from orbit.
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.)
Xilinx specify Red Hat, so the 'community' version CentOS would
likely be best.
I use (very) old version, CentOS 6, in separate virtual
machines for Xilinx ISE, Lattice Diamond, and Lattice iCE40
ISE 14.7 needed a 30GB disk image to complete installation.
Lattice Diamond was installed in 12GB, and Lattice iCE40 7GB.
Shared folders make it possible to keep or backup source to the
My 1600*900 laptop screen is tight with most tool chain GUIs,
so I use an external monitor, and/or multiple (full desktop size)
workspaces. Or use toolchain scripting to eliminate the GUI.
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
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.
On Friday, January 10, 2020 at 1:33:22 PM UTC-5, firstname.lastname@example.org wrot
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
there are similar tools available on github, for example see https://github
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.