Re: [AD] Fullscreen problems on Linux |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
OK here's my proposal...Since we don't have a way to detect a broken WM, we should do what SDL does. Namely if the window manager supports going fullscreen, we should emulate a real fullscreen mode by scaling the backbuffer.
Some points:- We don't need any integer, etc modes. The user can do this themselves. Example: they request a 640x480 fullscreen display, the native res is 1280x720 so the user sets up a transform themselves to keep their rendering at 16:9.
- We can use the patch I posted as a starting point but we have to fix the problems on xfwm4 and any others. This means we do not use ALLEGRO_FULLSCREEN_WINDOW, we use window manager fullscreen but we fix the problems with the patch.
Trent On 2014-07-09 3:18 PM, Thomas Fjellstrom wrote:
On Wed 09 Jul 2014 03:05:48 PM Trent Gamblin wrote:Maybe I didn't explain it right but I believe if you request a smaller size then it fills it out with black. Not sure what the window size is but there doesn't appear to be a border on it.Ah, so it might reparent us. Or potentially it just makes sure to remember the windows's requested size, and the size it sets it to, then blits our hidden backbuffer to the real window (compositing turns all windows into render buffers).Trent On 2014-07-09 1:56 PM, Thomas Fjellstrom wrote:On Wed 09 Jul 2014 01:33:54 PM Trent Gamblin wrote:I don't know what it looks like under the hood, but when I uncheck "legacy fullscreen support" for Compiz, Allegro doesn't fail to create the display, instead it creates a big window that covers everything except the Unity dock and title bar.Query our window size after we are fully mapped?Trent On 2014-07-09 1:14 PM, Thomas Fjellstrom wrote:On Wed 09 Jul 2014 01:12:04 PM Trent Gamblin wrote:If you can figure out how to detect if mode setting doesn't work that would be a good start.Indeed. Hmm. Well, there ought to be something we can ask the WM or X. If it won't set modes, that operation should either fail, or not be available at all.Trent On 2014-07-09 1:09 PM, Thomas Fjellstrom wrote:On Wed 09 Jul 2014 09:45:47 AM Trent Gamblin wrote:A full screen blit is not negligible on a netbook or similarly low powered computer. It's a huge difference. The point is, whether you personally would use it or not mode setting is something that should be supported for people who want it. We won't get it though because open source devs are morons as usual.Personally I think we need both mode setting, and emulation. Of course if the WM breaks mode setting on us, there's not much we can do about that. It'll have to go in a FAQ, possibly in the docs, and on the wiki. "Hey, your WM is broken!" And compiz is truly broken. A lot of things were broken when I was writing the full screen and mode listing code, so much so that I gave up trying to fix it all. But yeah, if we can detect that mode setting is broken in ALLEGRO_FULLSCREEN, it might make sense to emulate in that case. And allow the user to select the emulated case as well.Trent On 2014-07-09 9:30 AM, Elias Pschernig wrote:On Wed, Jul 9, 2014 at 5:11 PM, Beoran <beoran@xxxxxxxxxx> wrote:Elias, I beg to disagree on that point. Real mode setting is essential for games and perhaps surprisingly so, for security applications. Not everyone uses a low quality LCD panel that only works well at it's native resolution as their display! What if I want to show my images on a real TV, or on a high quality display that supports mode setting well?Which theoretical displays are you talking of? Everything I know, especially TVs (be it LCD, LED, plasma), has a native resolution and running something in another resolution looks bad.Also, for games, especially old games, retro games, or games that have to run well on older computers or low powered ones, the ability to mode set is essential for higher performance and pixel perfect quality. So we can give our players what they want. But no one in the Wayland team thinks much of games or industrial control safety apps...I don't think performance matters. The game itself would still use the lower resolution so there is no difference. The only change is the one final scaled image in al_flip_display - any GPU in existance should be able to perform that without noticable overhead. Also, the quality will be better. If you use a mode-changing fullscreen, then the monitor itself will have to do the scaling. But it has no GPU so will do a very crude and low quality job. That's certainly true for any LCD monitor I've ever had. Using the GPU to do the scaling on the other hand you can get good quality scaling. Also, I suggested an extra integer-only scaling mode, which would make sure there's no possible scaling artefacts at all. Something mode-changing fullscreen would not allow. -------------------------------------------------------------------- -- -- -- ---- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft--------------------------------------------------------------------- -- -- --- -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft----------------------------------------------------------------------- -- --- -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft------------------------------------------------------------------------- --- -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft---------------------------------------------------------------------------- -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |