General HDR on Kodi v20 Linux builds discussion
#1
MOD EDIT posts split from https://forum.kodi.tv/showthread.php?tid=371952

The better question is, why has this thread been hijacked by discussion of LibreELEC when I have said from practically the start that we are trying to make this work on Ubuntu 22.04 desktop, and that LibreELEC won't work in this situation?  I guess I would like a serious answer, is there simply no way to make HDR work in Ubuntu Desktop?  And if not, is there ANY Linux version with a desktop that Kodi will work under and support HDR?

If you are about to type another answer with "LibreELEC" in it, PLEASE, just don't!  If you want to talk about that, may I respectfully suggest you start another thread and not hijack this one.
Reply
#2
well ive been reading up on this instead of "kodi hdr linux" general hdr in linux by itself since as we all (should) know if the system wont do it kodi sure cant use it

it looks bleak indeed, all i can do is regurgitate some interesting search results and hope they help you

the most promising (but shows examples for amd and looks strange with some asian pictures) - https://linuxreviews.org/HOWTO_enable_10...r_on_Linux

https://www.reddit.com/r/linux_gaming/co...t_in_2022/

https://wiki.archlinux.org/title/HDR_monitor_support

https://github.com/mpv-player/mpv/issues/10168

best wishes
Reply
#3
(2023-02-12, 18:57)oldtvwatcher Wrote: Neither he nor I are coders

thats going to complicate things immensely

one more attempt to help you - https://github.com/Wintermute0110/Kodi-Install
Reply
#4
(2023-02-12, 17:55)graysky Wrote: I have a samsung TV.  I will look for the info you discussed.  Can you share your "hacked" modification to LinuxRendererGL.cpp as well?  I wonder if this is a legit bug?

Here's a patch that sets the HDR bits in the GBM GL renderer. I don't know if anything downstream in the GL renderer is missing or if it interacts properly with things like the 3DLUT. It does trigger the HDR modes though.
Reply
#5
(2023-02-12, 19:35)yasij Wrote:
(2023-02-12, 17:55)graysky Wrote: I have a samsung TV.  I will look for the info you discussed.  Can you share your "hacked" modification to LinuxRendererGL.cpp as well?  I wonder if this is a legit bug?

Here's a patch that sets the HDR bits in the GBM GL renderer. I don't know if anything downstream in the GL renderer is missing or if it interacts properly with things like the 3DLUT. It does trigger the HDR modes though.
By any chance is there some way to apply this without needing to build Kodi from source?
Reply
#6
(2023-02-12, 19:46)oldtvwatcher Wrote:
(2023-02-12, 19:35)yasij Wrote:
(2023-02-12, 17:55)graysky Wrote: I have a samsung TV.  I will look for the info you discussed.  Can you share your "hacked" modification to LinuxRendererGL.cpp as well?  I wonder if this is a legit bug?

Here's a patch that sets the HDR bits in the GBM GL renderer. I don't know if anything downstream in the GL renderer is missing or if it interacts properly with things like the 3DLUT. It does trigger the HDR modes though.
By any chance is there some way to apply this without needing to build Kodi from source?
absurd... im done. good luck. next maybe a how to on installing windows for you.
Reply
#7
(2023-02-12, 19:46)oldtvwatcher Wrote: By any chance is there some way to apply this without needing to build Kodi from source?

No.  But then, that's the whole reason you're running Linux right?  Because you have total control over any software installed and can vet it's code before you build and install it.   Unlike Windows where you just get a binary blob you have to trust without actually knowing what it can do.
Learning Linux the hard way !!
Reply
#8
(2023-02-12, 19:55)black_eagle Wrote:
(2023-02-12, 19:46)oldtvwatcher Wrote: By any chance is there some way to apply this without needing to build Kodi from source?

No.  But then, that's the whole reason you're running Linux right?  Because you have total control over any software installed and can vet it's code before you build and install it.   Unlike Windows where you just get a binary blob you have to trust without actually knowing what it can do.
No, that is not the reason I am running Linux at all.  Not in the slightest.  When will people figure out that Linux is being used by just plain users nowadays (and for the past decade at least), in other words people who are not coders or developers and would not have the foggiest idea how to vet code.  Just because you don't want to run Windows and choose to use Linux instead doesn't automatically imbue you with all this knowledge that developers and coders have.  Even kids are using Linux noiwadays, on Raspberry Pis and similar devices.  Do you really think they are capable of vetting Kodi's code?

Sheesh, the assumptions some people make!
Reply
#9
(2023-02-12, 20:24)oldtvwatcher Wrote: No, that is not the reason I am running Linux at all.  Not in the slightest.  When will people figure out that Linux is being used by just plain users nowadays (and for the past decade at least), in other words people who are not coders or developers and would not have the foggiest idea how to vet code.  Just because you don't want to run Windows and choose to use Linux instead doesn't automatically imbue you with all this knowledge that developers and coders have.  Even kids are using Linux noiwadays, on Raspberry Pis and similar devices.  Do you really think they are capable of vetting Kodi's code?

