Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[🐛 Bug] Error, no command specified to run the game. Exiting. #72

Open
dgudim opened this issue May 31, 2024 · 14 comments
Open

[🐛 Bug] Error, no command specified to run the game. Exiting. #72

dgudim opened this issue May 31, 2024 · 14 comments

Comments

@dgudim
Copy link

dgudim commented May 31, 2024

Following the step-by-step guide I can't get it to start.
Doing /etc/startup.sh > /dev/null & never produces .X11-unix in tmp.

Running it without & gives the following message: Error, no command specified to run the game. Exiting.

@hraphael
Copy link

I have the same problem and running it with /etc/startup.sh netris-proton -wr <game>.exe does seems to work but the script is then stuck in a loop where it tries to install winehq. Running it with -pr noes not work because proton is not installed.

@suchipi
Copy link

suchipi commented May 31, 2024

I can't get it to work, either. It definitely seems you have to pass the game command directly to /etc/startup.sh rather than waiting for .X11-unix as the readme says, but no matter what game I give it, it crashes. I installed xterm into the container to try to run it with something small, but that crashes, too. The log output in /tmp says:

xterm: Xt error: Can't open display: :0

It's worth mentioning that the readme said to set up nvidia-docker, but the nvidia-docker repo says it's been deprecated and replaced with nvidia container toolkit, so I installed and set up that instead of nvidia-docker.

@wanjohiryan
Copy link
Member

Hey, this has been fixed by #73

@wanjohiryan wanjohiryan changed the title Can't get it to start [🐛] Error, no command specified to run the game. Exiting. Jun 1, 2024
@wanjohiryan wanjohiryan changed the title [🐛] Error, no command specified to run the game. Exiting. [🐛 Bug] Error, no command specified to run the game. Exiting. Jun 1, 2024
@wanjohiryan
Copy link
Member

@suchipi it seems like your Xterm error might be unrelated to the startup.sh, can you give more details.

Try docker pulling the latest server image like so:

docker pull ghcr.io/netrisdotme/netris/server:nightly

Then try running again. Tell us if you get the Xterm error again.

@dgudim
Copy link
Author

dgudim commented Jun 1, 2024

The previous issue is fixed now, it seems to startup, but wine and proton just die instantly and the game does not start.

Here is my attempt to start it
video.webm

Here are the logs
entrypoint-stdout---supervisor-_be6c0w1.log
game-stdout---supervisor-wd2ccmr9.log
supervisord.log

@wanjohiryan
Copy link
Member

wanjohiryan commented Jun 2, 2024

Hey @dgudim

Thank you so much for the video, this is the most comprehensive feedback anyone has given so far. From the video, I can tell that wine has trouble getting a display to draw its dialog on, which means that Xorg is not working for some reason. From the entrypoint.log file I can see that X11 shows errors there too. Confirming my suspicion(s).

However, this raises the question, how comes the X11 unix socket is present?

Also, from the entrypoint logs,

Fatal server error:
(EE) no screens found(EE) 
(EE) 

I have seen this error before, but I cannot remember what I did to solve it.

@ehfd what do you think?

Oh, and what tool did you use to record your terminal @dgudim ? Thanks :)

@dgudim
Copy link
Author

dgudim commented Jun 2, 2024

If I can help you with debugging, I'll do what I can

Oh, and what tool did you use to record your terminal @dgudim ? Thanks :)

asciinema (https://github.com/asciinema/asciinema) (then converted to gif using https://github.com/asciinema/agg, then to mp4 and sped up some boring parts with ffmpeg :) )

@ehfd
Copy link

ehfd commented Jun 3, 2024

You need to clear all junk files which are supposed to lock the state of the screen and restart again. For more information, you need the Xorg.0.log.

@dgudim
Copy link
Author

dgudim commented Jun 3, 2024

Sorry for the delay, I almost got this working. The steps I took are as follows:

  1. Set default target of systemd to multiuser (instead of loading into graphical and then shutting down xorg)
  2. Removed nvidia drm fbdev kernel option (nvidia_drm.fbdev=1)
  3. Switched to using root docker instead of rootless and turned on cgroups in the nvidia container toolkit (they should be disabled when running in rootless)

Now everything seems to start normally and doesn't die. But upon loading the website I get a black screen and a COEP error

image

image

@dgudim
Copy link
Author

dgudim commented Jun 3, 2024

Adding the header with a header modifier extension worked as a temporary solution. Now I get this
image
However, the cursor is not captured so I am not able to do anything

@wanjohiryan
Copy link
Member

wanjohiryan commented Jun 4, 2024

Hey, that's really nice. At least you figured out the docker issue.

For the CrossOrigin Isolation header, they are now fixed... you should be able to play without requiring any extension(s).

As for the cursor, are you getting any announce_error logs on your console? If so, reload the page. It should fix that.

@dgudim
Copy link
Author

dgudim commented Jun 5, 2024

Hey.

For the CrossOrigin Isolation header, they are now fixed

Nice!

As for the cursor, are you getting any announce_error

No, but I am getting Uncaught (in promise) DOMException: The options asked for in this request are not supported on this platform when I click on the screen, I am trying from linux, don't know about windows, don't have any windows machines

Edit: Tested in a VM, the cursos binds, but it's not even close to 1:1 and after clicking 'yes' in the install prompt, the game didn't launch

Edit 2: Modified supervisor config to launch xterm, it worked! So it looks like the only real showstopper here is the requestPointerLock thingy probably

@dgudim
Copy link
Author

dgudim commented Jun 5, 2024

Seems like it's related to this piece of code, but I am not sure

    const [u] = ct();
    u.value && (await u.value.requestFullscreen(),
    u.value.requestPointerLock({
        unadjustedMovement: !0
    }))

@wanjohiryan
Copy link
Member

Thank you for the info @dgudim it seems like adjustMovement has an issue on Linux. Could you please write your system information on this open issue #77

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants