Skindesigner and openGL OSD

  • If you are using a skindesigner and a output plugin with openGL OSD (softhddevice or softhdcuvid), you will get a distorted menu for any of the actions:

    detach/attach;

    suspend/resume;

    external plugin;

    mpv plugin;

    mplayer plugin.

    At first I thought it was due to an incorrect skin, but now I assume that it is due to corruption of the image cache.

    The skindesigner creates a cache once upon skin initialization. But when the output plugin is paused, the openGL OSD discards the image cache.

    During the operation of external plugins, the openGL OSD does not work, and starts again when returning to the vdr.

    But the skindesigner does not know about it, and uses the damaged cache of images. It is easy to recover by giving the command "svdrpsend PLUG skindesigner DLIC".

    I tested VDPAU and CUVID, but I think the same with VA-API (softhdvaapi).

    Does anyone have such a problem?


    Who thinks what, the output plugin should manage by the skindesigner, or the skindesigner should update the cache itself, for example, when the cOsdProvider is destroyed.

  • Dear lnj,

    I'm using softhdcuvid and use detach/attach a lot. Have the same problems.

  • Hi lnj,


    I observe exactly the same issues and the workaround to clear the image cache also works here.


    I would choose the 2nd option, make skindesigner which ‘owns’ the cache responsible for the update.

    But this plugin is not maintained anymore :(


    So either way ...


    Carel

  • Does anyone have such a problem?

    In yaVDR there is a mechanism in the script that controls the vdr-frontend which send the neccesary SVDRP-Commands. IIRC there are siminar approaches in EasyVDR and Gen2VDR (I am not sure if MLD does handle this, too).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,


    I am not so familar with the skindesigner code right now and I am not shure if it is primary a skindesigner problem.

    But I adding a little quick and dirty patch to hopefully solve this problem.

    I know that is not the best solution and then also not the best cache anymore, but if it helps.

    Maybe I can do some research in the future to find a better solution (Any help is welcome).

    At the moment the patch refreshes the cache every time a Skindesigner menu is opened.

    The patch can be activated in the setup menu if nessesary.


    Because I don't have sutch hardware here, can somebody check if that works as expected.

    With my hardware, I don't see any differences between the old and the new behavior.


    kamel5

  • If someone can confirm that the last Patch (Post #8) works as aspected I will make a commit in the skindesigner git.

    I can't check it by myself, I haven't such a installation with openGL OSD.


    Grüße

    kamel5

    VDR 2.7.3: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 40 Kernel 6.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Sorry for the stupid question, but where can I find "the skindesigner git"?

    If I search for "vdr-plugin-skindesigner" on github, i can find no repository which was changed in the last month.

    MyVDR: yaVDR-Ansible (Ubuntu 20) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Shame on me for equating git with github :wand

    MyVDR: yaVDR-Ansible (Ubuntu 20) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • If anyone has been following the discussion about the removal of MainThreadHook, I have changed the solution for the OpenGL OSD problem.

    The corresponding commit is located in git in the “develop” branch

    lnj , carel , or someone else, can you please check if it still works as before?


    Grüße

    kamel5

    VDR 2.7.3: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 40 Kernel 6.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!