nestriness / nestri

[Experimental] Open-source GeForce NOW alternative with Stadia's social features
https://nestri.io
GNU Affero General Public License v3.0
1.41k stars 19 forks source link

[🐛 Bug] Cannot find .X11-unix directory #74

Open AppStudioLB opened 3 weeks ago

AppStudioLB commented 3 weeks ago

Hi In Step 5: Running Your Game, I cannot find the .X11-unix directory. It doesn't appear. How long do I need to wait? Thank You.

~$ ls -la /tmp
total 9548
drwxrwxrwt 1 root   root      4096 Jun  1 13:05 .
drwxr-xr-x 1 root   root      4096 Jun  1 12:56 ..
-rw------- 1 netris netris   94358 Jun  1 13:05 entrypoint-stdout---supervisor-d7yzyqo_.log
-rw------- 1 netris netris    1840 Jun  1 12:56 game-stdout---supervisor-3mnoij1_.log
-rw-r--r-- 1 root   root   9645427 May 18 00:55 nvidia_cuda_nvrtc_linux_x86_64.whl
drwxr-xr-x 3 root   root      4096 May 18 00:55 nvrtc
-rw------- 1 netris netris       0 Jun  1 12:56 pulseaudio-stdout---supervisor-0ws_usbu.log
drwx------ 2 netris netris    4096 Jun  1 12:56 runtime-1000
-rw-r--r-- 1 netris netris    1943 Jun  1 13:05 supervisord.log
-rw-r--r-- 1 netris netris       3 Jun  1 12:56 supervisord.pid
-rw------- 1 netris netris       0 Jun  1 12:56 warp-input-stdout---supervisor-23_qprtq.log

netris-proton -pr <game>.exe

And also it says 'No installed Wine/Proton found.'

wanjohiryan commented 3 weeks ago

Hi @AppStudioLB 👋🏾

Its seems like your entrypoint.sh script might be missing something.

What do you get when you run, "cat /tmp/entrypoint-stdout---supervisor-d7yzyqo_.log"?

AppStudioLB commented 3 weeks ago
http://: Invalid host name.
tar: /home/netris/Downloads/null.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
mv: cannot stat '/home/netris/.steam/root/compatibilitytools.d/*roton*': No such file or directory
grep: /home/netris/.steam/root/compatibilitytools.d/protonge/version: No such file or directory
Can't open /home/netris/.steam/root/compatibilitytools.d/protonge/version: No such file or directory.
Hit:1 https://dl.winehq.org/wine-builds/ubuntu mantic InRelease
Hit:2 http://security.ubuntu.com/ubuntu mantic-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu mantic InRelease
Hit:4 http://archive.ubuntu.com/ubuntu mantic-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu mantic-backports InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
winehq-staging is already the newest version (9.10~mantic-1).
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
/etc/entrypoint.sh: line 70: /proc/driver/nvidia/version: No such file or directory
curl: (22) The requested URL returned error: 404
curl: (22) The requested URL returned error: 404
Failed NVIDIA GPU driver download. Exiting.
[2024-06-02 02:27:56] Path '/dev/uinput' is not present.
[2024-06-02 02:27:56] Path '/dev/input/event*' is not present.
[2024-06-02 02:27:56] Not modifying user groups ()
 * system message bus already started; not starting.
Proton GE not found, installing...

When I look at the log file, this error occurs repeatedly.

wanjohiryan commented 3 weeks ago

It seems like entrypoint is having trouble downloading Nvidia drivers for you.

Could you try running

"nvidia-smi" for me please.

Also, run this bash command while inside the container:

head -n1 </proc/driver/nvidia/version | awk '{for(i=1;i<=NF;i++) if ($i ~ /^[0-9]+.[0-9.]+/) {print $i; exit}}'

AppStudioLB commented 3 weeks ago

nvidia-smi

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.76.01              Driver Version: 552.44         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2060        On  |   00000000:01:00.0  On |                  N/A |
| 30%   35C    P8             12W /  160W |    1540MiB /   6144MiB |      7%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

bash command It says : bash: /proc/driver/nvidia/version: No such file or directory

wanjohiryan commented 3 weeks ago

There seems to be a problem with identifying your Nvidia drivers version.

How are you passing the GPU to the container? Are you passing in the --device=/dev/dri too?

Can you also run nvidia-smi inside the container too.

AppStudioLB commented 3 weeks ago

My comment above refers to the container’s status(nvidia-smi). Additionally, when I check it in the cmd(powershell) and I can see the Docker in the process list.

djpremier commented 3 weeks ago

Hi

@AppStudioLB. Are you using Windows right? At the moment the project is not compatible with it, only Linux-based operating systems are compatible (preferably Ubuntu or Debian)

@wanjohiryan. I had the same problem when I tried to use the project on Windows (WSL), there are some ways to get around this, but so far I haven't been able to get the project to run. I believe it would be important to put a disclaimer in the Readme (at least momentarily) that the project is only compatible with Linux.

wanjohiryan commented 3 weeks ago

I will do that, thank you @djpremier for the info.

Seems like Nvidia has trouble passing the GPU over to the container on WSL. Did you manage to make it work? If so, how?

I would really love to support WSL

djpremier commented 3 weeks ago

@wanjohiryan

There are some other parameters that need to be placed in docker run to pass the information that is in WSL regarding the video card. Ideally, you should not install the driver within Docker, as it would be managed by the driver itself that is in Windows, but currently it is necessary to do this in order to have the nvidia-xconfig command (if there is an alternative way to install it or collecting the information would be better).

The problem I have now is the following, WSLg makes graphical applications work without problems, but to do so it instantiates Xwayland itself, so when trying to execute the Xorg vt7... it gives an error because it already exists a running process. The way to get around this is to disable WSL's graphical applications, but the problem is different, it says that there is no screen and consequently it cannot run.

One point I would like you to check on your Linux OS is whether there is /dev/fb0, because in WSL this does not exist (framebuffer) and will not be supported (at least not currently) as the WSL kernel is built without the lib required, the way to get around this would be to do a custom build. So I wanted to see if Xorg really doesn't work if this "device" doesn't exist.

If you want, we can talk on Discord and do some tests, but I'm really running out of ideas on what to modify to be able to execute the project hehe. (My English is pretty bad, but we can try calling too)