Skip to content

Fix: avoid calling bluetoothctl when it is likely to block#600

Merged
frysee merged 1 commit intomainfrom
bt-init-fix
Jan 28, 2026
Merged

Fix: avoid calling bluetoothctl when it is likely to block#600
frysee merged 1 commit intomainfrom
bt-init-fix

Conversation

@frysee
Copy link
Copy Markdown
Member

@frysee frysee commented Jan 28, 2026

No description provided.

@frysee frysee merged commit 2e421ab into main Jan 28, 2026
5 checks passed
@frysee frysee deleted the bt-init-fix branch January 28, 2026 00:07
Helaas pushed a commit to Helaas/NextUI that referenced this pull request Jan 28, 2026
DrFlarp pushed a commit to DrFlarp/NextUI that referenced this pull request Feb 2, 2026
frysee added a commit that referenced this pull request Feb 5, 2026
* feat(rewind): implement rewind functionality with configurable options

* feat(rewind): enhance rewind functionality with configurable options

* feat(rewind): enhance fast forward and rewind interaction handling

* feat(rewind): first phase of the threading implementation

* feat(rewind): integrate LZ4 compression for rewind functionality

* feat(rewind): rewind performance improvements and robustness

* feat(rewind): playback choppyness improvements

* feat(rewind): remove deprecated rewind settings and introduce new defaults

* feat(rewind): conditionally initialize rewind only if core is ready

* feat(rewind): sensible defaults for rewind options

* feat(rewind): sensible defaults for rewind options

* feat(rewind): implement delta compression for rewind states

* feat(rewind): enhance descriptions for rewind configuration options

* feat(build): update library paths for shared libraries in makefile

* feat(build): update image paths and library flags in makefiles

* feat(build): update lz4 library path in makefile to use PREFIX

* feat(rewind): remove deprecated rewind configuration files and add LZ4 acceleration option

* feat(rewind): remove deprecated rewind configuration options from various emulator config files

* feat(rewind): remove deprecated default-brick configuration file and restore default configuration

* feat(rewind): simplify git clone command and improve thread safety in rewind logic

* feat(rewind): implement worker idle wait mechanism for improved thread synchronization

* feat(rewind): enhance rewind functionality with keyframe support and buffer size adjustments

* feat(rewind): maintain rewind history integrity after resuming after rewind

* fix(config): correct casing for minarch_rewind_skip_compression in default.cfg
refactor(minarch): streamline conditional statements in Rewind_init and Rewind_push functions

* refactor(rewind): improve code readability and maintainability by standardizing spacing and simplifying logic

* fix(makefile): remove outdated LDFLAGS for liblz4 in minarch makefile

* fix(makefile): revert IMAGE_NAME to use the remote toolchain image

* feat(config): migrate rewind settings from default.cfg to default-brick.cfg

* fix(config): PS: set minarch_rewind_skip_compression to Off in default.cfg and default-brick.cfg
feat(minarch): add 256MB option to rewind buffer size and update count in config

