It is currently Thu Nov 23, 2017 8:59 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 115 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next
Author Message
PostPosted: Wed May 25, 2016 9:42 am 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 1518
Location: Fukuoka, Japan
With the latest trends regarding Windows 10 and realizing that most of the tools or task I'm doing these days don't really requires windows anymore, I'm thinking about switching to either a Linux or FreeBSD based OS. The goal is to install it on my current PC, which is quite old, so drivers shouldn't be an issue.

Basic apps like browsers are working fine since I tried many time either inside a VM or a different partition as a learning experience but.. I never used it in everyday use except at work remotely with ssh. What I would like to know is what kind of compromise has to be done when you do the switch? Is there any issue for doing nesdev? CC65 is there, some emulators are available or should be accessible with Wine. I guess a windows VM could help is other scenario but I would like to avoid that but what other issues should I expect, if any?

I use Windows since I have been using it back from the dos days so it just an habit. Since I now use at work either Mac OSX or Linux, I'm now used to more than windows and the itch to switch is there.

Any opinion on the subject will be appreciated. As for nesdeving, I may do again someday if I can find the time but for now it's not on the radar yet.


Top
 Profile  
 
PostPosted: Wed May 25, 2016 9:56 am 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 932
I use Linux. One emulator available is Mednafen. Linux is much better than the Windows I had on my previous computer. I have not used Wine so I cannot comment on that.

_________________
.


Top
 Profile  
 
PostPosted: Wed May 25, 2016 9:58 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 584
I dumped Windows in 2006, and have used Linux exclusively since then. For me, there wasn't really any compromise - unlike many, I hadn't pirated Photoshop or other Adobe tools, and I didn't play PC games really, even on Windows my computer gaming was in emulators. I had to learn some new programs, but their functionality was equivalent, and they were Free Software (didn't matter at the time, but now I really value how I can customize anything, and nothing tries to spy on me).

Nesdev works fine, though the Linux port of fceux doesn't have the debugger and other niceties.

I could preach all the good things I got, but I doubt you're interested in that ;)


Top
 Profile  
 
PostPosted: Wed May 25, 2016 10:24 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6450
Location: UK (temporarily)
I've written a set of helper scripts that I use with wine; it makes using various small windows programs (nones, fceux-windows, nintendulator(/dx), nosns) almost as good as native. (The file dialog still exhibits UI impedance mismatch).

Code:
#!/bin/sh

if [ -r "$1" ]; then
  exec wine ~/tools/NO\$NES.EXE "$(winepath -w "$1")"
elif [ -z "$1" ]; then
  exec wine ~/tools/NO\$NES.EXE
else
  echo "$1" isn\'t a normal file
fi


The other important detail is that Nintedulator's keyboard remap dialog crashesused to crash, so if you have an old enough build of wine you might need what I said in this post.


Top
 Profile  
 
PostPosted: Wed May 25, 2016 12:05 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
Banshaku wrote:
What I would like to know is what kind of compromise has to be done when you do the switch? Is there any issue for doing nesdev? CC65 is there, some emulators are available or should be accessible with Wine.

