EE Bench PC, what OS? Suggestions? - Page 1
Forum section: electronics / general

author: Zucca
author_rank: Unknown
timestamp: August 30, 2024, 12:25:22 pm
content: I installed a PC, a 17" monitor, wireless mouse and keyboard in my EE Bench.I installed Ubuntu because it is the most used Linux distro, hoping it will keep me floating in the EE world (confirmed here, somehow)Unfortunately I had to install FW fordiscontinued Keysight devices, and Linux is not in the picture...Also, under software download website for my EE devices I find only windows stuff mainly.So, sadly, it looks like in EE Lab, test equipment companies expect to find only Windows PCs...I am now thinking to switch toWindows LTCS.Kindly ask some suggestion... also beyond OS choices... I hope the wireless mouse and PC will not interfere with my DUTs.PS: it is not just looking the datasheet up, an old iPad is just perfect for that.

author: 3roomlab
author_rank: Frequent Contributor
timestamp: August 30, 2024, 12:54:53 pm
content: have you tried vm like virtualbox?it installs the windows OS inside your ubuntu under vmgive it a try to see if it fits your use case

author: themadhippy
author_rank: Super Contributor
timestamp: August 30, 2024, 01:02:21 pm
content: Also maybe see if it plays nicely with wine

author: RAPo
author_rank: Super Contributor
timestamp: August 30, 2024, 01:20:04 pm
content: I have a zima board with linux os/server, attached with Crucial P3 2TB M.2 PCIe Gen3 NVMe Internal SSD and an own monitor.The zima board is controlled via RDP connection using MobaXterm and also doubles up as a proxmox server.

author: Zucca
author_rank: Unknown
timestamp: August 30, 2024, 02:39:46 pm
content: Quote from: 3roomlab on August 30, 2024, 12:54:53 pmI will try to install windows LTCS on a Linux VM.I hope it is not asking for problems, when I have to upgrade FW, the PC needs to be stable... don't wanna brick devices.Also how a USB3 Picoscope will deal with a Windows SW in a Linux VM?I mean VM is perfect if you wanna stay in the SW circle... not so sure if you have to control HW from the VM...

author: Zucca
author_rank: Unknown
timestamp: August 30, 2024, 02:42:11 pm
content: Quote from: RAPo on August 30, 2024, 01:20:04 pmbetter than a Raspi for sure... for what do you use the zima board in your bench?

author: RAPo
author_rank: Super Contributor
timestamp: August 30, 2024, 02:54:18 pm
content: I use it for data collection/storage and simulation functionalities.

author: Nominal Animal
author_rank: Super Contributor
timestamp: August 30, 2024, 04:42:32 pm
content: You can use USB passthrough (so that a specific USB device shows up in the client VM), or install a separate PCIe USB controller card (one fast enough and well supported on both Linux and Windows) on your computer, and use PCIe passthrough so that the client VM (and its own drivers) directly accesses the controller. PCIe passthrough does require the motherboard, processor, and chipset support virtualization extensions (Intel VT or AMD-V), so check your BIOS settings.

