QB64.org Forum
Active Forums => QB64 Discussion => Topic started by: mohai on November 19, 2021, 01:32:28 pm
-
Hello all,
First of all, I want to thank Felippe and all the developers of QB64. It is simply great.
I think it is great to give your old Basic applications a new life in newer systems, as QB does not work anymore in modern Windows (although DOSbox exists...).
Well, the issue here is I am working in an application in the IDE for Windows but, I would like to make Linux and MacOS compatible. So, I need a Linux environment to test it.
I managed to get an old laptop (Dell Latitude D310) and have Xubuntu installed on it.
For OS, I chose Xubuntu, as this version is 32-bit and suits perfect for this computer.
The problem is: I cannot get the IDE running. Everytime I open a file, it just closes.
I was able to copy/paste some test into the editor, compile and run but, it just keeps closing from time to time.
Inform does not work either. It just opens, wait for a minute, and then closes. I cannot use it.
I am not sure if the 32bit version of QB64 is stable (I hope so...), or my Linux is buggy or even my computer is failing...
Then, the question is: Which Linux version is suitable for QB64?
I would want a 32 bit version, if possible.
These are the characteristics of my laptop (I hope they are enough for QB64)
- CPU: Pentium M at 1.73 Mhz (Pentium Centrino)
- RAM: 1 Gb
- HDD: 60 GB
Cheers !
-
The Dell Latitude was introduced back in 1994 and is still available. Like all old laptops, they are either superseded or dropped, eventually being no longer supported. But, that being said, this does not mean that the machine is useless. Which distro to use for QB64? I am not QB64 tech but you will need to do some homework. First: You need to know the minimum specifications that QB64 requires and the specifications of the laptop/desktop that is to run QB64. If memory serves correctly, QB64 could run on a WinXP machine... That was 2001 to 2014... I would guess that if your machine was made around then, you may be ok.
According to Wikipedia, Dell Latitude "D" series started at model D400... A lot of the "D" series were recalled due to potential battery problems.
As to the distribution. Linux is very clever at detecting the hardware of its target machine. Just about any distro will run... but on older machines the performance will vary greatly. Lighter versions of Linux were primarily created for "low resource" machines. Xubunu or Lubuntu would be good choices. But will they run QB64? Light versions are light for a reason. A lot of "stuff" has been removed or replaced so as to run on older machines. Even though your machine can run light versions of Linux, I have my concerns, that it may be under-powered to properly run QB... But that's my guess...
The QB64 team will know the minimum requirements for QB64 and should give you a clearer answer than mine.
I hope that I have not caused any confusion...
J
-
Looks pretty good. Could be worth a shot...
-
Q4OS does look good. Kind of looks a little like windows 2000 to me. I’m going to try it on an old laptop of mine.
- Dav
-
@mohai
I agree with @Dav and the others. I would go with what is called a lightweight distro, one that does not need lots of resources like memory or faster CPU's or even large storage devices.
I know many might feel that ranking Linux distro's by weight can be subjective. I agree in part.
So here is a resource that can help you (or anyone else) understand how the the distro's are rated by resources needed:
https://embeddedinventor.com/lightweight-vs-heavyweight-distros-a-comparison/ (https://embeddedinventor.com/lightweight-vs-heavyweight-distros-a-comparison/)
-
I tried the Q4OS Trinity & Plasma versions today from a Live USB Boot, and they both ran OK on my older ThinkPad. I settled using the Q4OS Windows Setup tool to use it alongside my Windows and not worry about re-partitioning anything. Also it will be easy to uninstall it if I want to get rid of it (just run uninstall from windows). I just setup QB64 on it and it runs/compiles fine.
Thanks for sharing the link to Q4OS. Solid distro.
- Dav
-
Thanks, @BSpinoza. That’s cool. I haven’t intstalled Wine yet, but I am dual booting Windows so I haven’t needed it, but maybe will give Wine a try.
I installed both desktops, Plasma and Trinity. I got QB64 working under Plasma, but when I switch desktops to Trinity QB64 wouldnt compile, I had to reinstall the libraries. Didn’t realize the system internals are so different under each.
I prefer Trinity with the Classic Menu system, it’s like Windows 2000 which is my favorite OS.
- Dav
-
Dav,
If you are dual booting, may I suggest, that you forego the installation of Wine. I personally use Wine to run the programs that Linux just does not have. It's rare. But it happens. WineHQ has responses from users running Windows programs via Wine and has a scaled or graded system of how well it runs... Do yourself a favour and run Windows programs on Windows.... My opinion... lol
-
@johnno56: Ok. But I'm so blown away with linux, I probably will wipe out windows all together on this laptop and end up trying Wine. Q4OS plus the XPQ4 Desktop kit discussed here (https://dai-trying.com/tutorials/make-your-desktop-look-like-windows/) suits me perfectly, and I'm not missing windows at all. Not saying I'm done using the windows version I own (Win7), but I'm sure done thinking of upgrading beyond that.
Just to keep this on topic, QB64 works great in Q4OS. _ICON isn't working in it however. @mohai: If your laptop can run the Q4OS 32-bit trinity version, grab the XPQ4 for it too and it will look almost like running windows.
- Dav
-
All Right!
With @Dav switching over to Linux, the market share just went from 5.99% to a full 6% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Nobody cares how much you know, until they know how much you care. --- Teddy Roosevelt
@johnno56: Ok. But I'm so blown away with linux, I probably will wipe out windows all together on this laptop and end up trying Wine. Q4OS plus the XPQ4 Desktop kit discussed here (https://dai-trying.com/tutorials/make-your-desktop-look-like-windows/) suits me perfectly, and I'm not missing windows at all. Not saying I'm done using the windows version I own (Win7), but I'm sure done thinking of upgrading beyond that.
Just to keep this on topic, QB64 works great in Q4OS. _ICON isn't working in it however. @mohai: If your laptop can run the Q4OS 32-bit trinity version, grab the XPQ4 for it too and it will look almost like running windows.
- Dav
-
If we're honest, there's only a few main reasons why people stick with Windows:
1) Microsoft Office. It's honestly not that grand, but folks learn it at work and don't want the hassle of learning a different interface. Nowadays, there *are* ways to get Office on Linux, but many folks aren't willing to take the effort to sort out how to do so, which leads to point two:
2) Plug and Play operation. Not just for hardware, but software as well. For most cases with windows, you download an installer, click it, and it does all the rest. On Linux, it's a case of "sudo apt-get install *various packages*", like mentioned in the original posts above, which leave folks scratching their heads in puzzlement. Plug it in, and it works, is a STRONG selling point for Windows apps and software. Heck, even look at QB64 itself -- our Windows package is 100% ready to go when unzipped; the Linux versions require download of various support libraries which an user may, or may not, already have installed.
3) Version compatibility./portability. Apple obsoletes stuff after just a few generations. Linux swaps important cores and features out regularly. Programs wrote for them today may, or may not, work tomorrow. (Apple has already deprecated OpenGL support. I imagine in a few more OS iterations, it'll end up Obsoleting it completely, rendering QB64 completely unusable on it.) Windows -- regardless of version -- runs the same programs. If your game ran on 32-bit Windows XP, chances are it still runs on Windows 11. An EXE is an EXE, and it's portable to any machine that will run an EXE. A Linux binary.... basically runs on the machine it was compiled on.
IF Linux was "Linux", like Windows is "Windows", everyone would use it. Problem is, Linux is a thousand various branches of different versions of the same thing and no two are promised to be compatible. You can compile on Q4OS, but the binary you create may not run on Ubuntu, Mint, or RedHat...
And it's that uncertainty that keeps most folks from using Linux as their main work machine. After all, at the end of the day, all you want to do is send a simple screensaver you wrote to your niece for X-mas... You don't want to have to send the file AND play tech support for two hours to get it to working properly on her machine. 😉
-
You can compile on Q4OS, but the binary you create may not run on Ubuntu, Mint, or RedHat...
And it's that uncertainty that keeps most folks from using Linux as their main work machine. After all, at the end of the day, all you want to do is send a simple screensaver you wrote to your niece for X-mas... You don't want to have to send the file AND play tech support for two hours to get it to working properly on her machine. 😉
Woah, didn't know that...
- Dav
-
Dav,
Whenever I upgrade to the next version of my OS, I usually install it on another drive, transfer essential files, and then put the old OS aside. My rule of thumb... If I do not access the old OS say for a month or so, then I can recycle the old OS drive. My point being: Retain your dual boot until you find that you are no longer accessing Windows. Then decide as to whether to keep Windows or not...
-
I'd like to add some more detail to what Sam said. I may make a mistake trying to simplify something very technical. I apologize in advance if I make a mistake. Please correct me.
As Sam states, binaries "MAY NOT" run on different distro's, but it isn't because of Linux itself. While I agree Linux isn't a plug and play OS like Windows, ALL distro's use the same kernel from the Linux Foundation (https://www.linuxfoundation.org/ (https://www.linuxfoundation.org/)). Yes, Arch Linux does incorporate the newest release of the kernel, whereas Ubuntu, Mint and others use a stable release behind the latest and greatest.
All else being equal, creating a binary in Ubuntu using GCC should run theoretically on all Linux machines.
What also needs to be considered is your hardware's architecture. Are you running on a i386, i686, amd64 or a x86_64 system? Or are you running on a M1, ARM or armhf hardware? 32-bit or 64-bit system? Maybe even on an older i286 running 16-bit?
When GCC creates the binary, it takes the libraries from your machine instruction set based on your hardware. So if I compile a QB64 program on my x86_64 machine running Ubuntu, you should be able to run it on any distro running on a x86_64 machine, all else (GUI and display server as an example) being the same. If you try to run it on an i386 machine, it will not work. Same goes for a M1 (Apple's ARM processor) or an ARM or ARMhf architecture. Or an i386 running 32-bit instead of 64-bit.
Even GNU says:
We are often asked about pre-compiled versions of GCC. While we cannot provide these for all platforms, below you’ll find links to binaries for various platforms where creating them by yourself is not easy due to various reasons.
Here is a link to a list of specific GCC libraries based on host platforms: https://gcc.gnu.org/install/specific.html (https://gcc.gnu.org/install/specific.html)
If you want to know what processor you are running on in Linux, in a terminal type in "uname -m" and it will display something like x86_64 or i386. And yes, while the i386 instruction set is a subset of the x64 instruction set, you can't run x64 in an i386 architecture.
If you want to read about processor compatibility, an excellent article is: http://www.aliencoders.org/content/basic-information-about-i386-i686-and-x8664-architectures/ (http://www.aliencoders.org/content/basic-information-about-i386-i686-and-x8664-architectures/). This does not
The more libraries that GCC uses in your binary from your architecture type, the less compatible it will be with other systems.
Another factor is whether or not I incorporate GUI components from one Linux distro. Say in Ubuntu I develop a program that uses GNOME for my GUI (gdialog or now Zenity). My binary from Ubuntu will work on Debian and Linux Mint (I've tested this) that use GNOME, but binaries that use the GNOME libraries will not run on Linux distro's that uses XFCE, MATE, OpenBox, LXDE, Cinnamon, Budgie, KDE Plasma, and other GUI libraries. Yes, you can install GNOME on Arch Linux, but why? Only thing I can think of is if you need that compatibility would you do this.
Even if you are running Ubuntu 20.04, your binary may not work on Ubuntu 21.04. I say may not, because 20.04 uses X11, where 21.04 and newer will use Wayland. X11 and Wayland are what is called "display servers," and they also have different libraries that may be pulled into your binary at creation time. I believe Arch Linux has already moved to Wayland, where Ubuntu will do so officially next year with it's 22.04 LTS release, coming sometime in April.
This may be too technical for some, to simplified for others, but I hope this helps in some greater detail on why in Linux binaries may or may not run on different distro's.
-
And that, by Jeorge, is why I stick to Windows! 😁
-
Thanks, @George McGinn for that very informative post. It really helps me start to understand linux under the hood.
- Dav
-
Thank you all for the answers.
I am a rookie at Linux world. I know the basics, and that is all I need for now.
Primarily, I code in Windows but, I would like to test my programs into Linux just to test compatibility.
I got Q4OS installed and let the update process run.
Then, I managed to install QB64, but it did not work.
Installation script was able to install some packages but, when compiling the executable file, I got the error message: "g++ fatal error: killed signal terminated program cc1plus. Compilation terminated"
It took almost 30 minutes to show error message. I think it is too much time to have QB64 compiled, even my laptop is 1.73 Mhz and 1 GB of RAM.
I starting to think my computer is failing somehow or is short of resources.
regards
-
@mohai - Question: What version of Q4OS are you running?
Q4OS is one of the only Linux I know that supports both 32-bit and 64-bit. It's based on Debian 9, or Debian Stretch distro.
If you are running the 32-bit distro, the QB64 might not run, as I think it requires a 64-bit OS. That might explain why it takes so long.
Also, the g++ compiler error that you are getting usually occurs when trying to compile inside a VM and you do not have enough memory allocated to it. If you are trying to install inside a Virtual Machine, try doubling your memory allocation to it. Most compiles will work if you set your base memory to at least 4096MB.
However, you may need even more memory to compile the QB64 install.
Maybe more detail on how you have your system set up will help. I will sometime over the weekend install Q4OS and try to build QB64, but I will only be testing the 64-bit version.
Thank you all for the answers.
I am a rookie at Linux world. I know the basics, and that is all I need for now.
Primarily, I code in Windows but, I would like to test my programs into Linux just to test compatibility.
I got Q4OS installed and let the update process run.
Then, I managed to install QB64, but it did not work.
Installation script was able to install some packages but, when compiling the executable file, I got the error message: "g++ fatal error: killed signal terminated program cc1plus. Compilation terminated"
It took almost 30 minutes to show error message. I think it is too much time to have QB64 compiled, even my laptop is 1.73 Mhz and 1 GB of RAM.
I starting to think my computer is failing somehow or is short of resources.
regards
-
@mohai - Question: What version of Q4OS are you running?
Q4OS is one of the only Linux I know that supports both 32-bit and 64-bit. It's based on Debian 9, or Debian Stretch distro.
If you are running the 32-bit distro, the QB64 might not run, as I think it requires a 64-bit OS. That might explain why it takes so long.
Also, the g++ compiler error that you are getting usually occurs when trying to compile inside a VM and you do not have enough memory allocated to it. If you are trying to install inside a Virtual Machine, try doubling your memory allocation to it. Most compiles will work if you set your base memory to at least 4096MB.
However, you may need even more memory to compile the QB64 install.
Maybe more detail on how you have your system set up will help. I will sometime over the weekend install Q4OS and try to build QB64, but I will only be testing the 64-bit version.
Hello George,
The computer I am working in has an old Centrino CPU and 1 GB RAM so, no 64 option by now.
I am running native Q4OS 4.7. No virtualization.
QB64 is the newest one: 2.0.2. For Linux, there is only 1 package to download, so I hope it is suitable for 32 bits too.
Today, I tried to install from a console session (no login in graphical desktop), but it showed the same error message. This time it took only 1 minute, by the way.
I am not sure if a RAM upgrade could do the trick. Maybe a bigger swap partition or try a "light" version of Linux ?
regards
-
@mohai: Have you been able to get QB64 running yet in Q4OS? Hope you can and start enjoying QB64. I ended up replacing Q4OS with Zorin OS 15 Lite. Using QB64 under Q4OS would result in COPY/PASTE not working system wide for me, and freeze my PC for about 10 secs. It only happens when QB64 was running. When it closed, things would go back to normal. Had some other issues too in Q4OS, so I tried a bunch of other distros - settled on Zorin lite. I doubt Zorin would run on your laptop, but there are some lightweight 32-bit linux distros out there you could try. By the way, just for info purposes, you can skip ReactOS (not linux), although it can run many windows programs it didn't' run any QB64 version I threw at it (on the current ReactOS). Good luck...
- Dav
-
@mohai - Centrino CPU's are still being manufactured and used today (latest iteration is a 2016 model).
So I need more specifics about the processor. Check with this Wiki and let me know: https://en.wikipedia.org/wiki/Centrino (https://en.wikipedia.org/wiki/Centrino)
Also, are you running the Plasma or Trinity desktop? Only the Trinity comes in a 32-bit OS.
Q4OS is a Debian-based Linux, so it should show some compatibility with Ubuntu and Linux Mint (both based on the Debian kernel).
I haven't looked at the install closely for Linux, but I bet there isn't a 32-bit version of QB64 available. @luke or @FellippeHeitor can answer that quicker than I.
Since I do not have a 32-bit processor, I can't really duplicate the issue you are having. I have created a Live Q4OS USB stick so I can test it later today/tomorrow, to see if I have the same issues you and @Dav are having.
Hello George,
The computer I am working in has an old Centrino CPU and 1 GB RAM so, no 64 option by now.
I am running native Q4OS 4.7. No virtualization.
QB64 is the newest one: 2.0.2. For Linux, there is only 1 package to download, so I hope it is suitable for 32 bits too.
Today, I tried to install from a console session (no login in graphical desktop), but it showed the same error message. This time it took only 1 minute, by the way.
I am not sure if a RAM upgrade could do the trick. Maybe a bigger swap partition or try a "light" version of Linux ?
regards
-
We offer a single package for Linux, which will work for both 32 and 64 bit distros, since what will determine that is whatever version of the compiler is fetched at setup (or whatever version of it is already available in one's setup).
-
I wonder then, because Q4OS isn't recognized by the lnx_setup.sh script, does it see it as a Debian distro, or unidentified, which then none of the supporting libraries are installed?
We offer a single package for Linux, which will work for both 32 and 64 bit distros, since what will determine that is whatever version of the compiler is fetched at setup (or whatever version of it is already available in one's setup).
-
I wonder then, because Q4OS isn't recognized by the lnx_setup.sh script, does it see it as a Debian distro, or unidentified, which then none of the supporting libraries are installed?
Well, that is no the case for me.
I was able to (almost) install QB64 using the included script.
I installed Q4OS 4.7 and it is detected as a Debian Linux.
The only issue I had is the C++ error when compiling the executable for QB64.
Earlier, I tried Xubuntu with the same setup and was able to completely install QB64 but, when trying to open a file, the IDE just closed.
I was able to copy/paste some text into it and compile some small programs, but IDE kept malfunctioning.
Inform was not opening also.
-
@mohai - Centrino CPU's are still being manufactured and used today (latest iteration is a 2016 model).
So I need more specifics about the processor. Check with this Wiki and let me know: https://en.wikipedia.org/wiki/Centrino (https://en.wikipedia.org/wiki/Centrino)
Also, are you running the Plasma or Trinity desktop? Only the Trinity comes in a 32-bit OS.
Q4OS is a Debian-based Linux, so it should show some compatibility with Ubuntu and Linux Mint (both based on the Debian kernel).
I haven't looked at the install closely for Linux, but I bet there isn't a 32-bit version of QB64 available. @luke or @FellippeHeitor can answer that quicker than I.
Since I do not have a 32-bit processor, I can't really duplicate the issue you are having. I have created a Live Q4OS USB stick so I can test it later today/tomorrow, to see if I have the same issues you and @Dav are having.
The processor is a Pentium-M running at 1.73 Mhz. The computer is a laptop.
I am running Trinity desktop. Did not try different desktops, by the way.
-
That's the 2003 version of the revamped Pentium III chip.
According to the Q4OS website, you have the minimum requirements to run that version of Linux:
Use the install-cd media for older 64bit as well as 32bit machines.
The minimal hardware requirements:
Plasma desktop - 1GHz CPU / 1GB RAM / 5GB disk
Trinity desktop - 300MHz CPU / 256MB RAM / 3GB disk
As soon as I am done with a PCB design for my wildlife/trail camera (I am looking to replace the processing from a Raspberry PI to a micro-controller, like the PICO or Arduino Uno, but I need to design my own PCB to incorporate the PIR sensor and Camera (There are no connections for the camera module on a PICO) I will run Q4OS on my system to check it out. I suspect that the Q4OS isn't exactly a Debian-based Linux, but I won't know until I run it myself.
The processor is a Pentium-M running at 1.73 Mhz. The computer is a laptop.
I am running Trinity desktop. Did not try different desktops, by the way.
-
We offer a single package for Linux, which will work for both 32 and 64 bit distros, since what will determine that is whatever version of the compiler is fetched at setup (or whatever version of it is already available in one's setup).
Interesting. Would it still mean a QB64 program compiled on a 64-bit Linux OS will only run on a 64-bit Linux OS, and not a 32-bit one? (like the 64-bit exe's in windows won't run in 32-bit windows).
- Dav
-
I don't know how 64bit Linux deals with 32bit Linux binaries.
-
@mohai - I installed Q4OS Gemini Plasma Live on a 256GB flash drive and gave it a try.
I agree with @Dav that it does have a W2K feel to it, but I think that's mainly the KDE Plasma Desktop environment. If you are looking for a straight up Windows replacement, that claims it will be able to run Windows .EXE files, ReactOS is the Linux distro. But beware - it has been in beta for about 5 years.
I have a Dell Optiplex 990 with a i5 4-core CPU, so in testing this distro, I had no speed/performance issues. I even ran several timing tests, and the speed is comparable to Ubuntu, so you will need to make sure you install the version designed for older CPU's. I only tested the 64bit version.
I first tried to run binaries created on Ubuntu in Q4OS, and any that did not use specific GUI's (like GNOME's gdialog/Zenity), etc. worked fine. In fact, I first moved my entire QB64 compiler directories over to Q4OS and ran it with some issues, but the IDE worked and compiled simple BASIC programs. However, I realized right away when I tried to compile my first program, I got an internal compiler error, which stated g++ could not be found. After I installed it, I was able to compile and run programs that used either the CONSOLE:ONLY or the QB64 Screen. The reason g++ wasn't installed I believe had to do with the fact I was running a LIVE version, which would not install any of the libraries needed, like g++. So I manually installed them as they popped up.
I did run into an issue when I tried to compile a program that used Zenity. I then got another internal compiler error, which said "parts/core/glew/include/GL/glew.h:1188:14: fatal error: GL/glu.h: No such file or directory" which meant I needed to recompile QB64 in Q4OS. My program then compiled and Zenity, a GNOME Desktop GUI worked in KDE Plasma! (Probably because Ubuntu and Q4OS are both Debian-based Linux).
I then installed MySQL and ran a test of a large application I'm developing that uses it, gdialog/Zenity, HTML/CSS, C++, and SQL procedures, and after setting up the MySQL region (and having the same pain in the butt setup issues I did in Ubuntu) it worked fine as well.
My suggestion is to recreate any QB64 generated binaries and you should be fine. And since I didn't install Q4OS on my hard drive, I don't know if it installs all the necessary libraries. It did offer me three options at start-up, and one was a lite version, which probably means you need to install g++ and other libraries manually.
In fact, I may create a dual boot with Q4OS as my second OS, as I can test my code on both a GNOME (Ubuntu) and KDE Plasma (Q4OS) environments. (My third will be ARCH Linux, as that is not a Debian-based Linux distro).
Q4OS is a solid distro, from what I was able to do with it so far.
-
Great info @George McGinn. Hats off to you for going through all that to help people out. I've moved to Zorin OS, but I may put Q4OS back on another laptop to play with. It's a good little OS. I was able to eliminate the COPY/PASTE issue I was having with it by not using the XPQ4 desktop enhancement. With XPQ4 the issue appeared, without it all goes well. Maybe it is just a problem with my setup, I dunno.
About ReactOS -- I've played around with it a lot recently (current version). I like it, really hope it continues to develop, but I couldn't get QB64 working on it, the GL, SDL, or @SMcNeill's special stripped-down QB64 version. Compiled programs will start, but only show a blank screen (COSOLE only programs too). That's just my testing, maybe others have better results.
- Dav
-
I didn't mention it, but I did a ton of COPY/PASTE between many different apps, including into and out of the QB64 IDE without any problems.
One thing I did notice was in the QB64 IDE, I could not access the 7 hard drives I have installed when going into FILE to load a program. It seems that in the IDE, I could go down as far as the boot's root, but when I checked the media and mnt directories, my drives were not there. This works fine in Ubuntu. In Q4OS' File Manager, I was able to access all my hard drives, so it wasn't the OS, unless something strange happens with using the LIVE version. I was able to open them, however, in Q4OS' notepad or its gedit equivalent.
Note for all who do not know, but the LIVE version of a Linux distro is basically its full version, but because you are running it from a removable media, not everything may work the way it will once to do a complete install. Some apps will not run from removable media, and some functionality of the OS may be limited. LIVE is a basic "Try before you buy" but in Linux case (except for RedHat) its all open source and free to install and use.
Great info @George McGinn. Hats off to you for going through all that to help people out. I've moved to Zorin OS, but I may put Q4OS back on another laptop to play with. It's a good little OS. I was able to eliminate the COPY/PASTE issue I was having with it by not using the XPQ4 desktop enhancement. With XPQ4 the issue appeared, without it all goes well. Maybe it is just a problem with my setup, I dunno.
About ReactOS -- I've played around with it a lot recently (current version). I like it, really hope it continues to develop, but I couldn't get QB64 working on it, the GL, SDL, or @SMcNeill's special stripped-down QB64 version. Compiled programs will start, but only show a blank screen (COSOLE only programs too). That's just my testing, maybe others have better results.
- Dav
-
We are very fortunate to have someone with your experience here, @George McGinn.
My COPY/PASTE problem was that when QB64 IDE was running then doing COPY/PASTE in other apps would not work, but freeze the OS up when I right clicked to do a paste. Closing the QB64 IDE would cure that however, and not using XPQ4 at all cleared it up for good.
Just out of curiosity I ran a QB64 compiled executable under a Linux install USB boot drive, and it ran fine without having to install any packages. I tried running a 64-bit compiled QB64 program under a 32-bit linux and it didn't run. I'm going to try the reverse and see what happens (run 32-bit compiled QB64 program on a 64-bit linux OS).
Edit: Wow - 'Wine' runs my QB64 compiled EXE's under Linux (win 32-bit ones). That's neat.
- Dav
-
Thanks @Dav -
That's what Wine is supposed to allow - you can run Windows .EXE from a Linux environment without having to leave Linux.
Wine isn't a Windows emulator or even a Virtual Machine. From Wine's website: https://www.winehq.org/ (https://www.winehq.org/)
Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, macOS, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.
Edit: Wow - 'Wine' runs my QB64 compiled EXE's under Linux (win 32-bit ones). That's neat.
- Dav
-
Its kind of funny. For those of us that have dropped Windows for Linux, one of the first things we install, is either a VM or Wine to run Windows programs... Linux since 2005... But I still miss the old DOS and Windows games... Old habits... lol
-
About ReactOS -- I've played around with it a lot recently (current version). I like it, really hope it continues to develop, but I couldn't get QB64 working on it, the GL, SDL, or @SMcNeill's special stripped-down QB64 version. Compiled programs will start, but only show a blank screen (COSOLE only programs too). That's just my testing, maybe others have better results.
I need to correct my React-OS report there, for anyone interested in QB64 in ReactOS. Although Steve's special QB64-SDL 2020 IDE version won't run in ReactOS (the IDE fails to work), I found that compiled EXE's that are made in that QB64 version WILL run under ReactOS.
- Dav
-
@mohai: Have you been able to get QB64 running yet in Q4OS? Hope you can and start enjoying QB64. I ended up replacing Q4OS with Zorin OS 15 Lite. Using QB64 under Q4OS would result in COPY/PASTE not working system wide for me, and freeze my PC for about 10 secs. It only happens when QB64 was running. When it closed, things would go back to normal. Had some other issues too in Q4OS, so I tried a bunch of other distros - settled on Zorin lite. I doubt Zorin would run on your laptop, but there are some lightweight 32-bit linux distros out there you could try. By the way, just for info purposes, you can skip ReactOS (not linux), although it can run many windows programs it didn't' run any QB64 version I threw at it (on the current ReactOS). Good luck...
- Dav
Thank you Dav.
My laptop is running Zorin OS 15 Lite now.
It is not the fastest computer, nor the fastest OS, but it is enough to run QB64 (32bit) on it.
QB64 editor seemed to crash at the beginning, but now it looks stable. I wonder if it is a bug in the Linux 32 bit version ?
Informs seems to work too.
I was able to load some programs, compile and execute them.
Currently, I am working in some "dialog box" routines to open and save files, and I wanted to test in Linux environments.
I already have it working on Windows, but I need to adapt some routines to Linux.
My program has some Inform forms, so I needed a graphical desktop too.
Cheers !
Ivan
-
Woo hoo! Glad you have QB64 running. There is a very helpful Zorin forum if you need assistance with it. Some good tutorials there as well. I'm enjoying Zorin - have it running off a USB thumb drive instead of a HD.
- Dav
-
@johnno56: Ok. But I'm so blown away with linux, I probably will wipe out windows all together on this laptop and end up trying Wine. Q4OS plus the XPQ4 Desktop kit discussed here (https://dai-trying.com/tutorials/make-your-desktop-look-like-windows/) suits me perfectly, and I'm not missing windows at all. Not saying I'm done using the windows version I own (Win7), but I'm sure done thinking of upgrading beyond that.
Just to keep this on topic, QB64 works great in Q4OS. _ICON isn't working in it however. @mohai: If your laptop can run the Q4OS 32-bit trinity version, grab the XPQ4 for it too and it will look almost like running windows.
- Dav
I followed that URL. Those screen shots are amazing. Thanks for sharing your experience.
-
Has anyone tried QB64 with Puppy Linux?
I'm by no means a Linux expert, but I've been using Puppy Linux for a number of years, and had a mostly good experience with it.
I like it because it's small and you can run it off a thumb drive, and there are lots of different versions with different options (geared for older PCs, more compatibility with drivers, different kernels, different desktop interfaces, and for other specialized uses).
You can install it permanently on a PC, and it's small enough that you can install a number of versions on one PC without making a dent in the hard drive space.
Pictured are some of the versions I've tried.
I haven't tried installing QB64 on any of the Puppy Linux distros, and would be curious if anyone has had any success with it.
[ This attachment cannot be displayed inline in 'Print Page' view ]
[ This attachment cannot be displayed inline in 'Print Page' view ]
-
Wow. At least 5 OS's... The most I have ever tried was 2... But, then that was a long time ago, when dual booting on Linux was a bit flakky at times... I was going to say that you must have several hard drives installed but then I remembered that Puppy has a small 'footprint'...
What kind of difficulties have you had with Puppy? I am always looking for a distribution that is the most stable...
-
Wow. At least 5 OS's... The most I have ever tried was 2... But, then that was a long time ago, when dual booting on Linux was a bit flakky at times... I was going to say that you must have several hard drives installed but then I remembered that Puppy has a small 'footprint'...
What kind of difficulties have you had with Puppy? I am always looking for a distribution that is the most stable...
I just created a separate partition (ext3 format) on the hard drive - total HDD on this laptop was 250GB so I took 50GB of that for Puppy, and they all install nicely side by side in the same partition. I use the option where each distro had its own "sessions" where the data files and installed programs are saved to their own file (a sfs file, a kind of virtual partition), where I reserve anywhere from 512MB upto 8GB space for a particular "session". Each session has its own separate customizations and data files which you can back up or roll back by simply copying the SFS file. If you run out of space, you can always increase the size of the SFS. You can also share files between sessions by saving them to the parent partition (outside the session's local SFS partition) if that makes sense. There is also the option to install the OS "directly" to a disk or thumb drive and not use the SFS method, but I kinda like the separation and encapsulation of different sessions.
As for difficulties, certain versions don't work on particular computers - maybe they don't have the right drivers or settings out of the box. I don't have the knowledge or a lot of time to mess with such low level details, but if you know Linux or are good with that kind of thing you can probably troubleshoot. I just deal with it by having a bunch of different versions on bootable thumb drives, and I just try throwing them all at a given PC to see what "sticks". I've been able to get some version of Puppy to work on just about every computer EXCEPT my Microsoft Surface Pro 3, which runs Win 10 Pro and uses bitlocker for its system drive. I tried turning off secure boot and a bunch of other BIOS options, but could never get any version of Puppy Linux (or any other portable OS) to boot on it from a thumb drive. Oh well.
I mainly use Puppy to do utilitarian stuff like repartition drives and just play around with Linux. To be honest, I am not crazy about the interface for any Linux I've tried. I have tried different desktops, but compared to Windows, the behavior and "feel" of the GUI - stuff like clicking / grabbing / resizing Windows, selecting files, etc., is just hard. It's much easier to control the mouse and grab things with it in Windows. That and the lack of all the familiar Windows keyboard shortcuts in the file explorer, really makes it less comfortable for me. I bet that stuff can be tweaked, and I have tried over the years, but haven't found settings that really replicate the feel and ease of a Windows desktop (any version from Windows 9x upto 10).
I have also tried Ubuntu, Mint, Zorin OS, and others. Zorin was supposed to be as close to Windows as Linux gets, but it wasn't even close, and I spent hours and hours just trying to tweak it to replicate the Windows Start Menu / search bar behavior with no luck. That was a few years back, maybe they've improved it, but I don't have a lot of time to mess with that stuff (and besides I much prefer the portable/small OS format like Puppy over a permanent install).
Anyway that's been some of my experience with Puppy and Linux in general. I'd be interested in trying QB64 with Puppy, which would definitely make Linux more useful to me...
Hope this helps.
-
I think I will try puppy linux, since I'm on a distro install binge. Reviews are good. Will try to install QB64 in it.
- Dav
-
Curious - why ext3? Why not ext4?
Yes, indirect block mapping for small files is better, but you can't: use larger filesizes; undelete/recover files; no defragmenting; no directory indexing; multi-blocking is very basic, limit on file sizes due to the blocksize is 32bits, and sub directories limited to a little under 33,000, just to name a few items (I think system journaling is affected too).
I guess it is great for small file systems, but may give you problems if you need features that became available after 2001.
I just created a separate partition (ext3 format) on the hard drive ...
-
[ This attachment cannot be displayed inline in 'Print Page' view ]
J
-
Curious - why ext3? Why not ext4?
At the time I was getting into Puppy Linux (Obama was in his first term, if that gives you an idea) I recall reading EXT4 was still new and somewhat experimental. I tend to be conservative with infrastructure technology features, and dealing with a potentially buggy filesystem and catastrophic failure just ain't my idea of fun, lol. By now EXT4 is probably stable, but the prompts in the Puppy Linux formatters used to say something like EXT4 faster and better but kinda beta. And I'm not up on that stuff, and am like if it ain't broke don't fix it, yadda yadda. LoL
Yes, indirect block mapping for small files is better, but you can't: use larger filesizes; undelete/recover files; no defragmenting; no directory indexing; multi-blocking is very basic, limit on file sizes due to the blocksize is 32bits, and sub directories limited to a little under 33,000, just to name a few items (I think system journaling is affected too).
I guess it is great for small file systems, but may give you problems if you need features that became available after 2001.
It's good to have someone who knows their stuff! I'll set one up with a normal filesystem eventually, to get those benefits, was just describing my own personal setup. The sad thing is I haven't yet really missed any of those features from after 2001, in my experiments with Linux, lol. But thanks for explaining all that!
-
[ This attachment cannot be displayed inline in 'Print Page' view ]
Most excellent!
If EXT4 is mature, there is certainly no reason not to use it.
I wonder why Microsoft doesn't support it natively in Windows in 2021?
(Will Windows 11?)
-
Windows tends to use exFat anymore.
Scalability to large disk sizes: ca. 128 PB (257−1 bytes)[7][nb 2] maximum, 512 TB (249−1 bytes) recommended maximum, raised from the 32-bit limit (2 TB for a sector size of 512 bytes) of standard FAT32 partitions.[8]
Support for up to 2,796,202 files per directory.[2][nb 3] Microsoft documents a limit of 65,534 (216−2) files per sub-directory for their FAT32 implementation, but other operating systems have no special limit for the number of files in a FAT32 directory. FAT32 implementations in other operating systems allow an unlimited number of files up to the number of available clusters (that is, up to 268,304,373 files on volumes without long filenames).[nb 4]
Maximum number of files on volume C, to 4,294,967,285 (232 − 11, up from ca. 228 − 11[nb 4] in standard FAT32).
Free space allocation and delete performance improved due to introduction of a free space bitmap.
Timestamp granularity of 10 ms for Create and Modified times (down from 2 s of FAT, but not as fine as NTFS's 100 ns).[2]
Timestamp granularity for Last Access time to double seconds (FAT had date only).
Timestamps come with a time zone marker in offset relative to UTC (starting with Vista SP2).[9]
Optional support for access control lists (not currently supported in Windows Desktop/Server versions).[10]
Optional support for TexFAT, a transactional file system standard (optionally WinCE activated function, not supported in Windows Desktop/Server versions).
Boundary alignment offset for the FAT table.
Boundary alignment offset for the data region.
Provision for OEM-definable parameters to customize the file system for specific device characteristics.[11][12]
Valid Data Length (VDL): through the use of two distinct lengths fields, one for "allocated space" and the other for "valid data", exFAT can preallocate a file without leaking data that was previously on-disk.
Cluster size up to 32 MB.[13]
Metadata integrity with checksums.[clarification needed]
Template based metadata structures.[clarification needed]
Removal of the physical . and .. directory entries that appear in subdirectories.
exFAT no longer stores the short 8.3 filename references in directory structure and natively uses extended file names, whereas legacy FAT versions implement extended file names through the VFAT extension.
-
I installed Zorin with ext4. QB64 sure does run well in Zorin by the way. Only problem I'm having with ext4 is my old favorite HD backup/cloning tools, like Ghost 11.5, won't handle ext4. I'm trying out other backup tools, but the image dumps are large. Anything like Ghost out there to backup an ext4 partition (under a Windows boot USB) to a compressed drive image?
- Dav
-
Hello,
I tried Bionic Puppy.
I was not able to run QB64 on it. Too much missing packages did not installed, I am afraid.
As I said before, as I am quite a noob in Linux environments so, I do not mean QB 64 cannot run in Puppy Linux. I mean I was not able to have it running.
Zorin is not 100% stable in my computer too.
I think 1 GB RAM is too short to run QB64 or Inform, as they tend to crash from time to time.