Blueberry
by clem 38

 

gKBeiOg

Before I explain what Blueberry is, I’d like to thank mtwebster who finished this last night and only kept 3 hours of sleep for himself :)

For Betsy, we had to make cinnamon-bluetooth compatible with gnome-bluetooth 3.14. We got it working, it almost happened.. and then we looked at ourselves and decided against it. One key reason why cinnamon-bluetooth isn’t a core part of Cinnamon in the first place, is because we didn’t want Cinnamon to depend on a particular version of gnome-bluetooth. Instead, we want Cinnamon to work everywhere, whether that means it supports bluetooth (like in Mint 17.x) or whether that means it doesn’t (like in Arch/Fedora…etc). As gnome-bluetooth 3.14 no longer provides RFKILL functionality, this functionality had to be part of cinnamon-settings-daemon. Of course we could still package it within the cinnamon-bluetooth project… but we didn’t like that design and the way this was going.

At the same time, we were experiencing issues with blueman within the MATE edition.. and we wondered why we were working on a bluetooth tool for just one particular edition and trying to get an external tool working for us on another, when instead we could simply design a solution that would work across the board for all our desktops.

So we made Blueberry.

From a user point of view, Blueberry is an application which configures Bluetooth. It shows a systray icon in your panel and doesn’t annoy you if you don’t have a Bluetooth adapter. It also detects your desktop environment and integrates with it. For instance, if you clicked the “Sound Settings” button shown in the above screenshot, it would know whether to launch “cinnamon-settings sound”, “gnome-control-center sound”, “mate-volume-control”, “pavucontrol”, etc… depending on the desktop you’re currently running. As we speak it supports Cinnamon, MATE, Xfce, GNOME and Unity.

From a technical point of view, Blueberry is a gnome-bluetooth front-end. Gnome-bluetooth 3.8 had two frontends (a gnome-control-center panel and a cinnamon-settings module), gnome-bluetooth 3.14 has two frontends as well… a panel which is part of gnome-control-center, and blueberry. Blueberry works on any desktop environment and should work on any distribution as long as gnome-bluetooth 3.14 is installed. Whether Blueberry will continue to work with future versions of gnome-bluetooth will largely depend on how gnome-bluetooth evolves in the future.

For now anyway, Blueberry solves Bluetooth for us. It will be featured in both editions of LMDE 2 Betsy, where it will replace cinnamon-bluetooth and blueman.

 