FCEUX works in Wine. (And when it doesn't, I report bugs on its SourceForge issue tracker.) It also has a native version using SDL, albeit without step debugging.

Nintendulator is rumored to work in Wine except for problems with its input configuration dialog, though I haven't tested it.

For Super NES, bsnes-classic/-plus is available natively, and if you have a slow PC and are willing to run a proprietary emulator, NO$SNS works in Wine.

YY-CHR failed to start in Mono because it hardcodes backslashes into paths. Instead, I use GIMP to create CHR as PNG and some custom Python programs to convert it to NES CHR, Game Boy CHR, Super NES CHR, or whatever other format I need at a given time.

zzo38: I hadn't heard of winepath. I'll have to check it out.


Top
 Profile  
 
PostPosted: Wed May 25, 2016 1:11 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
If I had to give you a recommendation for desktop usage, re: Linux vs. FreeBSD, I would recommend you go with Linux. The device driver support is substantially better, and the likelihood of things "just working" tend to be higher. For example, a colleague of mine uses Ubuntu 16.x on his new laptop (which has an actual 512GB M.2 NVMe drive in it -- not M.2 AHCI/SATA SSD, but actual PCIe NVMe), which was the only distro which literally "just worked" upon installation and went smoothly. YMMV though.

If you did want to try out a "desktop BSD", I'd suggest PC-BSD (that's a desktop-oriented version of FreeBSD; both the PC-BSD folks and the FreeBSD folks exchange fixes/improvements/etc. so don't think of it as a "fork").

Footnote reminder: I have experience with both Linux and FreeBSD as *servers*, but virtually none with them as desktops.


Top
 Profile  
 
PostPosted: Wed May 25, 2016 1:40 pm 
Offline
User avatar

Joined: Mon Oct 01, 2012 3:47 pm
Posts: 153
Location: freemland (NTSC-U)
tepples wrote:
YY-CHR failed to start in Mono because it hardcodes backslashes into paths.


The older C++ version works well with Wine, from my experiences.


Top
 Profile  
 
PostPosted: Wed May 25, 2016 10:44 pm 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 1518
Location: Fukuoka, Japan
@everyone

Thank you for your opinions on the subject!

@lidnariq

Thank you for the script, I will try it.

@tepples

I will try FCEUX then. As for YY-CHR, if the app is open source, it should be quite simple to fix that issue (if this is the only issue under mono). For bsnes-classic, I could be wrong bug I think a core 2 duo 3.0ghz should be enough. Didn't try bsnes recently though.

@koitsu

Regarding drivers, this is the same conclusion I came up too. But since my pc is 8 years old, freeBSD has no issue with it (except for some unusual 3G modem from japan which I can't figure it out yet either in linux or freeBSD).

For FreeBSD, I was able to install everything I needed from xorg, xfce, tools etc and my test partition is running fine. I have installed a few linux distro here and there but still not sure which one to use since they seems to install too much stuff compared to freeBSD. And for some reason, I felt that when I had issues with FreeBSD and searched, the information I found was clear an concise. Maybe I was just lucky. For that reason, it was fun to learn how to install it but I guess that phase will cool down soon.

Still, I'm not 100% sure if I will use either linux or freeBSD yet. I'm in no rush, kicking the tires.

@freem

Good to know since I use that tool once in a while!


Top
 Profile  
 
PostPosted: Wed May 25, 2016 10:58 pm 
Offline
User avatar

Joined: Thu Mar 31, 2016 11:15 am
Posts: 211
Banshaku wrote:
I have installed a few linux distro here and there but still not sure which one to use since they seems to install too much stuff compared to freeBSD. And for some reason, I felt that when I had issues with FreeBSD and searched, the information I found was clear an concise.

Check out Arch Linux. The base installation is minimal and their wiki is top-notch.


Top
 Profile  
 
PostPosted: Wed May 25, 2016 11:32 pm 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 1518
Location: Fukuoka, Japan
pubby wrote:
Check out Arch Linux. The base installation is minimal and their wiki is top-notch.


I did try it in a vm 2 days ago :) The wiki is quite good but since I'm still not much an expert on the subject, I was able to install it up to the chroot then was lost in the flood of information. Maybe I will try it again if I can find enough time to learn all the small details.


Top
 Profile  
 
PostPosted: Thu May 26, 2016 2:22 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7273
Location: Chexbres, VD, Switzerland
In my personal experience I had mixed experiences with Wine. On some systems it worked fine, but on others, I had many problems with graphical glitches, extreme slowdown (by extreme I mean it can freeze your computer for minutes for no apparent reason), and other annoyance, such as that how your keyboard switch from wine environment to linux environment is buggy, so I was enraged with those bad experiences. I guess Wine should only be used at last resort.

Quote:
Check out Arch Linux. The base installation is minimal and their wiki is top-notch.

After attempting Ubuntu-based linux, Fedora-based linux and finally Gentoo (tooks about one week of compiling before you can actually use the system you've installed), I tryed my hand on Arch Linux. I didn't use it much yet so I can't comment, but I was able to install a working system quite fast (compared to Gentoo), and while it's definitely not an "out of the box" distribution, it sounds very promising if customisation and performance is your thing.

As for "switching to Linux"; for me Linux is emotively the operating system of work. The last 4 years I always used Linux at work and Windows at home for leisure (with a few exceptions here and there in both cases). So it'd be very hard to force myself to use exclusively Linux at home because I'd feel like I'd be at work. The absence of Tile Editors and emulators with advanced debugging features could be a problem, too.


Top
 Profile  
 
PostPosted: Thu May 26, 2016 11:15 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2257
I switched to Linux mainly in 2012 with Linux Mint, and have owned a gaming desktop that only runs Linux since Jan. 2014. Mint at first, then I switched to Arch. Arch for my PC is great because it's powerful, uses all my hardware because I compile/use pre-made modified kernels, I can game, and programming is fast and easy, and I know what it's doing and just stays out of the way. There's some software I don't have that is on Windows, but most of that software is shit anyway. Linux is 100% more than capable for basically anyone's workflow if they invest time in to it. Most of our software beats all paid software, so it's just a matter of time before it tasks. The only problems you will have switching to Linux is your shitty software you probably shouldn't be using doesn't support it. It's the best issue to have! I will never, ever use a Microsoft operating system on my hardware ever again, period.


Still, the main reasons to use Arch are:

1. Aur: This hosts tons of scripts to automatically compile and install software. Great for powerful hardware, terrible for lower end machines.

2. Pacman will let you do bad things to your system packages with a simple flag (-Rdd) when something fucks up, as opposed to basically bricking an installation I've encountered on Debian distros.


But yeah, Arch is what you build to be your own. But that is what makes it powerful. It's ONLY for power users, the people who can fix things if they break, and people with good hardware. But if you fit that general description, Arch is a breeze and is probably the most stable distro I've used, even with "unsupported" AUR packages, kernels, etc.


Top
 Profile  
 
PostPosted: Fri May 27, 2016 1:16 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7273
Location: Chexbres, VD, Switzerland
So maybe you can dress up a comprehensive list of how to get tools useful for NES and other retro console development on Linux ? That'd be useful I guess, for me included.

As for software, one of the most major problem I've always had with Linux is how the folders are organized. Every single time I install a software I have absolutely NO idea where it's located whatsoever. It occurred to me a couple of times that I couldn't even TRY to use a software I installed, because the installer didn't put the appropriate shortcut on the desktop or whatever.

The other problem is that it's insanely easy to break things on your computer without knowing. This goes from innocent stuff like your taskbar setting (extremely annoying when you move it's layout without wanting to - and this applies to ALL desktop environments available) to more harmful stuff like breaking up the system. My worst experience was with Fedora, where I wanted to uninstall a program with yum and it just removed all the packages it depended on, breaking up other programs and eventually the whole system. So my personal recommendation: Do not use any yum-based distro, EVER. Pacman looks great, but I didn't use it enough so it's too soon for me to comment.


Top
 Profile  
 
PostPosted: Fri May 27, 2016 6:20 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
GNU/Linux systems tend to follow a Filesystem Hierarchy Standard.
  • /bin: Programs needed for single user mode (that is, command-line system recovery), which may also be useful outside it. Things like ls (list files in a folder) are here.
  • /sbin: Programs needed for single user mode that only an administrator should use
  • /usr/bin: Programs in distribution's packaging system
  • /usr/sbin: Programs in distribution's packaging system that only an administrator should use
  • /usr/share: Read-only data used by programs in /usr/bin
  • /usr/local/bin: Programs compiled and installed by a PC's administrator (cc65 usually goes here)
  • /usr/local/share: Read-only data used by programs in /usr/local/bin
  • /opt/{publisher}/{appname}: Programs installed by external installers (most similar to Program Files on Windows)

For more info, run man hier on any Linux system to view a summary of the Filesystem Hierarchy Standard.

The big things you need in any environment are
  1. A text editor
  2. cc65 (C compiler, assembler, and linker targeting 6502 systems)
  3. A paint program supporting indexed color mode, such as GIMP
  4. A way to convert standard graphics formats to CHR data format
  5. A build tool to recognize which source code files have changed and rebuild object code files, such as GNU Make
  6. An emulator
  7. A web browser (to promote the end result)

Your machine will come with an adequate text editor and web browser, though you may want to install a different one. Under Debian or Xubuntu or Mint, the command sudo apt-get install build-essential gimp python3-pil wine will give you C (GIMP), E (Make is part of build-essential), and the dependencies for B (cc65 is typically installed from source, and GCC is part of build-essential, D (my PNG to CHR converter is written in Python), and F (the debugging version of FCEUX uses the Win32 toolkit).

This leaves a few potentially unfamiliar experiences:

  • Compiling cc65 can be an unfamiliar experience for someone who's never built a program from source code before. Download a snapshot of the source tree at GitHub, unzip it to a new folder, read the README, and follow the instructions.
  • If you need, such as support for NES 2.0 features, you'll need a copy of FCEUX built from SVN. So far my best choice has been obtaining binaries from EmuCR, but its files are hosted on free file hosting sites filled with fake download buttons that are really ads.


Top
 Profile  
 
PostPosted: Fri May 27, 2016 6:53 am 
Offline
User avatar

Joined: Thu Mar 31, 2016 11:15 am
Posts: 211
I'll recommend mtpaint for working with pixel art. It's easier to use than GIMP but still has all of the features that you need. It's a nice little image editor.

For working with tiles, check out the Tiled map editor.

3gengames wrote:
1. Aur: This hosts tons of scripts to automatically compile and install software. Great for powerful hardware, terrible for lower end machines.

AUR hosts precompiled binaries too though, and cc65 is a good example of this; it has two packages: one pre-built and one that compiles from git. I hope people aren't getting the idea that Arch involves compiling tons of things from source, as that's really not the case nor is it the point.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 115 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group