CESNET / UltraGrid

UltraGrid low-latency audio and video network transmission system
http://www.ultragrid.cz
Other
485 stars 55 forks source link

vulkan_sdl2 fullscreen not working properly in ubuntu 23.10+ #364

Closed alatteri closed 7 months ago

alatteri commented 7 months ago

Hello,

I use UG in a kiosk style installation that is a very minimal Ubuntu Server with just enough components installed to display UG using vulkan_sdl2. In Ubuntu 22.04 this worked great, but starting with 23.10 and continuing into 24.04 beta, the fullscreen :fs option is not working properly. When having the display at 1920x1080 UG seems to use only about half the screen, and when the display is set to 3840x2160, it seems to use about a quarter. See photos.

If I install a full Gnome desktop environment, this issue is NOT present though. I'm wondering if this has something to do with a move towards Wayland on the newer Ubuntu versions?

If I switch to plain SDL display type in UG, then everything works fine, but I am looking to take advantage of the performance and 10bit capabilities of vulkan.

Any thoughts?

Thank you.

IMG_1733

TheSashmo commented 7 months ago

I've been playing a lot with wayland lately (some digital signage stuff) and I found the only way to get around this is to force the resolution of the display to follow my output of my content. The upscaling to larger than the source is absolute SH!T for now until Wayland gets more developed.

alatteri commented 7 months ago

Hi @TheSashmo I have tried forcing the display to HD with xrandr and also having my UG content be HD, and the issue still exists.

I've confirmed that my environment is actually still running x11, issuing this echo $XDG_SESSION_TYPE

mpiatka commented 7 months ago

Are you perhaps running UltraGrid in a plain X11 session without any window manager whatsoever? I was able to reproduce the issue that way.

The problem seems to be that SDL makes windows fullscreen by setting the _NET_WM_STATE_FULLSCREEN hint which the window manager is supposed to interpret and resize the window.

As a workaround you could set the window position and dimensions manually using vulkan_sdl2:pos=0,0:size=<W>x<H> (I just made a change that also allows using -1x-1 as size to automatically detect the display resolution) or simply use some minimal window manager like i3 or openbox.

alatteri commented 7 months ago

Hi Martin... Yes that is probably it, no Window Manager. I will try the fix. Thank you.

alatteri commented 7 months ago

The fix works... thank you very much. vulkan_sdl2::pos=0,0:size=-1x-1