hecrj / coffee

An opinionated 2D game engine for Rust
https://docs.rs/coffee
MIT License
1.08k stars 55 forks source link

Examples only render one frame on ChromeOS and can't interact or close #134

Open mlamoore opened 4 years ago

mlamoore commented 4 years ago

On ChromeOS 81 (Intel x-86 processor running Debian on a VM), with coffee 0.4.1 (features "opengl" and "debug"), I've tried running the "ui" and "mesh" examples. When running either example, it renders the first frame properly, but clicking the window does nothing.

Instead of the normal minimize, maximize, close buttons, the window has down arrow, up arrow, close buttons. The program doesn't show up in ChromeOS's status bar and I can't close it or even move it around with the mouse. Hitting Ctrl-C in the terminal window where I ran 'cargo run' closed the window, though.

The debug info shows a load time of 60-100ms, interact time of about 10ms, and all the rest of the times show 0us. These numbers are static and do not change, as if only one frame is ever rendered.

Any advice on how to go about debugging this? I'm guessing the way coffee is creating its window isn't getting along with how ChromeOS integrates the Linux windows with the ChromeOS window manager, but I'm more familiar with embedded dev, I'm feeling out of my depth here.

JohnDoneth commented 4 years ago

I'm curious if Vulkan works any better under ChromeOS's emulation.

mlamoore commented 4 years ago

ChromeOS runs Linux programs in a VM (which is running Debian). The virtual GPU that provides hardware acceleration to the VM only supports OpenGL, not Vulkan.