author: tatel
author_rank: Frequent Contributor
timestamp: August 30, 2024, 05:05:13 pm
content: I'd rather prefer to install Debian better than Ubuntu any day of the week. To make money, Ubuntu needs to somehow differentiate from Debian, which is the original from which the copy is made. And, main reason to differentiate, is for Canonical to make money from Ubuntu. I've have been bitten by that crematistic policy at least once. Debian does have a Social Contract; they pledge to avoid crematistics and to look for quality and user easy life instead. They give you alternatives or at least plenty of time, like a couple of years, to adapt to any changes. Don't expect almost any other linux distro to do that, even if most of them also are of Debian descent.Many people that aren't professional programmers but know how things are done create their own Debian packages and release them. So you can probably find real gems out there, ready to be installed. I don't think there's any other linux distro with so many packages ready to install.Problem with Debian is, since they are so focused in stability, software is usually older than in Ubuntu, i.e, in Debian 12, which is the "stable" released version right now, you'll find KiCAD in version 6. If you want KiCAD 8, you need to install it backported from "testing"... or directly install "testing".Another problem is, Debian doesn't install by default any "non-free" software. You can do it, but you have to activate that possibility manually. Since most firmware is not free, you'll find that your wifi card isn't working when you try to install Debian, because it needs non-free firmware to work. However it's easy enough to do your installs via Ethernet, then grep the start messages looking for "missing firmware" lines, activate "non-free" on APT package management, and install that firmware.Debian 13, now in testing, has changed that policy, there's a "non-free-firmware" section activated by default, so these problem newcomers had with non-free firmware should be gone.Last, but not least, Debian's APT software package management tool became the model followed by most other distros -RedHat included- after realizing their original tools weren't in the same league. Any newcomers should stick to it to avoid problems. Forgot to install anything from I-don't-know-from where; all you need is either already in Debian repositories to be installed with just an "apt install package-name" or you'll need more experience than you have right now.With time and experience, you could use other sources too, but don't try that as a newcomer. AppImages can work, Docker also. The worse one is installing anything Python with pip. That almost guarantees you'll get in trouble sooner rather than later.If you stick to that, you can just do a defaults install and be fine, trouble free for years. Debian documentation is plentiful and the fastest way to learn. Please have a look at these threads:https://www.eevblog.com/forum/programming/linux-dependency-black-hole/msg5467894/#msg5467894https://www.eevblog.com/forum/rf-microwave/wsjt-x-on-pi/msg5465293/#msg5465293The other linux distros worth to have a look at are RedHat/CentOS and Slackware IMO. RedHat does a lot of developing and their bussiness model is to charge you a fortune for technical support. CentOS follows RedHat, but it doesn't have any support I'm aware of. Slackware is the *original* linux distro and does not have any package management system -this is where the name Slackware comes from. It can be useful when you know what you are doing and need, say, a real light system on you device.Now, for use as an EE bench system, you already learned that many devices have Windows-only firmware. You can use virtualbox; it has settings to connect to different peripherals out of the virtual machine. This means another learning curve however. Or you could have a dual-boot system and restart into the system you need at any moment. But, IMO, to have another machine for windows is the handiest thing to do. Usually we have more than a PC, and to have and old PC with, say, windows XP/7 and even perhaps another one with 10/11to be started if/when needed will probably be the most trouble-free way to go. Assuming you have the space in your workshop, of course

author: Smokey
author_rank: Super Contributor
timestamp: August 30, 2024, 06:22:22 pm
content: I'm a linux Mint fan if I have to go that way... but..Hardware design, and embedded programming specifically has TON of windows only tools (or stuff that says it's supported but barely works with linux/mac/virtual-machine). If you want to work in this space I would say don't try to be an ideolog purist. Just run windows and get your work done.

author: Infraviolet
author_rank: Super Contributor
timestamp: August 30, 2024, 07:23:00 pm
content: I can give another vote for Linux Mint, it has a philosophy more grounded in long term stability than Ubuntu (one which it is based) does, and it works well with Wine for running some Windows programs under. But still, you might need a VM with Windows inside it for things that Wine can't handle.

author: Nominal Animal
author_rank: Super Contributor
timestamp: August 30, 2024, 08:34:07 pm
content: Having Tux as my mascot and running Linux on my home machines for over a quarter of a century now, I'm sometimes taken for a zealot because I prefer open source. Because of this, I feel I need to quotemy own postfrom earlier today in a different thread:Quote from: Nominal Animal on August 30, 2024, 09:15:47 amEven for a hobby EE workstation, you do need to consider what kind of tools you need to enjoy your hobby to the fullest.

author: abeyer
author_rank: Frequent Contributor
timestamp: August 30, 2024, 08:56:00 pm
content: Agree with others who have expressed the same... despite using some *nix flavor as my primary machine for decades, I still find it useful to have an actual hardware windows machine available from time to time, particularly for electronics and fabrication purposes. I'm also quite happy with the current state of WSL2, so even working day to day on windows for my work machine is pretty comfortable, as my standard development environment script for linux will stand up almost flawlessly under it and let me do most of what I do in WSL while still having windows on bare metal there for what I need it for. (in that case, primary for the hardware certificate in the TPM, which I need for VPN access.)Also, even if you don't need the LTSC channel, stepping up to an enterprise windows sku even just for personal use is well worth the hassle and cost, as it defaults off a lot of the user hostile anti-features that consumer windows ships with, and gives you access to configure some things via policy that can't be changed otherwise.

