1
User Interface and Voice / Re: A user-named shortcut to a setting chooser will change that chooser's list title
« Last post by iPodVT on May 12, 2025, 08:56:01 AM »I edited the question at the end of my above post to make the main point of the post be more clear. The question is:
Is there an intentional reason and need/benefit for Rockbox to change a setting chooser's list title to be the same as the shortcut's user-supplied name?
Thanks.
Is there an intentional reason and need/benefit for Rockbox to change a setting chooser's list title to be the same as the shortcut's user-supplied name?
Thanks.
2
User Interface and Voice / Re: Panic after disconnecting from USB
« Last post by joebar on May 11, 2025, 03:30:07 PM »It's a Sansa e200 and I was just yanking it out, but I did try clicking the Safely Remove Hardware icon and selecting Eject drive to see if it would make a difference.
3
Plugins/Viewers / viewer plugin for ipod .tone files?
« Last post by TheoCGaming on May 11, 2025, 01:13:52 PM »the ipod's stock os has a function that allows you to make your own alarms using .tone files that are played through the built-in beeper, but rockbox doesn't seem to have any support for them by default. does anyone know of a plugin i can get that would do that?
4
Rockbox General Discussion / Re: Cooperative multitasking?
« Last post by amachronic on May 11, 2025, 09:03:04 AM »Ouch. I forgot about that nasty side-effect on hosted platforms. But yeah, we could catch a lot by testing hosted & sim builds with pthreads if we wanted to go fully preemptive. The biggest chunk of core code that isn't testable that way is the filesystem layer. I think being able to test the FS code in sim would be great for many other reasons too, but it's a PITA to implement.
Realistically even if some platforms could go preemptive, we would still need to support cooperative threading for the foreseeable future, to avoid breaking platform-specific code that we can't update for whatever reason (lack of hardware, time, etc).
Realistically even if some platforms could go preemptive, we would still need to support cooperative threading for the foreseeable future, to avoid breaking platform-specific code that we can't update for whatever reason (lack of hardware, time, etc).
5
Rockbox General Discussion / Re: Cooperative multitasking?
« Last post by Bilgus on May 11, 2025, 08:49:51 AM »AFAIK this page is still relevant
https://www.rockbox.org/wiki/RockboxKernel.html#General
Quote
The Rockbox kernel is an advanced priority aware cooperative kernel. It consists of thin threads with some means of passing messages and locking data structures.
https://www.rockbox.org/wiki/RockboxKernel.html#General
6
User Interface and Voice / Re: Disable delete message and progress bar
« Last post by speachy on May 11, 2025, 07:39:45 AM »Is it possible to disable the "Deleting file" message and progress bar?
Of course it's possible. Set up a development environment, modify poll_cancel_action() in apps/fileop.c to not show the splash for deletion (as opposed to copying and moving) operations, compile a new binary for your device.
But keep in mind that disabling the progress splash won't let you do anything else while the operation is happening; the UI will just appear to hang until it's finished, and that's probably not what you want.
(Of course, changing that is also possible, but would require a substantial amount of work)
7
User Interface and Voice / Re: Panic after disconnecting from USB
« Last post by speachy on May 11, 2025, 07:29:48 AM »You can start by stating what device you are running rockbox 4.0 on, if you disconnected it "safely" vs just yanked it out, etc.
8
Rockbox General Discussion / Re: Cooperative multitasking?
« Last post by speachy on May 11, 2025, 07:27:04 AM »Hah, I stand corrected!
.. I'd actually written a "mostly cooperative" reply before I second-guessed myself after finding out that we do indeed turn on a systick (or equivalent). I guess we only use that for setting timers, not full scheduling.
Our use of sigalstack threading on hosted platforms is responsible for a lot of problems, primarily from system calls blocking the entire application instead of just a single task. Converting that to pthreads (and/or SDL threads) would be quite beneficial, and provide a low-risk way to shaking loose the things that can't be arbitrarily preempted.
(There's a decent amount of overhead from running a task scheduler every tick; I suspect our more underpowered platforms (eg m68k or PP500x) would suffer..)
.. I'd actually written a "mostly cooperative" reply before I second-guessed myself after finding out that we do indeed turn on a systick (or equivalent). I guess we only use that for setting timers, not full scheduling.
Our use of sigalstack threading on hosted platforms is responsible for a lot of problems, primarily from system calls blocking the entire application instead of just a single task. Converting that to pthreads (and/or SDL threads) would be quite beneficial, and provide a low-risk way to shaking loose the things that can't be arbitrarily preempted.
(There's a decent amount of overhead from running a task scheduler every tick; I suspect our more underpowered platforms (eg m68k or PP500x) would suffer..)
9
Rockbox General Discussion / Re: Cooperative multitasking?
« Last post by amachronic on May 11, 2025, 06:09:33 AM »No, Rockbox uses cooperative scheduling. It's the reason that hosted ports use a custom threading implementation based around sigaltstack rather than using pthreads. Interrupts can still interrupt the running thread, but they can't swap it out and return back to a different thread. The running thread needs to explicitly yield to the next one (ultimately, by calling the kernel's switch_thread() function). Much as I would prefer to have preemptive threading, there's a decent amount of code that relies on the fact that it can't be arbitrarily preempted by another thread -- including some I've written myself, unfortunately -- so switching the threading model would be pretty painful.
10
User Interface and Voice / Panic after disconnecting from USB
« Last post by joebar on May 10, 2025, 11:58:48 PM »I upgraded my device to Rockbox 4.0 and now when I disconnect it from my computer the display shows *panic*. Is there anything I can do to fix this?