I'm using WSL2 on Ubuntu 18.04 to run Ruby code in Windows 10. For example, running Ruby on Rails is easily done with no special setup required.
In case of Ruby2D: The installation went fine but, I get an error when running any Ruby2D file, even the most basic one:
require 'ruby2d'
show
I get this error in Console:
error: XDG_RUNTIME_DIR not set in the environment.
Error: (SDL_Init) No available video device
error: XDG_RUNTIME_DIR not set in the environment.
Error: (SDL_CreateWindow) No available video device
Error: (GL2 / SDL_GL_CreateContext) Video subsystem has not been initialized
Error: An OpenGL context could not be created
How do I "add" (or config) a "video device" to my Ubuntu on the WSL2?
CodePudding user response:
As you've noticed, WSL under Windows 10 doesn't have any GUI/X/windowing capabilities built in. There are a few possibilities:
- If you have the ability to upgrade to Windows 11, it supports WSLg (built-in) for running Linux GUI apps directly on Windows. I did just install Ruby, ruby2d (and its dependencies) and was able to successfully execute your example. I assume it is just supposed to show a blank GUI window ...
If you can't upgrade to Windows 11, there are still several possible alternatives for running Linux GUI apps. I have not had a chance to test ruby2d in this type of environment, but I believe it should work. If you run into issues, I can at least get the first option up and running to try it out and see if we can work through it:
First, my preference is to install
xrdp
and a simple window manager likexfce
. See my answer here for details and instructions. You don't need the full Gnome environment (which requires Systemd) - A simple installation of Xfce should do.However, the most popular method is to install a third-party X server on Windows 10 and set up the
DISPLAY
variable manually. If you'd like to go this route, see this question and its answer for details.
CodePudding user response:
You might want to have a look at this. I am pretty sure that this won't work - I had to scourge a lot of different articles to make it functional.
One way to make it work on your device would probably be to use X-Server, but it is not worth the hassle. Install Linux as dual-boot.