38 thoughts on “Blueberry

  1. NDAS Mar 12,2015 15:09

    Nice. Well thought out in the end. Looking forward to it though my need of bluetooth support is minimal.

  2. theSeppi Mar 12,2015 16:36

    Nice approach. If only there was a working driver for my Bluetooth chip…

  3. Gerry Mar 14,2015 09:33

    Great news Clem,
    Long term it should make it easier to maintain as you have total control of blueberry.
    Without wishing to deviate too much, will i be able to receive android notifications over bluetooth like this
    http://www.phoronix.com/scan.php?page=news_item&px=GNOME-Android-Notifications
    [quote]Nuntius relies upon a GNOME program and a small program loaded onto the Android device for locally relaying notifications via Bluetooth to your GNOME desktop when nearby. When any Android notifications happen, they’ll be shown in real-time on your GNOME desktop. [/quote]

    • clem Mar 14,2015 10:40

      Hi Gerry, I’m not sure. It might help anyway and be compatible since blueberry, just like gnome-control-center is a frontend to gnome-bluetooth, so it gets you connected the exact same way.

  4. hrvoojex Mar 14,2015 11:51

    Could you make that bluetooth is turned off by default at least on laptops ? It is important for a battery life on laptops, while it is rarely used. One often forgot to turn it off

    • clem Mar 14,2015 13:49

      No. That said you won’t forget this time because if you have a bluetooth adapter on the computer blueberry will show you a systray icon by default.

      Clicking that icon opens up Blueberry. From there you can either switch Bluetooth OFF (in which case the systray disappears) or untick the option to show a systray icon (in which case it also disappears).

      In other words, BT will be obvious and working out of the box. Disabling it takes two clicks on the mouse.

      • hrvoojex Mar 15,2015 17:45

        Thanks for answering. And how do we turn it on again, if systray disappears?

        • clem Mar 16,2015 13:33

          Menu->Preferences->Bluetooth (alternatively it should also show up in cinnamon-settings, mate-control-center, xfce4-settings etc..).

  5. KDB Mar 14,2015 21:32

    Let’s see if I will finally be able to use my bluetooth. I have never succeeded with this laptop.

    • EDFB Mar 14,2015 23:51

      Then it should be pie for you. I thought you didn’t have a laptop or bluetooth. So you should be able to make blueberry pie now.

  6. SVKroderik Mar 15,2015 09:51

    I hope one day i can use cinnamon without need to install any package starts on gnome-*, but good work :)

    • clem Mar 15,2015 10:39

      Ideally we keep using gnome libs and components and they’re maintained upstream with not only GNOME in mind, but also the fact that we’re using them as well. There’s a significant amount of GNOME developers who continue to think that GNOME sub-projects should work outside of GNOME-Shell. It’s in everybody’s interest that we keep using the same components.

      Look at gnome-keyring for instance. It’s used in MATE, Cinnamon, Xfce, GNOME and Unity. That means not only GNOME is invested in seeing it succeed, but also developers from the MATE project, from Linux Mint and from Ubuntu.

      Same thing with bluetooth.. mate-bluetooth was discontinued. Gnome-bluetooth can evolve as a standard that we all use, or as a codebase that we all fork. It all depends on how it’s maintained. If it’s maintained as something we’re welcome to use an participate in, we’ll keep using it and that’s better for everybody.

      Note that blueberry was initially going to be mintbluetooth. We talked about it, considered the costs (which are small here) and decided that instead of making another Mint tool just for us, we’d support it for everybody out there. So it’s got a generic name, we’ll support other distros and other DEs and even though that represents more work it also means more people will use it, more developers will come and give a hand.. and in the end it will be better for everybody.

      Every single fork within the Cinnamon project was forked for a very precise reason. Some components were forked for very different reasons than others, but they all had a good reason to be forked. When we fork something we more or less turn our back on the original project, we stop benefiting from it and it stops benefiting from us using it. It’s usually a last resort and a decision taken when the pros really outweigh the cons.

      Going forward, ideally, we don’t want to fork anything else. In practice it largely depends on how things we use are maintained and whether they’re going in a direction we can or want to follow. We might see more forks if some projects get too close to Shell, but as much as possible, and unless it’s necessary, we want to continue to use upstream components.

  7. CupidsHelper Mar 17,2015 03:30

    Hi Clem. Thanks to Mtwebster and Clem, for this excellent tool. Catchy name. ;)

  8. jeremi Mar 19,2015 05:54

    How can I install it in Linux Mint 17?

  9. Hugo Osvaldo Barrera Apr 4,2015 06:21

    I’m curious: Why the dependency on gnome-bluetooth? Why not just rely on bluez?

    • clem Apr 4,2015 07:59

      Initially this was cinnamon-bluetooth.. we were already using gnome-bluetooth 3.10 and planning to work on 3.14. We reused the widget provided by gnome-bluetooth 3.14 here and made the frontend cross-DE. This is a very simple project, much simpler than say Blueman for instance. For RFKILL we tap directly into the system, for everything else we go through gnome-bt. If needs be in the future we can also start tapping into Bluez without going through gnome-bt. For now though, there’s no real need.

  10. Dan Saint-Andre Apr 10,2015 18:46

    Since almost every phone and tablet has a touch screen with reasonable resolution, I would like to use either (or both) as digital input over a bluetooth connection similar to a Wacom® Bamboo™ or Intuos™ tablet.

    Will ‘blueberry’ support this sort of use?
    ~~~ 0;-Dan

  11. Fahad Hossain May 9,2015 21:29

    Hi,
    Is there a way to test this on ubuntu-gnome? since you mentioned it working with gnome-bluetooth

    • mtwebster May 9,2015 21:36

      Note: blueberry is not compatible with Trusty (14.04)

      git clone git@github.com:linuxmint/blueberry.git
      cd blueberry
      dpkg-buildpackage
      … (if it fails, install what it claims it is missing – maybe just “debhelper” – then try again

      Then install the .deb created in the parent folder there. You’ll probably then need to run sudo apt-get install -f to grab any runtime dependencies (like gnome-bluetooth).

      • Fahad Hossain May 9,2015 22:10

        The build fails because I dont have some key.

        Ended up downloading from betsy repo.
        Install went fine but the thing is not even starting


        Warning: DE could not be detected!
        Traceback (most recent call last):
        File "/usr/lib/blueberry/blueberry.py", line 56, in on_activate
        self.create_window()
        File "/usr/lib/blueberry/blueberry.py", line 79, in create_window
        self.lib_widget = GnomeBluetooth.SettingsWidget.new();
        File "/usr/lib/python2.7/dist-packages/gi/module.py", line 320, in __getattr__
        return getattr(self._introspection_module, name)
        File "/usr/lib/python2.7/dist-packages/gi/module.py", line 139, in __getattr__
        self.__name__, name))
        AttributeError: 'gi.repository.GnomeBluetooth' object has no attribute 'SettingsWidget'

        • mtwebster May 11,2015 13:51

          As I mentioned, this won’t work in Trusty (Ubuntu 14.04) – what version of gnome-bluetooth do you have?

          The build will give an error about a key at the end, but it still probably worked (check the parent folder for a .deb file) – but again, if you don’t have a sufficient gnome-bluetooth version, it won’t run.

  12. Michael May 10,2015 19:31

    In LMDE 2 I cannot connect my bluetooth device. I cannot set the connection PIN. Instead blueberry proposes a false (random and every time changing) PIN which I can accept or cancel.
    How to tell the program which PIN to use?

  13. Anonymous May 27,2015 23:03

    How do I install this in Arch Linux?

  14. nathan Aug 31,2015 12:59

    Will this work with Linux Mint 17.2 Rafaela?

  15. Mike Nov 14,2015 04:05

    I had Linux mint 17.2, than i tried Ubuntu 15.4 and i was not able to connect my bluetooht headset. I install Linnux LMDR Cinamon and i tried to connect. I was so happy , it was fast and easy. Then i made a up date. it was very long cinamon 2.8 i guess…after impossible to connect my headset

  16. Realpra1 Nov 28,2015 12:37

    You need a similar polished tool for Ndiswrapper and/or other wifi things.

    Even after I got Ndiswrapper up and running it was not booting at startup, it had to be manually added to the system modules file.

    The “driver/device manager” only shows graphical drivers.

    It is sad this stuff is hidden when Ndiswrapper for instance works really well once set up.

    I also had some other issues with connecting to encrypted wifi and had to turn encryption off – maybe this is just a case of work-in-progress though.

    A popup explaining that encryption was not well-supported would have been better though.

  17. Ryan Mar 18,2016 15:03

    Hello Clem,

    Great work on making this a cross-desktop package – better than maintaining a handful of packages. Is there a preferred method for the system to autoconnect to my bluetooth mouse (Logitech T630) upon reboot? I am stuck manually doing it now.

  18. jon-o Dec 8,2016 01:35

    Mine comes up with “Bastien’s Computer” and then the icon just spins – no devices ever found even though they are within 6 inches of the laptop. Strange… never heard of this “Bastien” person and I can’t find where to reset this.

  19. kj Jan 12,2017 20:04

    how do get blueberry and install it on linux mint 17x?

  20. Jenna Feb 23,2017 11:22

    I have the same problem as jon-o

    I’m running Mint 18, Cinnamon 3.0.7, Kernel 4.4.0.64 generic, Lenovo Thinkpad x230
    Intel i5-3210m 8Gb / 120gb SSD

    I have had BT working before on this machine with an earlier Mint iteration. This is really a major pain in the butt. I’ve been a staunch Mint user for more than a decade and I have no idea how to sort this issue out. It really is high time a stable bluetooth offering existed. I have a lot of trouble persuading others to take Linux Mint seriously when such now-considered basic functionality simply doesn’t work for hordes of Mint users.

    The “Bastien’s computer” thing disappears if I turn bluetooth off and on again with the button in the app… but it still can’t find any devices…

    Blueberry is installed, but I can’t seem to access any actual settings to check setup and function.

    If anybody has a plan for how to

    • clem Feb 23,2017 22:10

      Hi Jenna, the “Bastien’s computer” bug is fixed in the upcoming version of blueberry (it’s a bug in gnome-bluetooth), and OBEX support is added as well, but connecting to devices works fine here. We’re investigating issues with A2DP and Bluetooth sound devices, but from our testing we’re able to pair to devices just fine. Maybe check rfkill “rfkill list bluetooth” to make sure your BT adapter isn’t hard-locked.

    • Ivan Feb 26,2017 11:47

      Hi Jenna – I got same “Bastien’s computer” issue like you do. But after on-offing it, I successfully connected my noname BT mouse.
      Lenovo Ideapad 510 here with Linux Mint 18.1 XFCE (note on 18.1 Cinnamon – this didn’t happen)…

      Another advice seen on the net is to install package “blueman” but it adds another BT icon to notification area in bottom right corner, and that’s a bit untidy.

  21. Reinhard Libuda Mar 10,2017 22:13

    Hi Jenna – I got same “Bastien’s computer” issue like you do i had bt working in former mint versions.As my adapter isnt found i bought a new one:1 time starting,he was recognized and bberry seemed to work,managed connections but no data exchange! Then, out of sudden,no adapter was found, no further bt!!!Seems to be a really serioud bug i presume!!This is really a major pain in the butt.hope our posts will lead to a quick resolving of this situation.even no solution in mintusers.de!!
    inxi
    CPU~Dual core AMD Athlon II P340 (-MCP-) speed~2200 MHz (max) Kernel~4.10.0-9-generic x86_64 Up~3:11 Mem~1887.6/5713.2MB HDD~320.1GB(51.1% used) Procs~191 Client~Shell inxi~2.2.35
    lspci -nnk | grep -i net -A2
    08:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 03)
    Subsystem: Lenovo RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [17aa:2131]
    Kernel driver in use: r8169
    Kernel modules: r8169
    09:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller [10ec:8172] (rev 10)
    Subsystem: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller [10ec:e020]
    Kernel driver in use: rtl8192se
    rfkill list
    0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
    Lenovo thinkpad edge15 amd 64 0302A16

Comments are closed.