CRT curvature fill in is white after "Improve terminal frame and expose frame size setting." #739
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Screenshot @

3104abd4ad
:Screenshot @

4abbe332db
:This is with the frame size set to zero. Also note the reflected text at the top left.
This is a repeat of #703
Is there anything that can be done to fix this issue?
If this is a nvidia-only issue as claimed on that issue, then it could be due to an uninitialized buffer. I forget where I saw it, but the other drivers will zero new buffers by default. Technically GL doesn't require that, so nvidia doesn't do it.
After going through the shader code it seems the problem is with the positiveLog helper function:
4abbe332db (diff-cd3590184ef3de51987420ae526e23d1cbe53a6a353ceb217cd82b763120f1eeR75-R77)
The frameColour is multiplied by the value it returns. The maximum value is 100.0, which is far too big and blows out whatever colour the frame was supposed to be, making it effectively full white all the time. Changing it to values like 2.0, 5.0, 10.0 etc results in the frame corners looking darker than the rest, like this: (note I have made the background green so i can easier see what is going on)
Changing the maximum value to 1.0 makes the frame look okay but makes the shadow look weird:

Clamping the result only for the frame results in this:

This last one looks the most reasonable to me, but I am not sure what it really supposed to look like. Also, I don't yet understand why this would only affect Nvidia drivers.
Another possible fix is to just revert the change from using clamp to max for the frame:
4abbe332db (diff-cd3590184ef3de51987420ae526e23d1cbe53a6a353ceb217cd82b763120f1eeR90)
This produces a similar result, but the frame and shadow are slightly lighter:
I'm confirming this bug exists on Debian 11 with the latest nvidia drivers.
Also confirming that changes suggested by @ali1234 look good, except for the frame shadow as noted. Changing the max value compared in the
positiveLog
function from100
to1
fixes the screen curvature appearing opaque white, but also makes the frame shadow appear way too big. I'm comparing to the demo screenshots in the readme.Can also confirm bug is present on arch when run with nvidia drivers.
kernel: 5.18.16-zen
nvidia-dkms: 515.65.01-1
Chiming in here.
Archlinux
kernel: 6.0.5-zen1-1-zen
nvidia-dkms: 520.56.06-2
crt: 1.2.0-2
(Don't have an old version to show it off working, sorry)

Can confirm that changing L90 of
app/qml/TerminalFrame.qml
fromframeShadow = max(sqrt(frameShadow), 0.0);
toframeShadow = clamp(sqrt(frameShadow), 0.0, 1.0);
and recompiling is a "good enough for now" fix for anyone who wants one.this issue is now 7 months old, and last commit was a year ago according to github, is this project no longer maintained? based on the "solution" proposed by WhiskeyTuesday it doesn't appear to be that complicated of a fix.
Seems like it's a great time to fork this project and work on it separately while this one is just left to die a slow death.
Tbh, I stopped using the program long ago. It's a fancy idea, but with the bugs and excessive system resource use...who cares?