DoomVST now has an lv2 option

I thought I should alert everone here that the VST which allows you to play Doom in your DAW is now able to be deployed as an lv2.

Not sure about compliling it for arm bit it’s early days.

2 Likes

Do it.

1 Like

Seems like a really hacky implementation though. I think we can do better.
I have been thinking about Doom on Zynthian for a while now, the V5 layout is pretty much perfect for it:
Arrows for movement, macro buttons for weapon switching, ok/cancel for use/run and the bottom encoder for rotating & firing…

Also getting audio output and using that in some performance would be :yum::ok_hand:

https://www.chocolate-doom.org/wiki/index.php/Raspberry_Pi

I imagine the input mapping would be the most challenging part…

2 Likes

Could I use my MIDI guitar as a weapon? :stuck_out_tongue_winking_eye:

2 Likes

You can throw it onto your Zynthian - perhaps only once.

1 Like

5 Likes

Now for the harder part: integrating it into the zynthian UI and adding controls.
Any advice by the zynthian core ppl? :smiley:

UPD: Made a custom GUI for it and added an entry in the admin menu, launching it will start chocolate-doom using startx. I couldn’t manage to get any input in or any sound out though.

I’m thinking of using pyvjoy or vgamepad for controller simulation in case I can’t figure out the keyboard input simulation…

2 Likes

X is already running with the Zynthian UI running so it is odd that you can use startx. Presumably you stop the main GUI for this? Zynthian runs a single X based application that uses a TKInter window that fills the whole display. It may be possible to run another X application over the top of this but I am not sure how well they would play.

Zynthian uses JACKd for audio. It runs as a service and is a core dependancy for Zynthian, i.e. if jackd is stopped the zynthian will fail. If jackd is running then you need to present DOOM as a jack audio source. Depending on how the game presents its audio, this may involve some kind of wrapper. Then you need to route that audio to the output (or Zynthian mixer if it is running within Zynthian, e.g. as a chain). That can be done with jack_connect command line tool. Note that zynthian manages signal routing so may undo manual routes when changes are made to the zynthian config.

3 Likes

Funnily enough I could only get doom to appear if i run it while zynthian is running as well… seems to just open on top. Never stopped the zynthian UI. I could not get it to respond to any keyboard input however.
Will try the gamepad emulation today. I feel like that’s the simplest route. The GUI initializes the virtual gamepad and will relay zynthian button and encoder inputs to it. Admin will (hopefully) exit the game.
Can I override button mappings in a GUI? Is it as simple as listening and returning True/False so they don’t get processed further?

startx must be detecting the started X session and attaching the doom plugin to that. From memory you should be able run something like DISPLAY=:0 chocolate-doom to get it started on the existing display, which is probabaly what startx is doing really.

I got the zynthian inputs mapped to a virtual gamepad using vgamepad. I also verified the gamepad working correctly using the joytest tool. However, I don’t get any gamepad or keyboard input, neither in zynthian-ui, nor in chocolate-doom. Interestingly, mouse input works both in-game and in zynthian UI…
Any ideas why?
At some point I was able to switch to another virtual terminal using Ctrl+Alt+F1 and type there (it showed the raspbian terminal login), but even that’s not working at the moment :confused:

Using xdotool, I was also able to turn the zynthian inputs into keystrokes, but they get sent to the zynthian-ui, zynthian_gui reports “Key not configured”
I tried finding the active window using xdotool getactivewindow, but that returned this irritating message:
Your windowmanager claims not to support _NET_ACTIVE_WINDOW, so the attempt to query the active window aborted. xdo_get_active_window reported an error

Huh.

UPDATE:
GOT IT WORKING!!!
I didn’t need to run doom with startx at all… and suddenly it works! Keyboard input using subprocess.call and xdotool

Everything except audio works, including smooth turning, weapon switching & zoom using the encoders.
I have no clue how to send audio to jack, as far as I know, chocolate-doom sends audio like any other standard desktop application…
I was also getting megalomaniacal and tried installing RetroPie (because why not) but ran into several issues.
RetroPie configures many things, there’s probably some clashes with zynthian (although it didn’t break anything from what I can tell)…
The biggest issued seemed to be the X server and permissions, since zynthian uses root for most things and emulationstation doesn’t allow running as root…

EDIT: Audio WORKS!!!
I just followed this guide: How do I route audio to/from generic ALSA-using applications? | JACK Audio Connection Kit

Will post a video of doom running on Zynthian soon, I already completed a bunch of levels ^^
Maybe even make a pull request? :stuck_out_tongue_winking_eye: (the only dependencies are xdotool & chocolate-doom + any .wad game file)

3 Likes

An irony when one considers the overall functionality offered around here !

Tee hee!

2 Likes

I just checked out the GitHub repo for this DoomVST project and the author notes in the readme that audio doesn’t work… so it’s not a zynthian issue! GitHub - michael-truscott/DoomVst: Doom, but it runs in a VST plugin inside your DAW program and uses MIDI input for controls.

Super cool!!

Just to clarify: what I did had nothing to do with the VST ^^
And I got it to work anyways :))

1 Like