Sheesh, the assumptions some people make!
yea and i can install a cd into a cd player to listen to music but that doesnt mean i know how to write music so i have to listen to music other people have written

if i want to listen to music composed in a specific way i will have to write it myself or mix it myself from existing sources

identical situation, you want custom music but dont know how to compose or mix it and now you want a 1.2.3. guide on mixing your favorite tracks but there isnt one

and youve now demostrated both an unwillingness and incapability to learn how
Reply
#10
(2023-02-12, 21:14)sarbes Wrote: Coder or not, you will need to do some serious legwork to get Kodi on GBM running on a desktop system. You need to compile in GLES support if the distro isn't offering it. And you need to do some serious scripting to launch Kodi. That's something I would avoid, even as a coder.

The limitation to GLES is because embedded platforms were the first with HDR support. Desktop systems followed later. GL support is low priority, as GLES is functionally the same as far as I know.

HDR is not possible on X (this wont change as far as I see), and Wayland is "not there yet". Kodi is amongst the few pieces of software that can present an HDR image by avoiding both systems. Even worse for Wayland, applications are not allowed to manipulate the refresh rate (AFAIK). So framerate switching support is uncertain. Additionally, only on GBM is it possible for Kodi to make use of the hardware compositor.

I don't understand the reluctance against LE. It makes very little difference having to choose between Kodi and the desktop at startup or at login.

This utility changes refresh rate on Wayland on ubuntu no problem.

Yes it can be done.
Reply
#11
(2023-02-12, 20:40)jepsizofye Wrote:
(2023-02-12, 20:24)oldtvwatcher Wrote: No, that is not the reason I am running Linux at all.  Not in the slightest.  When will people figure out that Linux is being used by just plain users nowadays (and for the past decade at least), in other words people who are not coders or developers and would not have the foggiest idea how to vet code.  Just because you don't want to run Windows and choose to use Linux instead doesn't automatically imbue you with all this knowledge that developers and coders have.  Even kids are using Linux noiwadays, on Raspberry Pis and similar devices.  Do you really think they are capable of vetting Kodi's code?

Sheesh, the assumptions some people make!
yea and i can install a cd into a cd player to listen to music but that doesnt mean i know how to write music so i have to listen to music other people have written

if i want to listen to music composed in a specific way i will have to write it myself or mix it myself from existing sources

identical situation, you want custom music but dont know how to compose or mix it and now you want a 1.2.3. guide on mixing your favorite tracks but there isnt one

and youve now demostrated both an unwillingness and incapability to learn how
I don't know what your problem is but you have been trolling for several posts now.  I haven't been asking for anything related to music at all, and all I have been trying to find out is if anyone has found or made a set of instructions for enabling HDR that are not aimed at a programmer or coder.  Clearly you haven't, or if you have you don't want to share, which is your prerogative.  When someone is asking for help and you can't or don't want to help, why not just move on to another thread instead of leaving a lot of unhelpful and useless commentary laced with goading insults?

Just so you know, I am in my 70's and I'm probably not going to be learning to code in this lifetime.  Learning is a whole lot harder when you can't remember how you solved a problem a week ago, and you can't memorize much of anything.  But my guess it you're a lot younger than I am and you are not a coder either, otherwise your posts might contain helpful comments rather than just insults and links to random pages that you sort of think might be helpful, but so far haven't been.  I have actually learned quite a bit from all the other posts in this thread, but virtually nothing from yours because you seem to find the most incomprehensible pages on the web and then suggest those.  So again, unless you actually have something truly helpful to offer for someone that is not a coder, maybe you should go haunt some other thread (or at least stop trolling me).
Reply
#12
thats a great way to thank someone for taking time out of their day to try and help you.
if they are incomprehensible to you its not my problem.
i will add you to my list of people not to help here.
Reply
#13
(2023-02-13, 02:17)sarbes Wrote:
(2023-02-13, 00:55)jawilljr Wrote: Yes it can be done.
Sigh. Were did I wrote that it can't be done? You can always hack around, but that's not something you do if you want your application to be packaged by distributions. See https://github.com/xbmc/xbmc/issues/20614. But please, stop with the OT.

I want to reiterate that setting up a lasting solution using GBM is not trivial. Have you even considered a dual boot solution?
Yes I can dual boot, do it all the time.

Here is a image from Ubuntu Wayland Jammy Settings->Displays.

Display Settings

Not a hack

Then I came across This

Not one mention of fstab. In other words LibreElec is more like Android, not Linux.
Reply
#14
(2023-02-13, 15:03)graysky Wrote: There is a bit of off topic stuff in here.  Is this a summary of the salient points?

* Only kodi-gbm is capable of displaying HDR out-of-the-box
* For HDR content to be display by kodi-gbm, it must be compiled it with GLES rendering

