I have an old computer (Windows XP), that I rarely use, and I'm thinking of loading Linux (light) Ubuntu on it...
Why should I, or shouldn't I do this?
As a programmer (not just NES), what programs should I consider installing on a Linux system?
Depends on the specific CPU and amount of RAM.
I was using an Athlon Thunderbird up until 2012; around then I gave up fighting because "everyone" seems to have concluded that machines without SSE2 support weren't good enough anymore.
As far as I'm aware, most PCs that ran Windows XP were shipped prior to 2007, when Windows Vista became the default. Some people specifically bought Windows XP or exercised downgrade rights to avoid serious defects in Windows Vista RTM (which were fixed in SP1 "Mojave"), but I imagine they're nowhere near the majority. So with pre-2007 hardware, I'll guess that the default Ubuntu installation with the Unity desktop environment may be too heavy and/or too unfamiliar. If you're going the Ubuntu route on a PC that once ran Windows XP, you'll probably want either Xubuntu (which I use) or Lubuntu depending on how much RAM you have. When I put an SSD in my laptop and reinstalled Xubuntu about a month ago, I took notes in
Xubuntu_setup.md.
After you've installed Xubuntu from the DVD or USB drive, you can use
apt to install free software from the Ubuntu repository. What you need to install depends on what languages you plan to use, but this should give you C++, Python, and 6502 assembly language, as well as ability to participate in #nesdev on EFnet. Make sure you're not on a slow or capped Internet connection; if your connection at home is slow or capped, carry your PC into a library or restaurant.
Code:
sudo sh -c "apt update && apt dist-upgrade"
sudo apt remove flashplugin-installer
sudo apt install build-essential gimp hexchat oidentd vorbis-tools audacity python3-numpy python3-pil idle3 ffmpeg sqlite3 sqlitebrowser advancecomp gksu ghex gnome-font-viewer retext git git-svn scons libsdl-image1.2-dev libgtk2.0-dev libgd-dev liblua5.1-0-dev wine
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb
# Nothing after this point requires root
git config --global user.email "dougeff@example.com"
git config --global user.name "Doug Fraker"
mkdir ~/develop
cd ~/develop
git svn clone svn://svn.code.sf.net/p/fceultra/code/fceu/trunk fceux
git clone https://github.com/cc65/cc65.git
# Nothing after this point requires an Internet connection
cd cc65
nice make -j2
make install prefix=~/.local
which cc65
cd ~/develop/fceux
nice scons -j2
scons --prefix=$HOME/.local install
So you're compiling cc65? There's no binary I can download?
There is a
very old snapshot of cc65 available via apt (
http://spiro.trikaliotis.net/debian )
There's a somewhat newer one via PPA (
https://launchpad.net/~david.given/+archive/ubuntu/ppa )
But you'll probably be happier with the results of just using git and compiling it.
That seems to be a big difference between a Windows paradigm and a *nix paradigm; with Windows, you're expected to provide precompiled binaries, and with *nix, users are expected to compile things themselves. These two things could be
more different from each other, but not by very much.
This desktop computer I'm using originally had XP on it and I'm running Ubuntu 14.04. It seems like recent updates expect newer hardware. Firefox seems to have a serious task-scheduling problem sometimes and it won't respond for several seconds at a time, but the other programs seem to be mostly free of that problem. Someone on another forum said, "Yeah, firefox has a serious memory leak." My son offered me a separate graphics engine card to plug in which he thought might improve the performance a lot, especially with videos, since it would take the burden off of the older onboard graphics hardware. So far I have not tried it though. He worked very successfully for a managed-services provider for a couple of years, installing and maintaining networks for schools, churches, and medical offices, and said it was always easier to troubleshoot and fix things if he took a Linux live CD with him instead of trying to use Windows, in the cases that he had to actually visit the client, cases where something was down so he couldn't fix the problem over the internet.
As for Linux itself, I was very glad to find it 10 years ago or so. When I used Windows, I was angry with the computer all the time. It wasn't worth my health. When I went to Linux, 90% of my computer problems evaporated, as did most of the required computer-maintenance time. All the software I've used is free, too, and I've never had to re-install anything to keep it running. I've never had any trouble with viruses, malware, etc. under Linux. I started with Linspire, and everything just worked. It was wonderful. They had the click-n-run software library to download thousands of new software titles, free, and installations were much easier than Windows software. (The Ubuntu equivalent is called the "Ubuntu Software Center," and installation of any new program is quick and automatic.) Soon however, Linspire got bought out by Xandros which dropped support. (I think Xandros is gone now too.) At the time, is looked like Ubuntu was emerging as the leader in desktop Linux, so I went to that. It was all great too; but it seems like in recent years it has been getting harder to use rather than easier. One that has been recommended to me is Linux Mint which I can't say I've tried so far. It's supposed to be one of the very easiest to use.
If you wanna play games on it Steam works quite well on Ubuntu too, and a lot of games get Linux releases now. ("AAA" titles tend to be an exception, but it seems like a lot of indie games now, esp. using game engines that support Linux tend to get Linux support on Steam.)
The lack of AAA support on Linux must have something to do with popular graphics card manufacturers being unwilling to support Linux the same as other platforms, along with how often they need to be competitive with other technologies, leading to everything being proprietary and having weird DRM-like unlocking mechanisms and other fun stuff.
However, if you're not trying to be the most cutting-edge thing on the market, you can just use a cross-platform platform library like SDL, SFML, Allegro, etc, which all support the most common things you're going to be doing as a game running on something PC-like, hence why there's a lot more indies using it, hence the larger Linux support.
It's like a fight between two incompatible ecosystems. You can have the open ecosystem where everyone shares and works together (for better or for worse), or the competitive ecosystem where there's much more rapid development at the cost of everything being closed and proprietary. Both are necessary though, but you'll never see them together.
Linux simply has a low market share, and every platform you target has a maintenance cost. That's the biggest reason.
A lot of "AAA" games don't even bother with PC and just go for consoles. The usual explicit justification for this is the relative prevalence of piracy, though there are myriad other reasons. Often the PC version comes out later when sales of the console version have dropped, trying to mitigate the effects of a pirated PC version from competing with the console version.
Linux is basically the same issue in that respect as PC vs console, but with even lower expected return (a low fraction), and higher expected development/support cost. (Poor Linux graphics driver support is part of that higher maintenence cost, too, but it's far from the only problem there.)
All that said, now and then some big titles do squeak through. Not all publishers feel this way. (See: XCom 2, Deus Ex, Civ V, Alien Isolation, etc.)
Drag wrote:
The lack of AAA support on Linux must have something to do with popular graphics card manufacturers being unwilling to support Linux the same as other platforms
NVIDIA builds its Linux and Windows drivers from the same source, except for the small bit that talks to the OS.
Another reason for AAA games not getting ported is that Linux users are seen as cheapskates. "If you're unwilling to pay for an operating system, how are you willing to pay for our game or for the non-Intel GPU and the other assorted hardware upgrades that PC games in general tend to require?"
Drag wrote:
along with how often they need to be competitive with other technologies, leading to everything being proprietary and having weird DRM-like unlocking mechanisms
Some of the digital restrictions management stuff is there for compliance with Microsoft PlayReady technologies that Hollywood studios require before they become willing to release their feature films in a PC-compatible format. The higher the resolution (480p vs. 1080p vs. 2160p), the stronger the required DRM.
rainwarrior wrote:
Linux simply has a low market share, and every platform you target has a maintenance cost.
The conventional wisdom over on Slashdot is that if you're already spending the "maintenance cost" to target macOS, targeting another OpenGL/POSIX system (GNU/Linux) doesn't incur much additional "maintenance cost."
I think Linux gamers actually, on average, have better hardware as they're people who take computing seriously. I know my build is an 8350+GTX 1070SC+32GB RAM+512GB SSD. Not spending $130 on Windows is just a cherry on top.
There's many games, like said.
AMD is a disaster on Linux, and the driver devs are fine, it's just management of their driver priorities now. They have to stop porting drivers, and make linux the first priority. They're going through a transition (Same as the last 4 years, lol.) to a new driver, blah blah blah. AMD is a disaster on Linux still, and isn't going to be better for at least 1-2 more kernel versions. Nvidia > Intel > AMD for quality of drivers. AMD has lots of hardware potential if their software ever catches up to it, though. Drivers otherwise are 10/10, I have fewer issues on Nvidia's proprietary driver than my friend running a similar build with the same card on Windows, so eh. They did break their driver a few versions ago, but it was a quick fix from them.
As for a Linux OS, Ubuntu is bad IMO. Everything gets outdated quick in Linux land, and Ubuntu is a turtle for updates. I've also had less updates break stuff on Arch then Ubuntu or Mint, so I'd recommend something like Antergos, at least on new hardware that you don't wanna maintain as much or need it to work. I'd probably suggest Mint XFCE for older XP-like hardware, if not just replacing it with a $60 AIO tiny PC. I run Mint on my laptop since the hardware doesn't need new kernels or anything, and it just works. It's more just preference, but Ubuntu's Mir and Snap packages is a good reason not to support it for me. I'll probably not be on Mint for long, either, for the same reason.
Thanks for the input.
OS change is a big decision, so I appreciate the help.
I didn't see anyone say 'Don't do it', but that might just be unique to NESDEV...plenty of Linux users.
tepples wrote:
rainwarrior wrote:
Linux simply has a low market share, and every platform you target has a maintenance cost.
The conventional wisdom over on Slashdot is that if you're already spending the "maintenance cost" to target macOS, targeting another OpenGL/POSIX system (GNU/Linux) doesn't incur much additional "maintenance cost."
MacOS also has a low market share, though not quite as low as Linux. It gets targeted slightly more often than Linux, but I think it's true that most games that get a Mac port also get a Linux one these days. Again, though, the vast majority of this is just because they are using a ready-made engine that already had Linux support (e.g. Unity, GameMaker).
As for the meaning of maintenance cost, some of the additional programming work can be shared solution for both Mac/Linux, yes, but only some of it, and there's a lot of other relevant work/cost besides just programming. I strongly disagree with the idea that it doesn't occur "much" additional maintenance cost, but it's really a matter of how much, and what you think you have to gain (or lose).
With non-commercial/open source/free stuff a
lot more of the testing and support burden can be reasonably/ethically shifted to users, which helps a lot getting things to other platforms too.
dougeff wrote:
I didn't see anyone say 'Don't do it', but that might just be unique to NESDEV...plenty of Linux users.
I use Windows primarily, but I'd personally love to see a market shift toward Linux.
rainwarrior wrote:
I use Windows primarily, but I'd personally love to see a market shift toward Linux.
Same here. I don't have a good history with Linux, considering that the one time I used Ubuntu as my main OS things broke down randomly after updates (I started having to mount external drives manually, for example), and since I didn't have the knowledge to fix these issues I just gave up on Linux. But I imagine that if more people used Linux, these problems would happen less often.
After using Windows 10 for a couple of weeks, I can say with confidence that I don't like the direction Windows is headed to, and if many of the programs I absolutely need to use weren't for Windows, I'd probably give Linux another try.
I'd consider Linux a lot more quickly than I'd consider Mac, since I already have the programming inclination, and already have more experience with Linux than I do with Mac. Most of the day-to-day stuff I do on computers runs through a web browser anyway, so it'd just be when it's time to do art, or code, or pixelling that things would change.
The thing I don't want to care about is compiling my OS or manually fixing it when it breaks, and having a smaller support base when I need help. Everyone knows how Windows works, but there's so many different flavors of Linux that it feels like you'd be left hanging a lot more quickly if you don't have a common distro and a common setup. Maybe those are unfounded fears, but they're still my first impressions as a long-time Windows user.
tokumaru wrote:
I can say with confidence that I don't like the direction Windows is headed to
Ever try Windows 8?
I'm using Linux as my main OS for about 10 years, and I rarelly need to use Windows.
It all begun when my older kid started to want to use the PC for websurf.
I needed to format it a couple of times per week.
Then me and my wife decided to go Linux.
I was very insane and started using Slackware!!
It was really fast, but updates were just a nightmare!!
Then I tried Conectiva, then Mandrake, then Mandriva and stopped at Ubuntu.
I really missed the old Gnome interface, but I become happy with Mate!
We had many difficulties at the begining and many things just broke after updates, specially with Ubuntu.
But now it's nice! And I can even have a multiseat PC with no aditional software!!
As a big user of Windows shortcut keys, Linux is far too different for me. Can't hit WindowKey+R, "explorer", Enter on linux. Instead you need to know which of the many file managers you currently have installed. Is it Nautilus? Konquerer? Caja? Dolphin?
I have such strong muscle memory for the Windows XP way of doing things. Even Windows 10 feels weird.
I've used Linux exclusively for the last 8+ years, so I'd say yes, obviously.
My two points of advice for anyone looking to try it out for the first time would be 1) don't use Ubuntu and 2) don't use AMD hardware, as either will result in stuff randomly breaking every few
days minutes.
If you want a stable distro and don't want to compile everything yourself, I'd suggest Debian. There's a bit of a learning curve, but nothing too steep, and it has a large and stable repository of precompiled packages (including mednafen, FCEUX, Nestopia and xa65, for fellow NESdev-ers) that can be installed at the click of a button.
Dwedit wrote:
As a big user of Windows shortcut keys, Linux is far too different for me. Can't hit WindowKey+R, "explorer", Enter on linux. Instead you need to know which of the many file managers you currently have installed. Is it Nautilus? Konquerer? Caja? Dolphin?
I have such strong muscle memory for the Windows XP way of doing things.
You know, one of the advantages is that you can customize everything. From keys to adding aliases like "explorer".
Customizing is annoying when you format frequently...
Once you get your system configured you can create a git repo in your home directory and upload your config files to github. Saves a bit of time if you ever reformat.
Why would you ever format a Linux computer? It's not like it gets corrupted regularly like, ahem, certain other operating systems. Even if you mess something badly up, surely you can just restore from a backup?
I'm running the same installation from 2006, just with regular package updates.
calima wrote:
It's not like it gets corrupted regularly like, ahem, certain other operating systems.
Not my experience, unfortunately, as I mentioned above.
Talking about customization, take a look at
this virtual machine. (warning: file is over 4GB)
It's an old and quick hack I made back in 2010, I think.
My boss asked to make Ubuntu as close as possible to Win7, and that's what I got.
It's very outdated now, but it can give an idea of what can be done.
I used to have a Mac OS X theme too, but I just can't find it
calima wrote:
Why would you ever format a Linux computer? It's not like it gets corrupted regularly like, ahem, certain other operating systems. Even if you mess something badly up, surely you can just restore from a backup?
I'm running the same installation from 2006, just with regular package updates.
Are there people out there reformatting Windows on a regular basis? I used to do it with like Windows 95/98, but for a very long time (maybe 2000 or XP?) I can't remember having to re-install Windows for anything other than a new machine or a hard drive failure. I don't have any machines quite as old as 2006 anymore, but my 2010 desktop's Windows 7 installation is still working quite fine.
I do have occasional fights with Windows update, but I've always managed to resolve the problem. I can't say I haven't had similar fights with Linux updates either.
It's actually pretty common to run into people who regularly reformat and reinstall the OS for performance reasons. I think windows update and updating drivers and constantly installing/uninstalling software tends to leave junk in the registry and scattered around the hard drive. Not to mention disk fragmentation.
None of these problems are Windows-specific, by the way.
I format my Windows computers every 1 or 2 years, whenever the system begins to behave erratically or things appear more sluggish than usual. I always considered it common for Windows installations to degrade over time. Maybe I get the impression that I format computers more often than I actually do because I have to take care of 3 different machines at home, plus all the others when I have to help family members deal with their messes.
pubby wrote:
Once you get your system configured you can create a git repo in your home directory and upload your config files to github.
Which costs money for a private repo if you have any trade secrets or non-free works in your config. But I did document much of my recent reinstall.
calima wrote:
Why would you ever format a Linux computer?
If your GNU/Linux distribution has gone through three different desktop environments (in my case GNOME 2, Unity, and Xfce), and you lack hours to look up and/or trial-and-error what packages and configs can be removed without hurting things, and you are replacing your computer's HDD with an SSD anyway, then backing up /home, blowing everything away, and selectively restoring things becomes more attractive.
I suppose I understand the idea that a lot of people install stuff in a haphazard way, especially constantly resident "helpers" and "updaters", and malicious stuff like browser toolbars, etc. and it also makes some sense that this happens to people more readily/quickly on Windows than Linux just from the ecosystem involved. I guess the idea of starting from a clean slate every now and then works from that perspective.
Myself, I check the running tasks, make sure I'm not running stuff in the background unnecessarily, and generally clean up after things. Part of it's just that I use a laptop most of the time, and spikes in performance can result in very audible fan noise, so if something starts running unexpectedly I'm often tipped off to its existence by that annoyance.
I could see how maintaining Windows properly requires a lot of acquired experience, and a reformat might be easier. I'd rather maintain it incrementally, though. I don't find it behaves oddly or slowly, even after years of use.
Maintaining Linux properly also requires a lot of acquired experience, IMO.
For one thing, wih cheap windows laptops, you pay with your time by having to restore the mess acer or some other company has preinstalled "for you" right out of the box, sometimes having to figure out what's essential and what's named to look like it's essential.
Hah! I've seen similar crap preinstalled on a Linux laptop too.
Don't forget for a long time Ubuntu's standard install put an Amazon.com program on your launcher.
But does Ubuntu silently leave cat doodoo behind the couch which you find only after the guests have arrived? That's an analogy for windows update sometimes deciding what's best for you, like when it appearently changed my dpi settings without leaving a memo. A "sorry i ate your cookies" would be nice.
Sounds like Ubuntu switching from GNOME 2 to Unity in 11.10, dropping scrollbar arrows from the default themes in Xubuntu with no point-and-click preference to restore them to the included theme, adding Poetterix, etc.
Also, I didn't want to imply that Ubuntu's flirtation with Amazon.com sponsorship was anywhere near as bad as a lot of stuff that Windows does by default.
I have anecdotes for bad Linux updates, and more anecdotes for bad Windows updates, but I don't think they're important, just that I find neither is hassle-free, and I never expect them to be. I'm not sure which one I think is worse, because I don't use them both the same amount, so I can't really make a fair comparison.
I can do most of what I want on Linux already, but there's still a fair bit of software (especially games) that isn't available there. As well, being a software developer, Windows is still the biggest market and the most viable target, so that kinda forces it. I don't pick an OS for ideological reasons, I just pick it cause the stuff I want to do lives there.
If I was in a slightly different line of work, or was a little less interested in particular games, I'd probably just use Linux. I do like it better as an OS in a lot of ways.
I'm pretty sure there is at least 1 or maybe even more long thread(s) about this matter, including one I started. You should use the search function.
dougeff wrote:
So you're compiling cc65? There's no binary I can download?
Haha, obviously you're coming from the windows world. That's exactly the type of reflexions I'd have made some 5 years ago. However compiling programs locally is a fairly standard practice in linux - even when you aren't in any way related to the development of the program itself.
Quote:
OS change is a big decision, so I appreciate the help.
You don't have to *change* anything. It's in my opinion not possible to simply change to linux and never look back again ever because it's just too different so you'll miss features from windos and have to regularly switch between the two. Eventually as your linux knowledge will mature you'll be able to do more and more things and rely less and less on windows.
The biggest difference in my opinion is that things works much less "out of the box" and that you're supposed to customize your system yourself editing system files if you want to do anything remotely non standard (this includes making a wi-fi work or printing something).
The biggest Linux selling point is that you have a huge shitload of software which is completely free and open, and you can do pretty much anyhting with is, so this is really the amazing part. You can also get many GNU software for Windows, I encourage people to use GNU software even when they're not on Linux because it makes sense.
Quote:
I'm thinking of loading Linux (light) Ubuntu on it...
Ubuntu is horrible. I recommand using Debian, or any other distribution than Ubuntu
Debian has the same package manager as Ubuntu (apt) so you'll still be able to use Ubuntu doccumentation and it'll still apply to Debian but your system is going to be much better and stablier.
Quote:
As a programmer (not just NES), what programs should I consider installing on a Linux system?
Well, gcc, make and a text editor such as gedit or kate (or vi if you want to do it the hardcore way) seems the absolute minimum. And a web browser. Most distros comes with those built-in.
Quote:
I didn't see anyone say 'Don't do it', but that might just be unique to NESDEV...plenty of Linux users.
Actually Nesdev and romhacking are horrible on Linux. There's fewer emulators, and those that do have less debug features. This is actually the primary reason I still use Windows. Note that modern windowses such as 8 or 10 are just as horrible - tools for romhacking and the like were mostly designed in the Windows 98 or XP days.
Bregalad wrote:
Actually Nesdev and romhacking are horrible on Linux. There's fewer emulators, and those that do have less debug features. This is actually the primary reason I still use Windows. Note that modern windowses such as 8 or 10 are just as horrible - tools for romhacking and the like were mostly designed in the Windows 98 or XP days.
All the Nesdev tools I know run great under Wine, including FCEUX and Nintendulator. Perhaps not as great as they would run natively, but still, they
do work.
Wine is fine for people with an x86-64 PC who are willing to install both 32-bit and 64-bit versions of system libraries, such as myself. But keep in mind that a dependency on Wine
prevents you from keeping your system completely 64-bit or migrating to ARM should the circumstances encourage it.
The lack of out-of-box support for 32+64 bit is an interesting thing about Linux to me. I get it, keeps the bloat down not having to double the libraries (like Windows or Mac does), and when most of the software is open source then getting separate builds for the different distributions is not too much of a problem.
On the other side of it, though, trying to build and deploy closed source binaries becomes weird. Setting up all the dependencies for a 32+64 bit dev environment on a single machine is hairy. Some things like SDL also muddy the waters by trying to auto-detect what's in your build environment and only including those things in its setup.
Like, eventually I found it a whoooole lot easier just to create a 32-bit VM and build there, instead of trying to build both from a 64-bit OS.
Fisher wrote:
Then I tried Conectiva, then Mandrake, then Mandriva and stopped at Ubuntu.
I really missed the old Gnome interface, but I become happy with Mate!
I'm using Ubuntu 14.04 (my son says it's not worth updating to 16.04), and I had him put the Gnome Flashback Compiz GUI back on it. I want the tabs along the bottom with a bit of text in each, so for example if I have three .pdf's open and am slowly working on a couple of emails, they show what they are instead of just being little arrows beside icons down the left edge. I did not like the Unity GUI at all. It required too many clicks.
I've had to reinstall Arch one time, because I let my friend into my system with root and he ran "rm -rf --no-preserve-root /" and it nuked it, bad. But I've had to reinstall Ubuntu and Mint years ago when they decided to send out borking packages that couldn't resolve and broke everything. AUR in Arch is a much, much better and cleaner system to pulling in deps that aren't standard, and it works amazing if you have the PC to compile some things easily. I do still use Mint on my laptop, though, it's alright for browsing the web and using sublime and such.
Also, you can make a git repo on bitbucket that's private and shove all your configs there, too. But I've never tried using that to back up my configuration stuff, I just reconfigure on installs. Most of my config isn't in my home folder, besides a few alias's and such. But still, Linux is a puzzle. Windows is an enigma. And Window's days are numbered, thankfully.
Still, for a real good Linux desktop, we need Ubuntu to stop working on Mir and their "proprietary" crap. We need clarity, and people are still trying to fuck it up. It's stupid.
3gengames wrote:
I let my friend into my system with root and he ran "rm -rf --no-preserve-root /" and it nuked it, bad.
Naturally said friend is now in two pieces?
Ok. I installed Mint on my old computer. Seems to work great. You have no idea how slow XP ran on it. Clicking on 'My computer' took 10 seconds before it showed anything in the window.