Git Product home page Git Product logo

Comments (30)

vygr avatar vygr commented on May 6, 2024 1

Been trying a new approach that you may care to test. Branch SDLfix. Uses a back buffer of a full screen texture and render to texture features. This seams to work on SDL 2.0.10 MacOS, but I have issues running it on my Ubuntu VM (VirtualBox GL driver is not great !) and on Windows SDL 2.0.10 just crashes on the texture create call :(

But you can try this branch and swap between dual and single buffer modes using the setting at the top of gui/gui.vp:

(defcvar 'dual_buffers nil) t|nil here

Don't forget to do a 'make boot' in the ChrysaLisp terminal and then relaunch.

Let me know how you get on with this. Thanks

I may merge this into the master branch and set it to default to t, dual buffering until SDL fixes the crash on Windows and the Linux issues. This doesn't fix the WINDOW_RESTORE min/max event missing though. But this does cure the triple buffering and lost context on virtual screen scrolling issues.

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

I've since been trying to take a new screenshot for the README.md file with a wallpaper and I had some screen flickering issues after resizing the window as well. Resolves after switching to and from fullscreen.

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

This works here, which is not to say you're not seeing an issue. I had serious problems with SDL 2.0.8 but 2.0.9 did seam to have fixed this.

One thing I have noticed recently after 2.0.9 is that I sometimes notices a small delay, almost like a GC is happening. I'm not ruling out that this may be the same issue somehow.

Is anyone else seeing this issue ? I'll try to test on my Ubuntu 18.04 test setup too.

Do you find if you drag a window around the black areas redraw ?

Chris

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

The symptoms also seams to suggest that the dual buffering is an issue. There are 2 frames, each is updated every other frame, so as you press each key that would cause a switch to the next buffer, sounds like one of them isn't redrawing when you see that flick to black and back on key pressing.

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Checked on my Ubuntu 18.04 VM and all is working there with resize, full screen, min/max.

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

I’m wondering if there is some conflicting library that is causing them issue. Your machine does have hidpi, yes?

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

I just tried on my older 2014 MacBook, High Seira OS. That work fine too. But slight difference when resizing, the screen is black while resize until you let go and then the ChysaLisp desktop rebuilds.

My normal machine is a MacBook Pro (15-inch, 2018) with Mojave, and that shows a scaled version of the window as you resize.

Both are retina screens, but I don't run in full hidpi mode as my eyes are too bad. I run in scaled mode, I'll do some test on that now !

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

main.zip

Here is my main executable compiled just now. Just unzip that and see if ./run.sh is any better. I noticed when SDL 2.0.8 was going wrong that compiling on my High Sierra MacBook would fix the problem. So give that a try as a test.

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Another thing I noticed on SDL 2.0.9 was that the caps lock key mod is broken ! It worked fine in 2.0.8. so SDL has had a few issues recently. If you have caps on you'll notice that the GUI terminal doesn't do it !

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Bring up your TUI, with ./run_tui.sh, type 'make all boot'. cntrl-c out then ./run.sh just to make sure your boot_image is good.

At this point I'm a bit stuck for suggestions :(

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

If I turn off dual buffering support, see the top of gui/gui.vp, (defcvar 'dual_buffers t) and remake the boot_image, I replicate what you're seeing. But the only way you could be showing that issue when you have got dual_buffering on is if you had triple buffering turned on somehow ?

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

I upgraded my SDL to the latest version from the SDL website and I can see the problem now ! I definitely see 3 separate frame buffers ! So I will investigate if I can fix things ! Good spot for noticing this ! Thanks

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Also, broken virtual screen scrolling, min/max restore notification and various other things :( This could be that they have changed the ABI or enums for these events, I will look into that.

On the good side, they have fixed the caps lock key problem......... lol :)

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Here is the older SDL frameworks that worked ! I'll put these in the repo if you say this fixes things for you. I can't be certain when or if SDLs crew will fix things, good job I kept a backup of this version ;)
SDL_MacOS.zip

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Some more info. SDL 2.0.10 is not sending the SDL_WINDOWEVENT_RESTORED event after returning from minimised state ! It is also loosing the GL context if the window goes off screen (during a virtual screen scroll etc) and not sending an SDL_WINDOWEVENT_EXPOSED event or anything useful to help restore things. It is freezing the update of the window during a virtual screen scroll (didn't used to do that) and switching to tripple buffering in full screen mode (which it didn't do or need to do) :(

SDL 2.0.10 really does seam to have broken lots of things !

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

Hey Chris,

Sorry for the late response. The holidays are very hectic right now. I should be somewhere stable enough to I’ll try things out sometime this afternoon, and let you know which ones yield the best results. I also have VMWare Fusion so I can try some flavor of Debian and report back on that.

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

Also, broken virtual screen scrolling, min/max restore notification and various other things :( This could be that they have changed the ABI or enums for these events, I will look into that.

On the good side, they have fixed the caps lock key problem......... lol :)

Caps lock keys are good.

I’ve my caps lock and ctrl keys mapped backwards. There’s a nub where my index finger ought to be, and it makes my hopping back and forth between d and f a bit easier (mostly in Linux)

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

Just did a cursory test of the most recent updates with MacOS on my machine. After switching the flag to nil, everything seemed to be much improved. MacOS doesn't seem to bothered either way.

Ubuntu seems to operate without much hinderance.

As you said the resize of windows is broken, but the windows visible, so that's something. Outstanding work here.

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Thanks for the testing. I’m not happy with this render to texture way of doing things. It’s definitely slower than previously as it requires a full screen sized texture blit per update. Even if you only change a single pixel ! So you notice it on platforms like the Raspberry PI which didn’t have the memory bandwidth of a desktop.

So that’s why I’ll default to the dual buffer method and hope SDL future versions start to operate as they did previously.

Technically they are within spec to switch to triple buffering. They would even be in spec to wipe every frame to black after it becomes the back buffer. GL spec is vague on this, in the dual buffer method I’m relying on most implementations not clearing the back buffer on a swap, or inserting another buffer like when switching to triple buffering.

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

Would standard resolutions help at all? Host windows being kept in 4:3 16:9, etc? Does this create problems that you want to avoid or does it not really help? I'm satisifed with the current fix for now. I've had the system up and running without issue in both linux and macos for nearly 24 housr with no prooblem.

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Resolution isn't the issue, but having some menu options for standard values might be nice, it's how SDL has changed and/or broken their buffering and expose events. I'm sure they will resolve things in the next release, they did so with the 2.0.8 problems.

If they don't get resolved then I'll just have to do my own host window layer and remove SDL from the hosted versions, I hope I don't have to do that, but I had to do a similar thing with NASM.

I pushed an update with a more flexible buffering system yesterday BTW.

We might benefit from a few standard resolution versions of the wallpaper image though, so we have maybe 640x480, 1280x1024 and 1920x1080 or such to pick from before the resize ?

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

I should be able to have those up today or tomorrow. I've been visiting with family and they've been a constant disruption to doing other things. :)

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

So, the original wallpaper file wasn't backed up. It felt a bit blurred anyways. Here is a new one, that is similar. Hopefully you'll like. Otherwise we can just scale what we have and I can work on another iteration.
wallpaper.zip

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

I really don't like the black outlines on this version ! The previous version worked really well, but there is something very disturbing about those black outlines !

BTW best wishes on the new decade etc !

Just pushed some a new doc file on the messaging system that might be a good read for you.

Thanks you for your contributions ! They are most appreciated.

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

Sorry for such intermittent communication as of late. My wife is off of work for the holidays, so I'm spending a great deal less time on projects than I normally do.

I'll work on the logo again this week. I honestly can't tell what happened to the currently used wallpaper. I'll try to do something more inline with the original. I'm still not entirely sure what happened to the original.

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

Turns out I had most of the ingredients in an old file. What do you think about this one? I particularly like the addition of the butterfly shadow, but if you don't like it I can change it easily enough. I used Affinity Designer to create the logo and the wallpaper, but I can export to PSD if you want to do any modifications personally.
ChrysaLisp1280x960.tga.zip
I can add the relevant sizes if you like it. What license do you think it should be released under? I'm not particular about it, but I would like to retain some form of attribution. I have no interest in keeping copyright over such things, and I don't want you to feel like it can be snatched or that you lose ownership of the OS in anyway.

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Yes, that looks really nice ! Very clean, love the shadowing as well.

We do need to agree on the copyright situation if we are to adopt this as the official logo/wallpaper, I want to make sure you get the recognition for this design, but yes we must have the ownership transferred to the 'project' or 'company' if such is created for the project.

IANAL ! But if we have these threads to show intent to allow the project to own the design then I'm sure that will be ok. As I say I will insist as things go forward that you get the recognition you deserve for doing these ! Nice job !

Chris

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

I'll work on getting standard sizes packed tomorrow then. I'm glad you like this one, because it's my favorite.

from chrysalisp.

nuclearfall avatar nuclearfall commented on May 6, 2024

Here are the wallpaper sizes you requested. As for the images, will the following do for a very basic statement of copyright transfer for now. If we need to refine it later, that's fine:

Copyright for images created by Gary Boyd for the ChrysaLisp OS is transferred to the project developer, Chris Hinsley. Attribution for creation of these works should be included in distribution of ChrysaLisp OS or derived works in which they appear. No warranty is given, and no liability for use or distribution is expressed or implied by the works' original copyright holder.

wallpapers01152020.zip

from chrysalisp.

vygr avatar vygr commented on May 6, 2024

Many thanks, I will add this text to the wallpaper app along with the new selection of images !

Chris

from chrysalisp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.