* Pico-8: Remove obsolete savestate workaround (#582)

* fix ARCH/OPT flag

* Fake-08: Remove obsolete workaround

* Desktop target linux (#584)

* Chore: Move fake SD to /var/tmp, which hopefully works for both Mac and Linux

* Chore: Add helper script for fake SD card dir

* Update script to copy SYSTEM directory into .system (#585)

* Tg5050 (#573)

* Add initial boilerplate

* Add tg5050 to CI builds

* Basic UI works

* Drop modernize branch, we are back on main

* Enabled tg5040 target again

* Provide a fallback for symbolic ref when building on detached HEAD (e.g. CI)

* Revert make order

* Fix minarch build

* Fix FN switch/rumble motor gpios

* Fix volume controls, display brightness

* Fix remaining pixel format mismatches

* Unified tg5040/5050 pixel formats

* Added file manager

* Add L3/R3 to minput

* Fix rumble motor activation path

* Shortened boot time a bit

* Fix Remove Loading.pak

* Fix sound

* Add back in tg5040

* Correct CPU frequencies and OPPs

* Fix build issue on CI

* Clean up settings for tg5050

* Expose fan speed in settings

* Add generic wifi implementation (no trimui libs this time)

* Fix missing fallbacks

* Fix missing define

* Drastically improved boot time

* Settings startup time should be instant again

* Fix build

* Fix suspend

* Move audiomon to common code, avoid duplication

* Housekeeping, remove unused platform functions

* Started factoring out platform code thats not really device-specific

* Wifi: correctly manage dhcp

* Clean up mainui boot script a bit

* Fix render loop in various paks

* Add generic bluetooth implementation (no trimui libs this time)

* Drop superfluous wifi/bt handling for off state, services are not auto-launching on tg5050

* Fix bt init and discovery

* Enable audiomon

* Add simplistic pairing agent for BT

* Fix: bluetooth connect/disconnect events being missed

* Feat: Designate new home button as additional Menu button (for now)

* Fix: BT volume controls

* Fix: Rumble

* Chore: Make the pill animation code slightly more readable (I said slightly)

* Chore: Removed unused battery overlay code

* Chore: Slightly more logging for Video init

* Fix: Fake-08: Remove obsolete workaround

* Chore: Remove unused stuff

* Fix: undefined behavior (overlapping memory regions)

* Fix: double free (using font object from different threads)

* Chore: migrate desktop platform code to use generic_video

* Fix: data race on battery status reporting

* Fix: data race on wifi status, move to PWR context

* Fix: data race on condition variables that are still in use

* Fix: thread leaks

* Fix: more threading issues

* Fix:  remaining races and false-positives

* Fix: tg5040 build

* Chore: Precreate overlays folders to avoid confusion

* Chore: Removed irelevant special case

* Chore: Remove unmaintained code

* Chore: Compile at least one desktop core

* Fix: data race in audio callback

* Feat: Add auto fan control daemon

* Feat: allow setting fixed speeds manually, hook up to msettings

* Fix: attribution for GPLv2 (Knulli)

* Chore: formatting

* Chore: Disable cores for desktop target, no need to build them on CI all the time

* Fix shader reset mechanism and improve video color format handling

- Implement proper shader reset with GL object cleanup (VAO, VBO, textures)
- Add live video reset for scaler/effect changes via shortcuts
- Allow zero-pass shader pipeline while clamping negatives
- Fix XRGB8888 and RGB565 to RGBA conversions for GL compatibility
- Improve code formatting and variable initialization
- Properly suppress unnecessary shader resets during live video updates

* Fix: removed misleading error message

* Chore: Slight cleanup

* Fix: Clean up all font resources properly

* Fix: skip hidden MacOS garbage when parsing folder content

* Chore: Remove unused variables

* Chore: Trim more unused crap out of minarch

* Fix: Random game close on GBA

* Chore: A bit more cleanup, no functional changes

* Fix: Reverted some code that was actually needed

* Fix: Disable fortification on newer gcc, which triggers some hard to debug issues

* Chore: Some leftovers

* Chore: Keep the sanitizers in place for next time

* Chore: Replace printfs with LOG

* Fix: unbound framebuffer after swap

* Chore: Hide shader info in debug hud if no shader is active

* Fix: Speaker pop

* Fix: Build issue

* Feat: Replace show.elf with something that can show flexible content

* Fix: Desktop build

* Fix: Overlay hidden after scale change via shortcut

* Fix: Another data race on extracting games

* Chore: get tg5040 up to date again

* Chore: Reduce log spam a bit

* Fix: Remove explicit wifi init on tg5040, no longer needed

* Fix: Skip overlay load if no path given

* Fix: Drop unused dependency

* Fix: Properly kill backgrounded tasks

* Chore: Cull AutoCpu steps

* Chore: Shader debugging

* Fix: Set a default text

* Fix: Hopefully improve shader flickering

* Chore: Refactor debug hud externs into a struct

* Fix: Add missing glyphs

* Feat: Frame time tracking in debug hud

* Feat: Uncapped fps when FFing with debug hud open

* Chore: Add profiler launch config (desktop)

* Chore: Add launch targets with two-core limit and gperftools

* Chore: Reduce debug hud in bench mode, render overhead taints profiling results

* Chore: Bind L1 to tab to use as a FF button

* Chore: Optimize resampling code

* Chore: Add tsan target for minarch debugging

* Chore: A couple more desktop cores

* Fix: audio data race, thread leak

* Fix: prepareFrameThread synchronization (its not pretty)

* Chore: ASAN desktop target

* Chore: Suppress some false positives

* Chore: More launch target fuckery

* Feat: NEON-optimized RGB conversions (should probably just swizzle in shader)

* Chore: Remove some dead code

* Fix: Crash on core sync

* Chore: Remove unneccesary reset function

* Fix: Gauge background

* Fix: flickering due to overzealous property reset

* Chore: Disable some performance logging

* Chore: Remove references to old tearing options (no longer in use)

* Fix: Actual display refresh rate of tg5050

* Fix: Cleaned up auto scaling code a bit, print actual cpu frequencies, not requested ones

* Fix: desktop build

* Revert "Chore: Optimize resampling code"

This reverts commit 408e8bb.

* Fix: Debug HUD display issue

* Feat: NTP, Timezone management w/o uci

* Feat: pin minarch to performance cores only

* Fix: rendering issue with debug hud

* Chore: Strip out benchmark mode

* Fix: Is the flicker fix actually a SDL Init bug and I wasted a week?

* Feat: Pack up overlays folders for basic structure

* Fix: Skip bluez upgrade if already there

* Fix: Potential speaker pop after exiting sleep

* chore: temporarily redirect ota source until upstream is updated (#598)

* Fix: avoid calling bluetoothctl when it is likely to block (#600)

* fix: include tg5050 in the release build (#601)

* Fix: Update release file wildcard (#602)

* Fix: misplaced mute override to prevent speaker pop on resume (#603)

* fix: delete shadercache on boot (#605)

* Fix a few compile issues for x86-64 devices (#591)

Fix compile issues for x86-64 devices

* feat(rewind): implement rewind functionality with configurable options

* feat(rewind): integrate LZ4 compression for rewind functionality

* feat(rewind): remove deprecated rewind settings and introduce new defaults

* feat(rewind): sensible defaults for rewind options

* feat(rewind): remove deprecated rewind configuration options from various emulator config files

* feat(rewind): simplify git clone command and improve thread safety in rewind logic

* feat(config): migrate rewind settings from default.cfg to default-brick.cfg

* fix(config): PS: set minarch_rewind_skip_compression to Off in default.cfg and default-brick.cfg
feat(minarch): add 256MB option to rewind buffer size and update count in config

* feat(config): add rewind settings to NextUISettings structure

* Cleanup default configs, add tg5050.

* feat(rewind): enhance buffer state management and handling to avoid oscillating (Thanks Dr. Flarp for reporting this issue)

* Refactor: remove rewind settings from configuration

* frysee review comments

---------

Co-authored-by: Dr. Flarp <[email protected]>
Co-authored-by: frysee <[email protected]>
Co-authored-by: Clint Beacock <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant