snes9xgit / snes9x

Snes9x - Portable Super Nintendo Entertainment System (TM) emulator
http://www.snes9x.com
Other
2.68k stars 463 forks source link

Sound is not working on Debian 9 #501

Closed ghost closed 5 years ago

ghost commented 5 years ago

I downloaded the whole master source code, a couple of hours ago. I took a few minutes and tries to discover the things to pass to configure script, and I ended with this line:

$ ./configure --prefix="/algum/lugar/.raiz/" --enable-zip --enable-gzip --enable-screenshot --enable-xvideo --enable-xinerama --enable-sound

Now I can run the compiled snes9x with this line, but there is no sound:

./snes9x rom.sfc

The output of that command starts with:

`

Snes9x 1.58 for unix ERROR: Failed to open sound device /dev/dsp for writing. (Try loading snd-pcm-oss module?) Port 1: Pad #1. Port 2: . No ROM file header found. Map_LoROMMap "TETRIS ATTACK" [checksum ok] LoROM, 8Mbits, ROM, NTSC, SRAM:0Kbits, ID:AYLE, CRC32:6C128210 joystick: No joystick found. `

Note: I have seen a comment about version 1.59. Did I download the wrong version? What is the place to download the newest release (not beta or alpha, please!).

ghost commented 5 years ago

How should I escape the "#1" inside the snes9x output so it is not transformed in a link?

bearoso commented 5 years ago

That’s the barebones Unix version. If you want more features, you have to use the GTK version. You’re not getting sound because you don’t have the oss module loaded and/or pulse audio is overriding it. You can use the ALSA driver instead, or use the GTK version that has even more drivers.

ghost commented 5 years ago

I have the GTK version installed, but it is not compiled with the command line switches I want to use.

The sound works for other programs and for snex9x GTK 1.52. It should work for the unix version too. Why not?

ghost commented 5 years ago

Months ago, in another computer, I had a snex9x for unix that had sound and zip support (everything the graphical version had, plus command line options!). What happened to that? Unfortunately, I could not find it for this new computer. But I found this project, and it looks good. Everything I want is in the compile options.

ghost commented 5 years ago

Can you guide me for solving the sound issue? What you said is not enough for me.

bearoso commented 5 years ago

Either as root or with sudo, execute: modprobe snd-pcm-oss

or run snes9x by using padsp snes9x with whatever options you want.

I have the GTK version installed, but it is not compiled with the command line switches I want to use.

What command line switches are those, exactly?

ghost commented 5 years ago

What each of those options do? Is there a reason that I should prefer one or another?

The 'modprobe' one does what, exactly? 'snd-pcm-oss' is something that will be created? I found this page about modprobe in Debian:

https://wiki.debian.org/modprobe

But the information is there is far from what I can understand.

Back to my machine, I used the command find /dev -iname '*snd*' to find which things inside the /dev folder have "snd", in any way, in their names or path. Only the /dev/snd folder was found. With one more find command, we can see everything inside the /dev/snd folder:

` $ find /dev/snd/ /dev/snd/ /dev/snd/by-path /dev/snd/by-path/pci-0000:00:1f.3 /dev/snd/hwC0D2 /dev/snd/hwC0D0 /dev/snd/pcmC0D8p /dev/snd/pcmC0D7p /dev/snd/pcmC0D3p /dev/snd/pcmC0D0c /dev/snd/pcmC0D0p /dev/snd/controlC0 /dev/snd/seq /dev/snd/timer

$ ` About the other option. 'padsp' is something I do not have installed. I discovered that it is Pulse Audio. According to that page, it is "a sound system for POSIX OSes". I know what posix is. But my OS already have a sound system - or may it happen that we install several ways to use the single hardware?

I would like to use all options of snes9x unix, if possible, in snes9x GTK. And I would also like to have all GTK has in snes9x unix. I noted that: the window size is not used by snes9x unix, only by GTK. The keys I chose to use to use different from the defaults (use space instead of 'pause/break' key) to pause the emulation. I found it strange that I did not have command line options in the GTK version, only the rom file argument (I think).

But I mainly started the search, compiling and running of snes9x unix here for the -recordmovie and -playmovie options.

And we are in the no sound issue... all this discussion is not a problem? A hope no.

By the way, most of the time, I run snes9x GTK by the command line, with the name of the ROM I want - much more practical than menu > open rom window > finding a rom > running the game. There is the recent ROMs menu, but it will trash my favorite (and mostly played) ROMs when I open several unkown ROMs just to check them a bit.

bearoso commented 5 years ago

snd-pcm-oss is the ALSA compatibility module for OSS, the sound protocol the Unix version uses. It should create the /dev/dsp device nodes necessary for sound. The nodes in the snd directory are for ALSA only.

bearoso commented 5 years ago

Not a bug. You’re free to continue posting if you need more help, but I’m closing the issue.