Fullscreen mode problems

I remember it worked in some older version (maybe it was 1.9.x, I don’t remember the exact version).
I’m using WindowProperties to set the fullscreen/window mode and window size/origin.
I also tried a simple example (like carousel from the samples) with setting fullscreen in Config.prc.
Panda3D crashes in the both ways with:
direct/showbase/ShowBase.py", line 802, in _doOpenWindow
AssertionError: has_size() at line 140 of built/include/windowProperties.I

Panda3D version - 1.10.2, OS - Ubuntu Linux.

I also tried to make fullscreen borderless window with properties.set_undecorated(True), it works, but it’s not much useful because I can’t switch to Panda3D window (with alt+tab), it doesn’t have an icon and I can’t move it between a monitors.

You should upgrade to 1.10.4.1. As the 1.10.3 release notes state:

  • Fix issues when starting in fullscreen on Linux/X11

I’ve seen this too, I believe. I don’t know whether it’s a Panda issue, or an Ubuntu one, however.

Thanks. The fullscreen works in 1.10.4.1.

I think it’s a Panda issue. I did some research and figured out that Panda uses net_wm_splash class for those windows. I think there should be a better way to make borderless windows. For example Firefox works perfectly with borderless windows (in fullscreen YouTube or F11-mode), it shows an icon in the taskbar and has ability to move around those windows (between monitors and virtual desktops).

Fair enough, then–you make a good point, I think. In that case, perhaps it’s worth creating an issue for it on the GitHub issue-tracker?

Sure, made one - https://github.com/panda3d/panda3d/issues/739

1 Like

Found another fullscreen problem on the same setup.

When I switch into fullscreen mode with properties.set_fullscreen(True) the window opens on a monitor 1.
Everything works fine if I keep the window on the monitor 1.

If I move the window to the monitor 2 it works fine until I hide the window cursor and switch to the M_relative mouse mode.
So if I switch into M_relative with properties.set_mouse_mode(WindowProperties.M_relative) and hide the mouse cursor with properties.set_cursor_hidden(True) the window stops updating/rendering the frames. I can see the last frame only. To resume the updating/rendering I have to show the mouse cursor again and switch back into M_absolute mode.