author: Zucca
author_rank: Unknown
timestamp: September 02, 2024, 02:36:48 am
content: Many thanks for the interesting discussion...I think for my bench I will bend my knee to M$, installing retarded windows.Quote from: abeyer on August 30, 2024, 08:56:00 pmthis enterprise?QuoteI will give it a shot... that's too funny!Also I prefer to VNC into my Windows Box rather to have a VM...PS: For my workstation hell no, no windows. I successfully installed ARCH Linux and it was a very educational process. I then realize I need more time to learn stuff than to work. I was consideringEndevourOS, but thanks for your suggestions I will give Mint (Xfce!) a chance!Thank you gang!

author: abeyer
author_rank: Frequent Contributor
timestamp: September 02, 2024, 07:27:59 am
content: Quote from: Zucca on September 02, 2024, 02:36:48 amThat looks like the eval, yeah... just be aware that the licensing and activation part requires going through an enterprise channel reseller, usually requires talking to a salesperson, has some minimums required, and they may balk at dealing with an individual or small orders at all. It's possible to do it... but as I said, it is extra hassle.

author: Zucca
author_rank: Unknown
timestamp: September 03, 2024, 01:32:37 pm
content: https://www.cdw.com/product/windows-10-enterprise-ltsc-2021-upgrade-license-1-license/6796773but it looks like it is not that easy. Windows enterprise does not have a perpetual license anymore....It's a messy move, I will stay out of it.

author: paulca
author_rank: Super Contributor
timestamp: September 17, 2024, 09:00:42 am
content: Both. Windows + Linux.I use Proxmox VME and have both a windows dev machines and a linux dev machine.I have a 4 port USB hub on the electronics bench which goes to that Proxmox host. The only thing you have to do is use the Proxmox UI to select which VM the USB port goes to.I have used many USB serial adapters on both. STM32 dongles on windows. ESP32 JTag Programmer on both.Probably the only thing I struggled with is that the VMs have trouble identifying devices in the same order at boot. Just means you have to use the "Device ID" variants, not the likes of /dev/ttyUSB0The advantage of this approach is that I have a dedicated Windows machine where all my STM32 and ESP32 IDEs and tools live.The linux machine is more used for server side configuration than MCU/Electronics. I prefer "KDE" over Gnome as I can't stand Macs. However, last time I tried Eclipse based IDEs on Kbuntu, they fail misserably due to not finding some gnome extension lib socket. Until that gets fixed, or I figure out how to reliably fix it, I'm stuck in Windows for IDEs.The other advantage is that, when running, those VMs can be accessed from any PC in the house. Bedroom, Livingroom office. So... you can log back in from bed to see if the test completed or to just make that little change that woke you up.

