Skip to content
This repository has been archived by the owner on Aug 21, 2023. It is now read-only.

RT kernel detection needs improvement #125

Open
daeavelwyn opened this issue Apr 8, 2016 · 9 comments
Open

RT kernel detection needs improvement #125

daeavelwyn opened this issue Apr 8, 2016 · 9 comments

Comments

@daeavelwyn
Copy link

Hi,
I juste installed the liquorix kernel (https://liquorix.net/) which is a RT kernel. But cadene doesn't recognize it as a RT one.
Here is the console output :
daeavelwyn@StudioCorei5 ->cat /proc/version Linux version 4.4-6.dmz.1-liquorix-amd64 (steven@liquorix.net) (gcc version 5.3.1 20160316 (Debian 5.3.1-12) ) #1 ZEN SMP PREEMPT Debian 4.4-18 (2016-03-17)

and I attach the cadence screenshot
cadence-rt-kernel-detect

@falkTX
Copy link
Owner

falkTX commented Apr 8, 2016

liquorix is certainly NOT a realtime kernel.
'PREEMPT' tag is there, but not the 'RT' one.

@daeavelwyn
Copy link
Author

Ok, but cadence should mark it as a PREEMPT no ? instead of the actual icon ?

@falkTX
Copy link
Owner

falkTX commented Apr 8, 2016

what's wrong with the icon?
PREEMPT doesn't make it nicer for audio realtime stuff, in some cases it might be worse.
When PREEMPT is enabled, other applications (WMs, pulseaudio) will make use of it too, not just jack.

@daeavelwyn
Copy link
Author

Ok, not sure I well understand the difference between RT / LowLatency / PREEMPT....I also tried with the AVLinux kernel and got the same behaviour. Does it mean AVLinux kernel isn't a RT one also ?

daeavelwyn@StudioCorei5 ->uname -a Linux StudioCorei5 4.0.4-rt1+ #6 SMP PREEMPT RT Sun May 24 15:21:18 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
cadence-rt-kernel-detect1

@falkTX
Copy link
Owner

falkTX commented Apr 8, 2016

This means the cadence kernel check is broken :P

@trebmuh
Copy link
Contributor

trebmuh commented Mar 19, 2018

This looks still broken with a fresh build from 7c6ca10 (0.9.0 version).

@trebmuh
Copy link
Contributor

trebmuh commented Dec 22, 2019

Looks to still be broken on 0.9.1

neyuru added a commit to neyuru/Cadence that referenced this issue Aug 2, 2021
This commit replaces previous method of realtime kernel detection. The last method relied on the version name of the kernel, and it was successful only if the last chunk of the name after the last hyphen contained one of three possible values:  ("rt", "realtime", "lowlatency"). But as explained in issue falkTX#125 the version name can be convoluted and might not comply with the detection mechanism standard as imposed by cadence. E.g. a kernel with name "3.13.0-44-lowlatency" would pass the test whilst another realtime kernel with name "4.4-6.dmz.1-liquorix-amd64" would not. Also, kernel names can be easily changed and appending "rt" to a name would not make it "rt capable". To solve this, it is proposed to change the detection method to rely on coreutil's "uname -a", which obtains information from the built kernel and outputs two strings related to RT: PREEMPT_RT or PREEMPT. The method presented here takes advantage of this and improves RT kernel detection.
@neyuru
Copy link

neyuru commented Aug 2, 2021

Requested #325 to solve this issue.

@antonio-petricca
Copy link

Hi, which is the settings I should enable in order to compile a full RT kernel?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants