Cool Retro Term stops burning in some cases

Bug #2013430 reported by FishBone E.K.
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cool-retro-term (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

CRT stops burning in in some cases, and renders the burn in effect only at key stroke, or when terminal outputs.

Until now, following cases where CRT stops burning in are observed:
* When you die once in the terminal game moon-buggy, CRT pauses burning in for 1~2 seconds
* When you lost all your lives in moon-buggy, CRT stops burning in
* After some daily terminal operation being done in CRT

From the cases above I guess this bug has something to do with the program state which is running in CRT

I have also tried changing desktop manager and desktop environments (gdm -> sddm, gnome -> kde), but the issue is still present.

Ubuntu 22.10
cool-retro-term 1.2.0
moon-buggy 1.0.51

ProblemType: Bug
DistroRelease: Ubuntu 22.10
Package: cool-retro-term 1.2.0+ds-7
ProcVersionSignature: Ubuntu 5.19.0-38.39-generic 5.19.17
Uname: Linux 5.19.0-38-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.23.1-0ubuntu3
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: KDE
Date: Fri Mar 31 11:04:56 2023
InstallationDate: Installed on 2022-02-18 (405 days ago)
InstallationMedia: Ubuntu 20.04.3 LTS "Focal Fossa" - Release amd64 (20210819)
SourcePackage: cool-retro-term
UpgradeStatus: Upgraded to kinetic on 2023-03-10 (20 days ago)

Revision history for this message
FishBone E.K. (fishboneek) wrote :
Revision history for this message
Lenin (gagarin) wrote :

I can't reproduce, the burn in effect works perfectly for me and can be adjusted in Settings,
also on Ubuntu 22.10.

Changed in cool-retro-term (Ubuntu):
status: New → Incomplete
Revision history for this message
FishBone E.K. (fishboneek) wrote :

This is weird, will provide more info here
I ran more tests, on my laptop if I run CRT in fullscreen, playing moon-buggy won't reproduce the bug
However if I run in windowed mode, the bug is still here

Lenovo Y400 ideapad
Intel i7 3630QM
NVIDIA GT 750M (Motherboard was changed before, original one was 650M)
Intel GPU is disabled on hardware level on this type of motherboard
Note that my nvidia graphic card is unstable, most 3D video games on Windows crashes or screen freezes randomly. On Ubuntu, I also found some warning log entries related with my graphic card. Display issues did happen for multiple times on my Ubuntu.
Not sure if this bug is caused by my graphic card, though

Revision history for this message
FishBone E.K. (fishboneek) wrote (last edit ):

I think I found the bug cause.
I downloaded the src from GitHub, after some debugging, I found that:
In app/qml/BurnInEffect.qml, there's a func completelyUpdate, which sets var prevLastUpdate to lastUpdate, and var lastUpdate to timeManager.time.
These 2 vars are used as time delta for calculating the blur decay of the terminal.
The timeManager.time is obtained from app/qml/TimeManager.qml, which describes a timer, which starts counting when the CRT window starts up.

The timeManager has a property `time`, and if your FPS setting is not 0 (which means MAX), the `time` prop gets added by frame interval, like 16ms under 60fps.
If your FPS setting is 0 (set to MAX), the time prop is not added with frame interval, but controlled by a NumberAnimation instead. It adds the time prop by 1 whenever possible, to simulate infinite FPS.
However, under this situation, once the time prop reaches 100,000, it's set back to 0 by the NumberAnimation, and then the 2 variables lastUpdate and prevLastUpdate won't be updated because right now timeManager.time <= lastUpdate, causing the BurnIn freeze.

So the solution for users is to not to set FPS to MAX.

Revision history for this message
FishBone E.K. (fishboneek) wrote :

I found that there's an issue of the same bug already on GitHub, LOL
https://github.com/Swordfish90/cool-retro-term/issues/774

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.