author: Nominal Animal
author_rank: Super Contributor
timestamp: September 17, 2024, 11:25:42 am
content: Quote from: paulca on September 17, 2024, 09:00:42 amYou mean under/dev/serial/by-id/?Or, you could create udev rules to add symlink names, like/dev/ttyBlueDongle, and use those. I do.If the USB vendor id isVVVVand product ID isPPPP, start the ruleset with lineATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", ENV{ID_MM_DEVICE_IGNORE}:="1", ENV{ID_MM_PORT_IGNORE}:="1", ENV{MTP_NO_PROBE}:="1"to makemodemmanagerandlibmtpto leave it alone. If the values vary, you can use glob patterns (as used in e.g. Bash and sh for filename globbing).Next, make the character and USB (/dev/bus/usb/bbb/ddd) accessible to a suitable group, sayadmordialup:KERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", GROUP:="admordialup", MODE:="0660"SUBSYSTEMS=="usb", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", GROUP:="admordialup", MODE:="0660"Mode 0660 corresponds to read and write access to owner user (root) and group (admordialup), and no access to others.Finally, create a named symlink (/dev/ttyBlueDongle):KERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", SYMLINK+="ttyBlueDongle"If you have several dongles, you can use their USB serial number to distinguish between them, sayKERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", SYMLINK+="ttyBlueDongle-$attr{serial}"or use the serial (S...) to match,KERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", ATTRS{serial}=="S...", SYMLINK+="ttyTheOtherBlueDongle"Save that file as say/etc/udev/rules.d/00-dongles.rules, tell udev to reload all rules (sudo udevadm control --reload), and then plug in the device, and you should see the symlink pointing to the tty device with correct group and access mode. These symlinks are removed when the device is unplugged. If you want to know what attributes you can use, runudevadm info -a /dev/ttyNamewhen plugged in to see the full list.In fact, a very similar rule is used to create the/dev/serial/by-id/symlinks for non-terminal/pseudoterminal tty devices in the first place (likely/usr/lib/udev/rules.d/60-serial.rules).Such symlinks have also the benefit that you can safely hardcode them in your scripts, as long as you document to yourself which scripts use which symlinks. It's easier to edit the udev symlink rule than change the device name in a set of scripts, in my opinion, especially if you use the serial number as a filter and not in the symlink name, as for/dev/ttyTheOtherBlueDongle.The reason I prefixed the example symlinks withttyis that some ancient silly programs and scripts expect serial port names to start with/dev/tty. You shouldn't see any such on a Debian system, unless if you've inherited or trying out some old code or scripts. Those silly ones don't like the/dev/serial/by-id/symlinks either; they just do a prefix match on the given pathname.

author: paulca
author_rank: Super Contributor
timestamp: September 17, 2024, 11:40:23 am
content: I beat it a few times with a stick until it worked, then left it aloneThe only one that delayed me in anyway was the Quad UART gizmo. It spawns 4 serial ports, COMn... They are never the same IDs and half the time they are all setup wrong. Everytime it's a fight. This is windows though.The challenge with the VME side is that once you plug the device in for the first time the host linux kernel sees it, u-dev rules run etc. However, when you then go to the VM settings and "Add USB device.... forward complete port", it uses the HWID, not the kernel abstraction. In fact once you forward it to the VM the local device is disappeared.So it's more in seeing and understanding what is going on ... when it doesn't go smoothly. You have to log in and dmesg/et.al on each layer to see what went wrong.To help address this general problem (physical coupling to devices or ports) I moved most of my server side components that need USB (Zigbee etc.) into tiny little VMs all on their own. So... should the physical device need to move, I can just move it's VM along with it.

author: Zucca
author_rank: Unknown
timestamp: September 17, 2024, 06:25:11 pm
content: Thanks paluca and animal, interesting discussion.So far I am an happy camper with Win10 Pro (pre)activated in my Lenovo box on my bench.It will run a VNC server on it for remote access.With all those cheap miniPC available on Ebay, a VM seems to me more a complication than a solution for what I need to do.When I will need Linux on my bench I will (re)explore the options.

author: Nominal Animal
author_rank: Super Contributor
timestamp: September 17, 2024, 11:08:54 pm
content: Quote from: Zucca on September 17, 2024, 06:25:11 pmThe one thing I really appreciate VMs for, is the ability tocheckpointthe VM state.Before I start anything iffy or new in a VM, I always checkpoint it. That way, if I goof up, I can always basically instantaneously revert to that checkpointed state, and "undo" everything I did. It affects the entire VM, including disk state and RAM. As only subsequent changes are stored, and not a full copy of the VM state, such checkpoints don't usually take much disk space either. I do keep the number of checkpoints per VM down, though, to keep the extra disk space use to a minimum.That said, I do like using SBCs as modular hosts, instead of collecting everything on a single hardware machine and virtualizing or containerizing hosts on top of that. I do tend to have an older backup machine at hand, in case my current workhorse gives up the magic smoke, too. I just don't like single point failures becoming catastrophic problems...

