No device available?

I’m trying to run an SDL program inside a VM. I ran my SDL driver test app, which uses the following code to enumerate renderers available:

for i := 1 to SDL_GetNumRenderDrivers do
begin
SDL_GetRenderDriverInfo(i, driverInfo);
radDriverList.Items.Add(driverInfo.name);
end;

radDriverList is a radio button group box. It ends up with the following choices:

gdi, opengl, software, software

When I click on the OpenGL one to examine its available render modes, I see Single Buffer, Flip 3, VSync and Accel. So SDL is reporting that I have an OpenGL driver available that should be able to handle triple-buffering.

Then when I go to create an SDL window, using the OpenGL flag, it creates successfully, but when I try to create a renderer for it with the triple-buffer flag, I get -1. A call to SDL_GetError returns “CreateDevice(): NOTAVAILABLE”

Anyone know what’s going on here?

I’m not sure what is wrong, but a bit more information would be helpful.

Host OS, VM type and Guest OS, to start with.

Pat>

From: Mason Wheeler
To: sdl
Sent: Thursday, July 16, 2009 10:24:30 AM
Subject: [SDL] No device available?

I’m trying to run an SDL program inside a VM. I ran my SDL driver test app, which uses the following code to enumerate renderers available:

for i := 1 to SDL_GetNumRenderDrivers do
begin
SDL_GetRenderDriverInfo(i, driverInfo);
radDriverList.Items.Add(driverInfo.name);
end;

radDriverList is a radio button group box. It ends up with the following choices:

gdi, opengl, software, software

When I click on the OpenGL one to examine its available render modes, I see Single Buffer, Flip 3, VSync and Accel. So SDL is reporting that I have an OpenGL driver available that should be able to handle triple-buffering.

Then when I go to create an SDL
window, using the OpenGL flag, it creates successfully, but when I try to create a renderer for it with the triple-buffer flag, I get -1. A call to SDL_GetError returns “CreateDevice(): NOTAVAILABLE”

Anyone know what’s going on here?

Host OS: Vista Home Premium 64-bit, SP1
VM type: Virtual PC 6.0
VM OS: XP Home 32-bit, SP3

I’m not sure what is wrong, but a bit more information would be helpful.

Host OS, VM type and Guest OS, to start with.

PatFrom: pbratkowski@yahoo.com (Patryk Bratkowski)
Subject: Re: [SDL] No device available?

From: Mason Wheeler <@Mason_Wheeler>
To: sdl
Sent: Thursday, July 16, 2009 10:24:30 AM
Subject: [SDL] No device available?

I’m trying to run an SDL program inside a VM. I ran my SDL driver test app, which uses the following code to enumerate renderers available:

for i := 1 to SDL_GetNumRenderDrivers do
begin
SDL_GetRenderDriverInfo(i, driverInfo);
radDriverList.Items.Add(driverInfo.name);
end;

radDriverList is a radio button group box. It ends up with the following choices:

gdi, opengl, software, software

When I click on the OpenGL one to examine its available render modes, I see Single Buffer, Flip 3, VSync and Accel. So SDL is reporting that I have an OpenGL driver available that should be able to handle triple-buffering.

Then when I go to create an SDL
window, using the OpenGL flag, it creates successfully, but when I try to create a renderer for it with the triple-buffer flag, I get -1. A call to SDL_GetError returns “CreateDevice(): NOTAVAILABLE”

Anyone know what’s going on here?

Do non-SDL OpenGL applications that use triple buffering work?On Thu, Jul 16, 2009 at 11:24 AM, Mason Wheeler wrote:

I’m trying to run an SDL program inside a VM.? I ran my SDL driver test app,
which uses the following code to enumerate renderers available:

?? for i := 1 to SDL_GetNumRenderDrivers do
?? begin
??? SDL_GetRenderDriverInfo(i, driverInfo);
??? radDriverList.Items.Add(driverInfo.name);
?? end;

radDriverList is a radio button group box.? It ends up with the following
choices:

gdi, opengl, software, software

When I click on the OpenGL one to examine its available render modes, I see
Single Buffer, Flip 3, VSync and Accel.? So SDL is reporting that I have an
OpenGL driver available that should be able to handle triple-buffering.

Then when I go to create an SDL window, using the OpenGL flag, it creates
successfully, but when I try to create a renderer for it with the
triple-buffer flag, I get -1.? A call to SDL_GetError returns
"CreateDevice(): NOTAVAILABLE"

Anyone know what’s going on here?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


http://codebad.com/

No idea. Though I just found out that trying to create a renderer for a window created without the OpenGL flag results in the exact same error, so it doesn’t seem to be an OpenGL issue specifically.

Do non-SDL OpenGL applications that use triple buffering work?From: donny.viszneki@gmail.com (Donny Viszneki)
Subject: Re: [SDL] No device available?

On Thu, Jul 16, 2009 at 11:24 AM, Mason Wheeler<@Mason_Wheeler> wrote:

I’m trying to run an SDL program inside a VM. I ran my SDL driver test app,
which uses the following code to enumerate renderers available:

for i := 1 to SDL_GetNumRenderDrivers do
begin
SDL_GetRenderDriverInfo(i, driverInfo);
radDriverList.Items.Add(driverInfo.name);
end;

radDriverList is a radio button group box. It ends up with the following
choices:

gdi, opengl, software, software

When I click on the OpenGL one to examine its available render modes, I see
Single Buffer, Flip 3, VSync and Accel. So SDL is reporting that I have an
OpenGL driver available that should be able to handle triple-buffering.

Then when I go to create an SDL window, using the OpenGL flag, it creates
successfully, but when I try to create a renderer for it with the
triple-buffer flag, I get -1. A call to SDL_GetError returns
"CreateDevice(): NOTAVAILABLE"

Anyone know what’s going on here?

2009/7/16 Mason Wheeler :

No idea.? Though I just found out that trying to create a renderer for a
window created without the OpenGL flag results in the exact same error, so
it doesn’t seem to be an OpenGL issue specifically.

SDL may be using OpenGL by default if you’re using 1.3.
Decent 3D graphics support is pretty rare in virtual machines. You
might want to try VirtualBox since they have OpenGL (no DirectX
though).