Post subject: Running Bizhawk headless?
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
Is it possible to run bizhawk in a headless environment (for example, on a server)? It's not horrible to run it on my machine but being able to free it and dump frames and/or do validation of certain desired states (such as evolutionary AI in lua and fitness validation) on a headless server would be nice. To say nothing of the merits of renting CPU time on a better machine to get video dumping and/or encoding done fast if at all possible. Followup if it's not possible: Any reason this wouldn't be a feature to request, even if it's extremely low priority?
MESHUGGAH
Other
Skilled player (1918)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
As a user I already asked this and it's probably in super low priority. Don't expect it in the near future. Other users as well as me do this: - remote desktop - disable audio, video I guess you need to convince a developer to get rolling. Edit: I suspect that a headless feature "only" usefil for automation projects, which is probably the smallest minority among the BizHawk auidence.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
A headless system is a computer system or device that has been configured to operate without a monitor (the missing "head") ~ Wikipedia's "Headless computer" entry.
The premise here is that you'd run it on a machine with no graphical user interface. At all. Not just missing a monitor - even if you had a monitor, there's no UI the machine is providing. Most such systems (notably, Ubuntu Server, in my case) are usually configured to provide a terminal instead. What you've linked is an interfacing library in the emulator's lua implementation for, basically, interprocess communication. It's not what I'm looking for. It's useful, and great for other things I'm looking at doing, but not for this as far as I can fathom.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
The premise here is that you'd have to hack the emulator to strip all the UI from it. This happens in situations when no one did or needed this before you. This is exactly your situation. What I linked is things bizhawk is limited to. A user interested in controlling the emulator remotely usually finds these helpful, especially in situations when headless is not even an option. Props for knowing how to post wikipedia links, this sure is valuable skill not everyone has.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
MESHUGGAH
Other
Skilled player (1918)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
The premise here is that I giggled on feos' response. While the linked libriaries seems to be enough for my automation projects, it also serves the maximum BizHawk can be beheaded. Stripping the whole UI is cumbersome. There would be a lot of things required to have an alternative form which isnt visual. What you mentioned in the opening post seems to be possible with the linked stuffs.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
Props for knowing how to post wikipedia links, this sure is valuable skill not everyone has.
And props to you for backhanded compliments! I dare say the art lives and breathes well, just as I had feared it may have finally died out. Thank Nature! "..." I assumed you didn't understand me. I tried to give context. This is how you've repaid me. I know I'm no angel and rarely pleasant to talk to about much more than strictly work - wow, if you knew my week you'd swing that one for the fences - but I don't believe I deserve this, either. Off topic out of the way, let's move along.
The premise here is that you'd have to hack the emulator to strip all the UI from it. This happens in situations when no one did or needed this before you. This is exactly your situation.
As though it's only useful for me? Or basically so? I'm having a little trouble with your word choice here, so correct that if I've misunderstood it, please. Such a thing could be useful for automatically testing submissions against new versions of Bizhawk as the emulator cores presumably become more accurate to make sure they stand up. And easily a lot of other things. However, I'm quite okay with "this is a lot of work, don't get in a hurry to see it done, there's other things that are more likely to get done first if this ever even gets done".
While the linked libriaries seems to be enough for my automation projects, it also serves the maximum BizHawk can be beheaded.
Same as above; I'm quite okay with this being the state of the emulator. It was a suggestion that had motivations behind it, like most suggestions tend to be.
What you mentioned in the opening post seems to be possible with the linked stuffs.
An evolutionary AI? I could have done that just in pure lua in the emulator. There's no need to complicate the process with interconnects and intermediaries. Dumping videos automatically? Little less direct but the amount of intervention required and still needing a head means it probably is easier to just do it by hand at that point. Running the emulator itself headless? Not as far as I can tell on the face of it. I'll probably fidget with that, a VM, and a lot of profanity when I get time from my current project and see if I can generalize a workaround. There's a few other tools I could use such a thing for anyway if one can be found. Just for feos, it'll be Windows ME based. And I'll be sure to voice all my complaints to my cable emulator provider.. :oP