author: Zucca
author_rank: Unknown
timestamp: September 18, 2024, 03:47:24 am
content: Sure, VM is THE PC SANDBOX by definition! VM is also very nice to try OS stuff out!Docker concept is something also to consider, don't ask details I only understood the idea but never tried it out...I try to save/backup the important files/projects not the disk images (or VM checkpoints), for my workhorse PCs.They are designed to be stable and in the unlikely event (example CrowdStrike?) things goes tits up, they I will just reinstall the SW or/and OS.

author: BrokenYugo
author_rank: Super Contributor
timestamp: September 18, 2024, 01:14:18 pm
content: VM is one of those things I regret not getting into sooner, much less trouble than it sounds like, I went with VirtualBox since it seemed to be the most written about option.Like if you can spec out and assemble a PC and then install an OS on it you're overqualified. IIRC the hardest part was having to reboot to get into the BIOS settings and enable virtualization.

author: paulca
author_rank: Super Contributor
timestamp: September 20, 2024, 05:07:43 pm
content: Just don't jump in expecting to run games and CAD software. Anything that needs a GPU (PCB Editors included) will struggle.You "can" setup a GPU for this purpose, but it's probably out-of-scope here.

author: u666sa
author_rank: Frequent Contributor
timestamp: November 04, 2024, 06:20:50 pm
content: Quote from: Zucca on August 30, 2024, 12:25:22 pmYou need both Linux and Windows, sometimes Mac if you doing Mac stuff.Arch, definately, either dual boot or virtual box. Because in arch you just yay program_name and you got it and it always latest.Windows 10 as primary OS. Windows 7 if you hardcore. Windows 11 if you love to experement.Monitor you need 32 inch wide screen, FYHXele for examplehttps://aliexpress.ru/store/912466657so long as you can find it for around 180 bucks. Often on sites like amazon and others, local to your country, you can get great deals. (29 inch is kinda small).

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 04, 2024, 10:40:06 pm
content: Picoscope runs "fine" on Linux. Although its software eats up much more CPU than it does on Windows.Oh, and Picoscope 7 is atrocious IMO.

author: radiolistener
author_rank: Super Contributor
timestamp: November 07, 2024, 04:58:37 am
content: I don't recommend Ubuntu and Linux Mint. I've installed them several times and every time I got broken video driver and apt after some next apt upgrade with no way to restore or update the system. Also ubuntu and mint don't support OpenCL for my Nvidia GPU.Regarding to KiCad, I'm installed it from backports repository, just add this line to/etc/apt/sources.list.d/bookworm-backports.listCode:deb http://deb.debian.org/debian bookworm-backports main contrib non-freeand then install it withCode:sudo apt updatesudo apt install -t bookworm-backports kicadcurrently it has KiCad v8.0.6+1.

author: nctnico
author_rank: Super Contributor
timestamp: November 07, 2024, 04:24:02 pm
content: Where it comes to NVidia videocards: just install NVidia's own Linux drivers and be done with it.

author: radiolistener
author_rank: Super Contributor
timestamp: November 07, 2024, 11:12:48 pm
content: Quote from: nctnico on November 07, 2024, 04:24:02 pmThis is exactly what I did. But it appears that apt upgrade may fail due to some changes which conflicts with nvidia code. As result, executing apt upgrade sometimes leads to a broken system with non working video driver. And for some unknown reason it appears that this happens too often for linux mint and ubuntu and can lead to unrecoverable errors in package system. Sometimes it can be fixed manually with edit of the source code and recompile it, but sometimes its too complicated. So, apt upgrade may damage your OS and will needs to reinstall it.

