xbmc / xbmc

Kodi is an award-winning free and open source home theater/media center software and entertainment hub for digital media. With its beautiful interface and powerful skinning engine, it's available for Android, BSD, Linux, macOS, iOS, tvOS and Windows.

Home Page:https://kodi.tv/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Picture display/browsing does not work properly when SmartRedraw is active (linux)

arigit opened this issue · comments

commented

Bug report

Describe the bug

When smartredraw is active via configuration in advancedsettings.xml,

<smartredraw>true</smartredraw>

Kodi's picture browsing functionality stops working properly. Thumbnails of pictures in the current picture folder are displayed as normal, but when clicking on one picture to display it, the picture is loaded but appears dimmed and kodi becomes unresponsive except to the Escape key which returns kodi to the home screen.

Doing the same but with smartredraw off, the picture is loaded and shown un-dimmed (as normal) and Kodi stays responsive, pressing the arrow keys allows the user to browse the photo collection.

Expected Behavior

Normally (without this bug), when pressing Enter on a picture, it should be displayed "un-dimmed" and Kodi stays responsive, allowing browsing of the photo collection by pressing the arrow keys

Actual Behavior

Kodi becomes unresponsive.

Possible Fix

To Reproduce

Steps to reproduce the behavior:

  1. activate smartredraw in advancesettings.xml
  2. restart kodi
  3. In the main menu click on Pictures and attempt to browse the photo collection
  4. click on the any of the picture thumbnails
  5. the picture opens but stays fully dimmed (so barely visible) and Kodi becomes unresponsive

Debuglog

The debuglog can be found here:

Screenshots

Here are some links or screenshots to help explain the problem:

Additional context or screenshots (if appropriate)

The only way to restore Picture display functionality is to disable smartredraw and restart Kodi.

The issue with this of course is that Idle power consumption of the HTPC server increases significantly - smartredraw is generally great, save for this caveat - in my case: kodi is running in an always-on HTPC server and kodi is fully usable with smartredraw on, I have been using it for a year. Other than this glitch in Picture displays and known minor glitches in the Video overlay, no issues at all with smartredraw, and power savings that smartredraw generates are very large.

Your Environment

Used Operating system:

  • Android
  • iOS
  • tvOS
  • [ X] Linux

The issue can be reproduced 100% of the time as long as smartredraw is active.

The issue is present in the Debian packages (in ubuntu) as well as in the latest Kodi flatpak (Kodi 21, Omega)

  • macOS

  • Windows

  • Windows UWP

  • Operating system version/name: issue reproduced in both Ubuntu 23.10 and Ubuntu 22.04

  • Kodi version: 21

The kodi log shows some errors that appear related, that appear when the problem is triggered:

2024-05-01 00:09:44.135 T:22 info : Skipped 2 duplicate messages..
2024-05-01 00:09:44.135 T:22 info : Loading controller layout: /app/share/kodi/addons/game.controller.default/resources/layout.xml
2024-05-01 00:09:44.139 T:11 info : Loading special://xbmc/system/Lircmap.xml
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'mceusb'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'XboxDVDDongle'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'Microsoft_Xbox'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'PinnacleSysPCTVRemote'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'anysee'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'iMON-PAD'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'Antec_Veris_RM200'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'MCE_via_iMON'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'TwinHanRemote'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'linux-input-layer'
2024-05-01 00:09:44.139 T:11 info : * Linking remote mapping for 'linux-input-layer' to 'cx23885_remote'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'mediacenter'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'devinput'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'devinput-32'
2024-05-01 00:09:44.139 T:11 info : * Adding remote mapping for device 'devinput-64'
2024-05-01 00:09:44.143 T:22 info : Loading controller layout: /app/share/kodi/addons/game.controller.mouse/resources/layout.xml
2024-05-01 00:09:44.165 T:22 info : Register - new joystick device registered on addon->peripheral.joystick/0: ASRock LED Controller
2024-05-01 00:09:46.302 T:7 info : Loading controller layout: /app/share/kodi/addons/game.controller.keyboard/resources/layout.xml
2024-05-01 00:09:48.881 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:09:48.882 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:09:51.307 T:7 info : Loading skin file: MyPics.xml, load type: KEEP_IN_MEMORY
2024-05-01 00:09:54.010 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:09:59.138 T:15 info : Skipped 1 duplicate messages..
2024-05-01 00:09:59.138 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:10:04.267 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:10:09.393 T:15 info : Skipped 1 duplicate messages..
2024-05-01 00:10:09.393 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:10:11.421 T:7 info : Loading skin file: SlideShow.xml, load type: KEEP_IN_MEMORY
2024-05-01 00:10:14.520 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:10:18.184 T:7 info : NFS is idle. Closing the remaining connections.
2024-05-01 00:10:19.646 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:10:19.647 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:10:24.773 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:10:29.900 T:15 info : Skipped 1 duplicate messages..
2024-05-01 00:10:29.900 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:10:35.030 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:10:40.157 T:15 info : Skipped 1 duplicate messages..
2024-05-01 00:10:40.157 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:10:45.287 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:10:50.414 T:15 info : Skipped 1 duplicate messages..
2024-05-01 00:10:50.414 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:10:55.544 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:11:00.671 T:15 info : Skipped 1 duplicate messages..
2024-05-01 00:11:00.671 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:11:05.800 T:15 error : CActiveAESink::OutputSamples - failed
2024-05-01 00:11:10.927 T:15 info : Skipped 1 duplicate messages..
2024-05-01 00:11:10.927 T:15 info : CActiveAESink::OpenSink - initialize sink
2024-05-01 00:11:16.056 T:15 error : CActiveAESink::OutputSamples - failed

The whole smart redraw logic (which intersects with dirty regions) is pretty broken, up to the point where I would say both are unmaintained and unsupported.

commented

@sarbes that's kind of sad, I measured the power consumption results for smartdraw vs. non-smartdraw with the machine on idle and smartdraw achieves massive power savings: 6 Watts vs 14W on idle in an Intel N100. For always-on machines, embedded SOCs and the like, this is a grea features. It's also key for fanless as there is a large improvement in temperature as well.
Hoping that it will get again the focus it deserves.
The current state is not that bad, I use it every day on the family HTPC, there are a few glitches (specially in the video overlay when playing back content) but are tolerable, fully usable (benefits outweigh issues) - the only "big" problem for my family use case that got introduced in Kodi 20 is the total brokennes of picture browsing.