With Ubuntu/Kubuntu et al 9.10, the C libraries that a GLBasic executable use are not long (easily) available. It also a pain getting it working on the x64 version of these operating systems
However, after much hunting around, I found this on the Ubuntu forums :
Quotecd ~/Desktop
wget http://frozenfox.freehostia.com/cappy/getlibs-all.deb
wget http://nl.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb
sudo dpkg -i getlibs-all.deb
getlibs -i libstdc++5_3.3.6-17ubuntu1_i386.deb
And if you're using the Gernot's Clipboard routine, you will also need :
Quotesudo apt-get install xsel
An aalternative way of getting the C libraries is to use Jaunty repository at http://packages.ubuntu.com/jaunty/i386/libstdc++5/download (http://packages.ubuntu.com/jaunty/i386/libstdc++5/download)
This will do until either Gernot manages to get all the used libraries statically linked into the executable or more modern libraries are used :whip:
does anyone have a static libC++5.x? please? (GCC 3.3.3)
Its isn't just a compiling flag ?
no. I need the .a file, too.
Has any progress been made on this?
Gernot hasn't had much luck with it...
Quote from: Kitty Hello on 2009-Nov-23
does anyone have a static libC++5.x? please? (GCC 3.3.3)
Do you still need this?
I would. But then, all my SDL libs and such rely on that. I need to throw all the libs away and get totally new ones. The main problem is, that they are so tightly connected that I seem to need a 200 MG package just to get it linking...
MrTAToad: I am curious if you have tried GL compiled games under 10.04 and what steps you had to go through to get it to work?
Normally I would try the beta, but for some reason I haven't downloaded it yet...
Time to get on it :)
Ack, don't do it on my account. I still consider myself a Linux newbie, but I am wanting to move to Linux only. However this thread and the previous one make me question whether GLB is the best choice for Linux.
It's a true shame.
What I actually need is a set of all libraries on a standard ubuntu system, with the symbolic links kept in place.
I don't know if one can get that with ssh or any other way.
If you can help me get the library files to my PC, I'd really appreciate that.
The Cygwin environment does make the symbolic links just a write protected .lnk file and the "comment" is the target IIRC.
Can anyone assist, please?
QuoteIt's a true shame.
I do not know about that, it seems common for Linux. I have never gotten BlitzMax to work properly on Linux which is why I gave BM away. PureBasic works with little effort on Linux, unfortunately, it is not the best solution for games. GLB is the only 3D solution for Linux.
My main GLB concerns are:
1. A previous post seemed to indicate that GLB programs would not work at all under Mandriva which is one of the most popular distros and my personal distro of choice.
2. Ubuntu is very good about bundling nice freeware games as part of the official Ubuntu distro. Unfortunately, with the hunting Toad had to do to find the runtime/lib needed for Ubuntu, it would lessen chances of getting something to be included with Ubuntu, as included programs need to work out of the box on a standard install.
I didn't have any troubles running GLBasic programs on Mandriva when I tried it last year. But that was on a VirtualBox.
I don't think I said that it wont work under Mandriva - its just very hard to find the appropriate libraries. I managed to find some, but not all of the required libraries. This is the problem with different (and completing) systems - libraries get called different things...
If Moru can tell us what libraries need to be installed, that would be good :)
Anyway, with Ubuntu 10, nothing much has changed - same routine as described at the beginning of this post to install everything needed (and use apt-get install for SDL)
Quote from: MrTAToad on 2010-Apr-07
I don't think I said that it wont work under Mandriva -
Apologies, I was referring to this
post (http://www.glbasic.com/forum/index.php?topic=2525.msg18922#msg18922) by Moru.
If I remember right that was due to my program having some windows-specific inline code left in it.
MrTAToad:
1. I am guessing the main problem is tracking the hard to find libs for the old version of GCC that Gernot is using?
2. You also mentioned difficulty under 64 bit versions. Could you extrapolate on this?
With the 64-bit version of Ubuntu, you can't use the standard libraries - you need the 32-bit versions (otherwise things wont work). Which means slightly different files to get install - if I remember correctly, it has -32 at the end of the filename part of the file.
The main problem was finding the correct files (and any dependencies). With Ubuntu its fairly easy (and some nice chappie had written a utility to find the needed files), but with Mandriva and even more so with CentOS, it gets a bit complicated - never did find everything needed unfortunately.
kittie:
You ever thought about a Virtualbox with a fresh Ubuntu?
Maybe I could assist you, but I'm kinda busy so don't expect too much :/
It's more like getting the required files together - the only thing I can suggest is get all the required files from the repository (including all depenacies) and use those. The problem will be getting all the depenancies, although I think they may be listed too
I do have a recent GCC here. But I need all the libraries required. That means I have to get them to my windows PC in the cygwin style. I must copy them with ssh I think. But I have no idea how to do that.
You can install a VirtualBox, install the OS you want, install the share-cd included with VirtualBox and then you can share folders on your windows and just copy files over. Let us know on IRC and someone can guide you :-)
As about finding what files you need, I have no clue... :-)
Quote from: Kitty Hello on 2010-Apr-09
I do have a recent GCC here. But I need all the libraries required. That means I have to get them to my windows PC in the cygwin style. I must copy them with ssh I think. But I have no idea how to do that.
Gernot, would
andLinux (http://www.andlinux.org) be of any help? Unfortunately, it is not using the most recent version of Ubuntu, but it does integrate Linux into Windows in a way that many things on one OS can be accessed by the other OS.
*edit* updated for hyperlink
Yes, I guess andLinux would work also.
MrTAToad: Thank you for taking the time to answer my questions and for sharing your insight.
Quote from: Ocean on 2010-Apr-11
Kuron,
thank you for pointing me to andLinux!
NP, I hope you find it useful.
I am hoping Gernot may find it helpful to do what he needs to do.
Quote from: Ocean on 2010-Apr-21as of yesterday I ditched andLinux. The configuration hassles were no less than just using a Linux client on a VirtualBox emulation. I must admit though, that the andLinux solution is a much thinner one.
Like any distro, it is not for everybody. ;)
The included file contains the deb package needed to get Linux GLBasic programs running. I dont think it includes the clipboard package, but that isn't usually needed...
[attachment deleted by admin]
Great!
From now on at http://www.glbasic.com/files/linux_deb.rar (http://www.glbasic.com/files/linux_deb.rar)
One other thing that isn't included is the SDL library - however, there should be no problem getting that.
Thank you MrTAToad!!
By the way, you've blocked my personal messages - with regards to your query, I only tend to use simple things in Terminal and just stick to the GUI...
Apologies, about that. I have 20/200 sometimes "options" get set improperly :(
Hi everybody,
I've done some testing with the last Ubuntu 11.04 Natty and there is a few step to get GLbasic apps to work properly ;)
I started with a fresh install of Ubuntu.
1 - Install Ubuntu 11.04
So, that's easy, just install the Os. Follow the process.
2. Update Ubuntu
You need to update Ubuntu first. To do this, follow these steps
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade
That's take a while to complete...and the reboot the system
3 - The graphic card
I have an ATI video card, but it's the same with Nvidia.
Ubuntu tells you that there are some owner drivers of your card. Install them. If Ubuntu doesn't say anything, just go in the system properties and click on the "Other drivers" option to install them.
4 - Installing free and non-free codec
I've installed some codecs before try running a GLBasic program. These codecs let you play some multimedia files like mp3, video etc..
To do all of these, we use the medibuntu repo. I give you a link that explain you how to use Medibuntu repo. Be aware that for some codecs there is a legal notice, depend of the country you are :
https://help.ubuntu.com/community/Medibuntu (https://help.ubuntu.com/community/Medibuntu)
5 - And that'all ?
Yes ! that's all, you don't need anything else. SDL en stdc++ are already installed :) you can now enjoy GLBasic App under Linux :)
I tested this on my PC (AMD x64) with Ubuntu 11.04
Have fun and Happy GLB !
I recently installed Ubuntu 13.04 x64 & I get the following error
./lesson_thirteen.linux: error while loading shared libraries: libSDL_mixer-1.2.so.0: cannot open shared object file: No such file or directory
SDL Mixer is installed including the dev package so naturally I assume it is the x64 version. Obviously building my own from the SDL source creates a x64 version as well. A google search lead me to some Ubuntu forums with regards to installing 32bit libs by appending :i386 to the end of the required package (used to have a different ending but changed in V11 or 12 of ubuntu).
After entering
sudo apt-get install libsdl-mixer1.2:i386
everything works fine.
A WORD OF WARNING: DO NOT INSTALL THE 32bit DEV FILES OTHERWISE IT WILL WANT TO REMOVE A LOT OF PACKAGES.
for example entering
sudo apt-get install libsdl-mixer1.2-dev:i386
comes up with this
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libaubio2 libbcmail-java libbctsp-java libboost-chrono-dev
libboost-date-time-dev libboost-filesystem-dev libboost-graph-dev
libboost-graph-parallel-dev libboost-iostreams-dev libboost-locale-dev
libboost-math-dev libboost-mpi-dev libboost-program-options-dev
libboost-random-dev libboost-regex-dev libboost-serialization-dev
libboost-signals-dev libboost-system-dev libboost-test-dev
libboost-thread-dev libboost-timer-dev libboost-wave-dev libcloog-ppl1:i386
libdbus-1-dev libflac-dev libgcc-4.7-dev:i386 libgconfmm-2.6-1c2
libgmp10:i386 libgmpxx4ldbl:i386 libgomp1:i386 libgoocanvas-common
libgoocanvas3 libgtkglext1 libgtkimageview0 libitm1:i386 liblensfun-data
liblensfun0 libmikmod2-dev libmpc2:i386 libmpfr4:i386 libogg-dev
libpcre3-dev libpcrecpp0 libppl-c4:i386 libppl12:i386 libquadmath0:i386
libsdl-gfx1.2-4 libsdl-sound1.2 libsdl-stretch-0-3 libsmpeg0 libtiff-tools
libvamp-sdk2 libvorbis-dev linux-image-generic mypaint-data openshot-doc
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
jackd1 jackd1-firewire libasound2-dev:i386 libavahi-client-dev:i386
libavahi-common-dev:i386 libbz2-1.0:i386 libc6-dev:i386 libcaca-dev:i386
libdbus-1-dev:i386 libdrm-dev:i386 libflac-dev:i386 libgl1-mesa-dev:i386
libglib2.0-dev:i386 libglu1-mesa-dev:i386 libjack0 libkms1:i386
libmad0-dev:i386 libmikmod2-dev:i386 libogg-dev:i386 libpcre3-dev:i386
libpcrecpp0:i386 libpng12-dev:i386 libpthread-stubs0:i386
libpthread-stubs0-dev:i386 libpulse-dev:i386 libpulse-mainloop-glib0:i386
libpython-stdlib:i386 libpython2.7-minimal:i386 libpython2.7-stdlib:i386
libreadline6:i386 libsdl1.2-dev:i386 libslang2-dev:i386 libvorbis-dev:i386
libx11-dev:i386 libx11-doc libx11-xcb-dev:i386 libxau-dev:i386
libxcb-dri2-0-dev:i386 libxcb-glx0-dev:i386 libxcb1-dev:i386
libxdamage-dev:i386 libxdmcp-dev:i386 libxext-dev:i386 libxfixes-dev:i386
libxxf86vm-dev:i386 linux-libc-dev:i386 mesa-common-dev:i386 python:i386
python-minimal:i386 python2.7:i386 python2.7-minimal:i386 zlib1g-dev:i386
Suggested packages:
libasound2-doc:i386 glibc-doc:i386 manpages-dev:i386 libglib2.0-doc:i386
libxcb-doc:i386 libxext-doc:i386 python-doc:i386 python-tk:i386
python2.7-doc:i386 binutils:i386
Recommended packages:
gcc:i386 c-compiler:i386 libx11-doc:i386
The following packages will be REMOVED
a2jmidid activity-log-manager-control-center agave aisleriot
apt-xapian-index apturl ardour build-essential compiz compiz-gnome deja-dup
deja-dup-backend-gvfs deja-dup-backend-ubuntuone dkms duplicity
ffado-mixer-qt4 ffado-tools fglrx-amdcccle-updates fglrx-updates
flashplugin-installer font-manager g++ gcc gccxml gconf2 gedit gimp
gimp-cbmplugs gimp-gap gimp-gmic gimp-plugin-registry gimp-ufraw gladish
gnome-sudoku gnome-terminal gnome-terminal-data gnome-user-share
gstreamer0.10-gconf gtk-recordmydesktop hplip hplip-data ibus ibus-pinyin
ibus-table inkscape invada-studio-plugins-lv2 jack-mixer jack-rack jackd2
jackd2-firewire ladish laditools landscape-client-ui-install
libasound2-plugins:i386 libavahi-client-dev libavahi-common-dev
libbcprov-java libbonoboui2-0 libboost-all-dev libboost-mpi-python-dev
libboost-mpi-python1.49-dev libboost-mpi-python1.49.0 libboost-python-dev
libboost-python1.49-dev libcaca-dev libdrm-dev libgcj-common libgl1-mesa-dev
libglib2.0-dev libglu1-mesa-dev libgnome-vfs2.0-cil libgnome2-0
libgnome2-bin libgnome2-common libgnome2.24-cil libgnomeui-0 libgnomevfs2-0
libgnomevfs2-common libgnomevfs2-extra libitext-java libjack-jackd2-0
libjack-jackd2-0:i386 libmad0-dev libpng12-dev libpulse-dev libpurple-bin
libreoffice-gnome libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev
libsdl-sge-dev libsdl-sound1.2-dev libsdl-stretch-dev libsdl-ttf2.0-dev
libsdl1.2-dev libslang2-dev libsmpeg-dev libswt-gnome-gtk-3-jni
libsyncdaemon-1.0-1 libx11-xcb-dev libxdamage-dev libxfixes-dev
libxxf86vm-dev lightdm-remote-session-uccsconfigure lv2fil mesa-common-dev
monodevelop monodevelop-debugger-gdb mypaint nautilus-share oneconf
oneconf-common open-vm-dkms openshot printer-driver-postscript-hp
printer-driver-sag-gdi python python-appindicator python-apt
python-aptdaemon python-aptdaemon.gtk3widgets python-cairo python-central
python-changesettings python-chardet python-configglue python-crypto
python-cups python-cupshelpers python-dbus python-debian python-debtagshw
python-defer python-dev python-dirspec python-enum python-fpconst
python-gconf python-gi python-gi-cairo python-glade2 python-gnomekeyring
python-gobject python-gobject-2 python-gtk2 python-httplib2 python-ibus
python-imaging python-imaging-compat python-laditools python-libxml2
python-lxml python-mako python-markupsafe python-minimal python-mlt5
python-notify python-numpy python-oauthlib python-oneconf python-openssl
python-pam python-pexpect python-piston-mini-client python-pkg-resources
python-protobuf python-pyasn1 python-pycurl python-pygame python-pygoocanvas
python-pyinotify python-qt4 python-qt4-dbus python-renderpm python-reportlab
python-reportlab-accel python-serial python-sip python-six python-smbc
python-support python-tk python-twisted python-twisted-bin
python-twisted-conch python-twisted-core python-twisted-lore
python-twisted-mail python-twisted-names python-twisted-news
python-twisted-runner python-twisted-web python-twisted-words
python-ubuntu-sso-client python-ubuntuone-client
python-ubuntuone-control-panel python-ubuntuone-storageprotocol
python-uniconvertor python-xapian python-xdg python-zeitgeist
python-zope.interface python2.7 python2.7-dev python2.7-minimal
python3-oneconf rhythmbox rhythmbox-mozilla rhythmbox-plugin-cdrecorder
rhythmbox-plugin-magnatune rhythmbox-plugin-zeitgeist rhythmbox-plugins
rhythmbox-ubuntuone scribus sessioninstaller software-center
software-center-aptdaemon-plugins system-config-printer-common
system-config-printer-gnome system-config-printer-udev texlive-extra-utils
totem totem-mozilla totem-plugins ttf-mscorefonts-installer tuxguitar
tuxguitar-alsa tuxguitar-oss ubuntu-desktop ubuntu-release-upgrader-gtk
ubuntu-sso-client ubuntu-sso-client-qt ubuntu-system-service
ubuntuone-client ubuntuone-client-gnome ubuntuone-control-panel
ubuntuone-control-panel-qt ubuntustudio-audio ubuntustudio-audio-plugins
ubuntustudio-controls ubuntustudio-graphics ubuntustudio-publishing
ubuntustudio-recording ubuntustudio-video unity unity-scope-musicstores
unity-tweak-tool update-manager update-notifier update-notifier-common vuze
yafaray-exporter zeitgeist zeitgeist-core zeitgeist-datahub zynjacku
The following NEW packages will be installed
jackd1 jackd1-firewire libasound2-dev:i386 libavahi-client-dev:i386
libavahi-common-dev:i386 libbz2-1.0:i386 libc6-dev:i386 libcaca-dev:i386
libdbus-1-dev:i386 libdrm-dev:i386 libflac-dev:i386 libgl1-mesa-dev:i386
libglib2.0-dev:i386 libglu1-mesa-dev:i386 libjack0 libkms1:i386
libmad0-dev:i386 libmikmod2-dev:i386 libogg-dev:i386 libpcre3-dev:i386
libpcrecpp0:i386 libpng12-dev:i386 libpthread-stubs0:i386
libpthread-stubs0-dev:i386 libpulse-dev:i386 libpulse-mainloop-glib0:i386
libpython-stdlib:i386 libpython2.7-minimal:i386 libpython2.7-stdlib:i386
libreadline6:i386 libsdl-mixer1.2-dev:i386 libsdl1.2-dev:i386
libslang2-dev:i386 libvorbis-dev:i386 libx11-dev:i386 libx11-doc
libx11-xcb-dev:i386 libxau-dev:i386 libxcb-dri2-0-dev:i386
libxcb-glx0-dev:i386 libxcb1-dev:i386 libxdamage-dev:i386 libxdmcp-dev:i386
libxext-dev:i386 libxfixes-dev:i386 libxxf86vm-dev:i386 linux-libc-dev:i386
mesa-common-dev:i386 python:i386 python-minimal:i386 python2.7:i386
python2.7-minimal:i386 zlib1g-dev:i386
0 upgraded, 53 newly installed, 256 to remove and 0 not upgraded.
Need to get 21.6 MB of archives.
After this operation, 658 MB disk space will be freed.
Do you want to continue [Y/n]?
As you can see it would cause a lot of problems to your install.
If you distribute your app/game etc on Linux (ubuntu that is as not sure on other distro's) it might be worth mentioning the need for the 32bit SDL_Mixer if they are running an x64 system.
Lee
So with this it can run on 64bit linux? Cool I always though we are limited to 32bit linux.
It's still a 32bit program obviously but that's all I had to type to get it working. I'm running GLB in windows XP via VMWARE player & assigned a shared directory so I can compile straight to the directory on the linux host without messing about making it in windows then rebooting into linux etc etc.
Lee
A lot of the packages that GLBasic Linux programs needs are no longer supported - getting the required files are certainly problematic now unfortunately. Gernot did try with the lastest library files, but there were... problems...
Quote from: MrTAToad on 2013-May-24
A lot of the packages that GLBasic Linux programs needs are no longer supported - getting the required files are certainly problematic now unfortunately. Gernot did try with the lastest library files, but there were... problems...
One command worked for me so maybe it was luck with the current version of Ubuntu. It did download another 7 or 8 packages along with sdl_mixer x32 but no more than a couple of MB's worth total.
With regards to your post about the latest libraries, are you referring to x64 versions or other distro's like Redhat/Suse/Debian etc.
It would be interesting to know what required files GLB needs for Linux are getting problematic to obtain, purely for an inquisitive point of view. I just installed Purebasic as well & that was fun with it's dependencies, however that is a native app unlike GLB so expected some hassle in that department :D
Lee
Its mainly the C/C++ library - it is now rather difficult to get.
Since some time almost everything is included, only needed packages are the SDL mixer ones. At least thats the experince that i made with Ubuntu related distros.
It will try to install the C library too if needed - the problem being the latest one isn't compatible and by default older versions are not longer available...
Its even worse with the 64-bit version of Ubuntu...
(https://lh3.googleusercontent.com/-dZwOotfGDI0/UhYMy6RRJ4I/AAAAAAAADwY/pXchy-iPSd4/s400/Captura%2520de%2520pantalla%25202013-08-22%2520a%2520la%2528s%2529%252015.17.03.png)
Hi! I just downloaded yesterday last Ubuntu 13.4 for Dekstop (32).
3 Steps for run app on Linux:
1.- Installed Linux OS on Virtual Machine.
2.- Open Ubuntu App Updater and find for SDL Mixer and install it. (Clic on option for advanced packages).
3.- Open terminal, go to path of GLB app and type "./gameglb.linux".
And volià! App working! (compiled with GLB 11.414) :)
My 2 questions:
1.- How add working icon on Linux?
2.- How make auto run app (2 clics) to avoid Terminal use?
Thanks!
Take a look here Hark0... I think whit this steps are possible, I read only the first part and I think it's you needed...
http://www.ubuntugeek.com/how-to-add-an-icon-to-apps-in-ubuntus-application-menu-that-only-show-a-generic-icon.html
Last time i tríed it, doubleclick did work after i did set the file to executable. But im at work, so cant try.
Yes, it is something that needs to be set on the executable
For Ubuntu 13 on a MacBook Pro 9.1 (64 bit):
sudo apt-get install libsdl-mixer1.2:i386
sudo apt-get install libstdc++5:i386
sudo apt-get install libgl1-mesa-glx:i386
Last line might vary depending on your video card.
For future reference if I get troubles...
QuoteYou must to intall SDL libraries in Linux to execute GLB apps.
Type this lines in the console:
sudo apt-get install libstdc++5
sudo apt-get install libsdl1.2
sudo apt-get install libsdl-image1.2
sudo apt-get install libsdl-mixer1.2
From this thread by hardyx:
http://www.glbasic.com/forum/index.php?topic=9699.msg84271#msg84271
Hi guys are you doing this under Virtualization?¿...
I'm in Vmware and I have this... But when I stay in Mac with Paralels was the same...
I have this error when I want run a Linux app... under Terminal... clicking over the Icon don't runs...
timer
rbow
rbow init
VSync unsupported on old SDL versions (before 1.2.10).
SDL_init video
SDL_GetVideoInfo = 1280x800 @ 32 bpp. Screen 640x480
Requested SDL_OPENGL = 2
Requested double buffer
set up SDL for OpenGL mode
Setting video mode: 640x480x24 fl=2
SetVideoMode failed: Couldn't find matching GLX visual
INIT: Unable to create BPP -> trying 16.
Couldn't set GL mode: Couldn't find matching GLX visual
Segmentation fault (core dumped)
Update sdl?
I done all Steps Rober... really I don''t know what's happends...
It's curious the GLX I think it's possible to test.. well when I did the terminal said something like I don't have OpenGl... But I installed Nvidia Drivers...
I think all the problem it's because it's virtualized... This weekend I try to put inot a laptop this same Linux and then I comment...
Quote from: mentalthink on 2013-Dec-24
I think all the problem it's because it's virtualized... This weekend I try to put inot a laptop this same Linux and then I comment...
I don't know VMWare, but virtualbox has an option called "supporting drivers" or something like that. It fixes video problems (for me).
On the other hand, you could just run Ubuntu from a USB stick and try it from there.
Some virtual systems dont support the required BPP that GLBasic needs unfortunately - you really need to install addition drivers if possible.
Any try compiled GLB app on SteamOS? (debian)
Not yet!
Ok I think will use Virtual Box... I think the market of Linux can be ver interesting, in Unity they are doing a bit of advertising to this forget platform... I think now we can see a wave of developers into Linux...
Perhaps in some years Windows goes to Shi.=D, I think the most important part of a comercial S:O are the games, ins't, so this was the reason of Windows win the battle in the 80's (I suppose have another hidden reasons)
I think there will always be Windows. Even if M$ go under (unlikely but who knows) someone will pick up the ball & run with it as you cannot ignore such a huge user base in both public & business sectors.
Unless you build a PC yourself 99.9% chance it comes with Windows on it, the shear amount of software available with no equivalents on other platforms plus loads of other reasons will see it keep on going.
Don't get me wrong or think I am all for M$ because I'm not. While Linux has made great improvements with regards to user accessibility it can still be a major pain in the arse with regards to hardware & software. I remember last year I was trying out about 5 different distro's & even though they was all based on the same kernel my wireless card was only recognised on 3 of them plus other hardware/driver issues. I managed to resolve the issues only because of years of unix/linux experience but a noob would have had severe trouble sorting it out.
With Windows & Macs you buy/download software & it works but alas on linux it's sometimes hit & miss, are you running KDE/Gnome/etc & have you got QT/GTK & so on which again is hardly welcoming for new users.
Those problems were not down to linux that much but the hardware manufacturers not releasing drivers or the code so a linux driver could be written.
If my 3D apps plus music apps (along with my VST's & other virtual instruments) had equivalent linux versions I would be tempted to switch.
With regards to stability I can honestly say that I have never seen a "Blue screen of death" on my system since using Win7 & had quite a few crashes with ubuntu before switching to Mint (again probably due to driver issues). One downside with Windows is threats from viruses etc but that threat will always be there on the system with the biggest market share, even in the 16bit era there was more Amigas than ST's & the Amiga got the higher share of viruses on it.
Linux & OSx have quite a few security updates on a regular basis so it would be interesting how secure they are if Windows vanished & they where the target of all the hackers. I'm sure they would fare better than Windows but with that amount of hackers going at it like on Windows quite a few weaknesses will be found I think.
Lee