author: nctnico
author_rank: Super Contributor
timestamp: November 08, 2024, 05:57:07 pm
content: That likely is a problem with Ubuntu if you ask me. From what I've seen Debian is far better at creating a stable distribution compared to Ubuntu. At the cost of not having the latest & greatest (and buggiest) versions of software. Then again, I have been using Debian since the mid 90's so it could be I'm avoiding the pitfalls by muscle memory.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 09, 2024, 01:01:59 am
content: The compatibility issues with Nvidia proprietary drivers stem fromDKMS, Dynamic Kernel Module Support.Essentially, the proprietary drivers are binaries that are compatible with a range of kernels, with a thin shim compiled for each kernel using DKMS.These can be compiled beforehand and distributed as a specific kernel-package-version dependent packages, but not all Linux distributions have the manpower or volunteers to do so, and Nvidia definitely cannot afford to provide those for all Linux distributions. On most systems, that shim is compiled on the target machine itself, automatically per DKMS configuration.So, the solution is to ensure you have kernel headers and working DKMS auto-configuredfor all future kernels, before you install the Nvidia drivers. That way, as long as you have a Nvidia driver compatible with your kernel version –– not distribution patch version; just the kernel version suffices –– any kernel update will cause DKMS to recompile the shim for the Nvidia drivers.This is not specific to Nvidia, either: VirtualBox additions (like the video driver allowing X/Wayland video resizing) use the exact same mechanism.A secondary problem with Nvidia drivers is that it may depend on innards (but not kernel-userspace API/ABI) of the DRI layer, which means that a specific Nvidia proprietary driver is compatible with only a range of Linux kernel drivers. It is the DKMS that recognizes the incompatibility, too –– incompatibilities that result in runtime errors are rare, although glitches may occur on new kernel until Nvidia releases compatible drivers.Thus, it is all about DKMS and its configuration, and monitoring it when updating/upgrading kernels; not so much about distributions per se.Some distributions may have maintainers that do this for you (and all other Nvidia driver users), but it should not be a requirement.(In case you have labeled me a Linux zealot, back in the AMD/ATI proprietary driver era, I compiled my own kernels and used the proprietary drivers for better 3D support on 680G/780G integrated-on-motherboard chipsets myself. It was much more work back then, too. DKMS was specifically designed to ease that work byDell!)This is unfortunate, I do agree. I know the history, and it is a bit convoluted on both (Nvidia and Linux) sides. Yet, it is not a Linux distribution issue per se –– as in, "Xis compatible with Nvidia drivers,Yis not". Some distros may do the DKMS config for you, but in the rest, you need to do it yourself. Fortunately, after it is set up correctly, it should keep working even across kernel updates, only requiring you to keep up with Nvidia driver releases afterwards.

author: paulca
author_rank: Super Contributor
timestamp: November 09, 2024, 01:14:48 pm
content: I recall the issues with the Nvidia driver on any distro was the proprietary driver requiring stubs compiled against the running kernel headers.The driver is in two parts. The X11 part and the kernel part.Issues usually result when the "package system" in use upgrades the kernel breaking the NVidia kernel module, preventing it from loading and if not spotted an fixed will result in a failed boot to X11 and a constantly respawning display, not very nice or easy to get out of.Other issues happens when it upgrades the X11 part of the driver, but not the kernel module, etc. etc.I don't really run linux on any boxes with NVidia cards anymore, so this hasn't bothered me in a while.

author: tatel
author_rank: Frequent Contributor
timestamp: November 10, 2024, 05:48:43 pm
content: Quote from: paulca on November 09, 2024, 01:14:48 pm+1

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 10, 2024, 09:43:37 pm
content: Nvidia was the better option like 20 years ago on Linux, but as many know, things have changed.AMD GPUs these days are the path of least resistance on Linux at this point. Although, be careful to use preferably Linux lts kernels, if you don't want to have to occasionally deal with newer amdgpu versions introducing various bugs, which tends to happen more often than with Nvidia IME. So, if you're after cutting-edge, that may be a different story.Frankly, for a "bench" PC, that's probably not going to require much GPU power (unless you use it as a workstation?), I'd stick with Intel integrated graphics. Or maybe an entry-level AMD GPU.

author: paulca
author_rank: Super Contributor
timestamp: November 12, 2024, 09:29:51 am
content: I use VMs for dev work. So no GPU.The only application I choose to reboot the Windows box for and use the 3080 is KiCAD. The reason is the schematic editor and PCB layout editor are both OpenGL accelerated. Using them on the VM works fine, but it's laggy, especially when dragging things, you really feel you are waiting on it all the time. With the GTX3080 it's butter smooth and responsive