I think so yeah. Just out of curiosity, is there a reason why the HDR passthrough hasn't been addedd to GL also?
I guess https://github.com/xbmc/xbmc/commit/c40d...98fc0866fe this is the commit that added HDR passthrough functionality to GLES version.
 
(2023-02-12, 18:09)graysky Wrote: So the info button on my Samsung produces this output which does not change when playing a video or sitting on the Kodi GUI.  I compiled a fresh package with -DAPP_RENDER_SYSTEM=gles for this test.
 
Code:
3840x2160 / 60p Input Signal Plus
[UHD]

HDR file in mkv container? (not sure which files are supported at the moment).
https://4kmedia.org/the-world-in-hdr-uhd-4k-demo/ I did a test with that and at least that worked fine.

debug log with GLES/GBM, HDR passthru gets activated
Quote:2023-02-12 19:25:36.571 T:100590 debug <general>: LinuxRendererGLES: Cleaning up GLES resources
2023-02-12 19:25:36.571 T:100590 debug <general>: LinuxRendererGLES::Configure: fps: 23.976
2023-02-12 19:25:36.571 T:100590 debug <general>: LinuxRendererGLES::Configure: HDR passthrough: on
2023-02-12 19:25:36.571 T:100590 info <general>: GLES: Selecting single pass rendering
2023-02-12 19:25:36.571 T:100590 debug <general>: GLES: Requested render method: 0
2023-02-12 19:25:36.571 T:100590 info <general>: GLES: Selecting YUV 2 RGB shader
2023-02-12 19:25:36.571 T:100590 debug <general>: GLES: using shader format: NV12 red/red/green
2023-02-12 19:25:36.571 T:100590 debug <general>: GLES: using tonemap method: reinhard
2023-02-12 19:25:36.571 T:100590 debug <general>: GLES: using shader format: NV12 red/red/green
2023-02-12 19:25:36.571 T:100590 debug <general>: GLES: using tonemap method: reinhard
2023-02-12 19:25:36.573 T:100590 debug <general>: CRenderManager::Configure - 4
2023-02-12 19:25:36.573 T:100590 info <general>: GLES: Selecting single pass rendering
2023-02-12 19:25:36.574 T:100590 debug <general>: CDRMAtomic::FlipPage - Execute modeset at next commit
2023-02-12 19:25:36.582 T:110523 debug <general>: CVideoPlayer::HandleMessages - player started 2
2023-02-12 19:25:36.582 T:102085 debug <general>: OnAVChange: CApplication::OnAVChange
2023-02-12 19:25:36.585 T:101786 debug <general>: CALSAHControlMonitor - Monitored ALSA hctl value changed
 
GL/GBM no such thing, as the HDR implementation isn't the same:
Quote:2023-02-12 19:24:45.398 T:83154 debug <general>: CRenderManager::Configure - change configuration. 3840x1600. display: 3840x1600. framerate: 23.98.
2023-02-12 19:24:45.401 T:69509 debug <general>: DeleteRenderer - deleting renderer
2023-02-12 19:24:45.401 T:69509 debug <general>: LinuxRendererGL: Cleaning up GL resources
2023-02-12 19:24:45.401 T:69509 debug <general>: GL: Requested render method: 0
2023-02-12 19:24:45.401 T:69509 debug <general>: GL: using shader format: NV12
2023-02-12 19:24:45.401 T:69509 debug <general>: GL: using tonemap method: reinhard
2023-02-12 19:24:45.401 T:69509 info <general>: GL: Selecting YUV 2 RGB shader
2023-02-12 19:24:45.401 T:69509 info <general>: GL: Using GL_ARB_pixel_buffer_object
2023-02-12 19:24:45.401 T:69509 info <general>: Using GL_TEXTURE_2D
2023-02-12 19:24:45.401 T:69509 debug <general>: CRenderManager::Configure - 4
2023-02-12 19:24:45.402 T:69509 debug <general>: GL: Requested render method: 0
2023-02-12 19:24:45.402 T:69509 debug <general>: GL: using shader format: NV12
2023-02-12 19:24:45.402 T:69509 debug <general>: GL: using tonemap method: reinhard
2023-02-12 19:24:45.402 T:69509 info <general>: GL: Selecting YUV 2 RGB shader
2023-02-12 19:24:45.402 T:69509 info <general>: GL: Using GL_ARB_pixel_buffer_object
2023-02-12 19:24:45.402 T:82987 debug <general>: CVideoPlayer::HandleMessages - player started 2
2023-02-12 19:24:45.402 T:70865 debug <general>: OnAVChange: CApplication::OnAVChange
Reply
#15
No, I believe it was this that added the Linux HDR support https://github.com/xbmc/xbmc/pull/20199
Reply

Logout Mark Read Team Forum Stats Members Help
General HDR on Kodi v20 Linux builds discussion0