tinydisplay usage

I plan to make small 2d app using tinydisplay. I have some questions:
a) tinydisplay doesn’t request resouce from graphic card, right? so it should run along with other 3d program which use gl or dx without any problem. but can two 3d program which use gl or dx share a graphic card? as gl is better than tinydisplay, i prefer to make the 2d app with gl if it doesn’t interfere with a running 3d program(which is usually a heavy 3d game).
b) I tried to use non-power-of-2 texture in tinydisplay, but it became blank texture. if tinydisplay doesn’t use graphic card to render, why is there still a restriction to use power-of-2 textures?

panda3d is great! I think I can make small desktop apps with it, without learning yet another dev tool to make the GUI.

(a) tinydisplay doesn’t use the hardware acceleration of your graphics card. But modern graphics cards can generally run multiple OpenGL and/or DirectX applications simultaneously without any real issues, especially if they’re scenes simple enough to be supported by tinydisplay.

(b) supporting arbitrary sized textures is much harder, algorithmically, than supporting only power-of-2 textures. This is why many graphics cards didn’t attempt to do so. It’s the same reason that tinydisplay doesn’t attempt to do so. Use power-of-2 textures when you are using tinydisplay. Panda has many feature to make this automatic and easy.