tag:blogger.com,1999:blog-977684764667858073Fri, 09 Dec 2016 14:26:56 +0000gnometotembluetoothfedoraguadecgnome-bluetoothfootballfilmshackfestfunnycontrol-centermanutdepiphanygtk+gnome-shellgstreamerbugsgnome 3grilogvfswebkitfreefageocluelinuxps3rhythmboxbluezdesignfreedesktopkernelstripesvideosapplefprintgcdsgnome-phone-managergnome-settings-daemonhardwarepulseaudioNetworkManagerbrowser plugindellempathyfrancegnome-medialircobexthumbnailergnokiigooglelaptopnautiluspodcastshared-mime-infotablettelepathytouchubuntuupowerwacomwaylandxdgyoutubeafcamazonbbcdbusfifaflashflatpakglibgnome-control-centergnome-lirc-propertiesgnome-user-sharegnome3gomguardianluamythtvplaylist parserpowerred hatremote controlsystemdupnpvolume controlxdg-apparmblogbugzillachipcodec buddydriversdvdebayfeaturesfirefoxfoundationfreeboxgamesgitgjsgobject-introspectioniphoneitunesjdllkeyboardlyonmovienokiapocketpoliticsrawhidereleasereleasesrosssettingssony ericssonsubtitlessuspendthemetoystranslationstvvideowishlistxorga11yaccelerometeralsapplicationbirthdaybluetooth-sendtobuilderca va paschampionscheesecinemacluttercompasscontactscriticscross compilationdesktop summitdvbebookeeepcepubeuro 08ffmpegfirewallgdbgdk-pixbufgeeksphonegeocodinggnome-buildergnome-power-managergnome-sessiongoogle videohadoukenhumble bundleiconsigaliainterviewsipadipod touchjavascriptkdelanguageslibimobiledevicelibreofficelightmacos xmoblinmotorolamultitouchnautilus-sendtoninja gaidennintendo dsnotificationsoffice-runneroggold ageold fartsolivieronline desktoppedantplumbersprivacyqemuradioriprotationsamsungscriptsearchseriesshit-in-a-boxsmssoundspamspeakerstripes-guysvnsymbolictangoudevusabilityvimwebsitewinewirelessxcompilexfcexine-lib10 years3g5 yearsC.H.I.P.PolicyKitabrtadafruitadbadrenoadwaitaairplane modealsaambient light sensorandroidanimationarticleaudioavahibacklightbank holidaysbasket-ballbeerbemusedberlinbest practicesblu-rayboardbolsoboo hissbostonbrasilbrazilbretzelbrightnessbrnobroadbandbug daybundlecairocalendarcall for paperscanonicalcapitalismcaptivecfpchemachpechromechrome oschuck norrisclangclickclient-side windowsclothesclutter-gtkcomedy clubcomic reliefcomicscompressionconconduitcontact-lookup-appletcontent appscontestcontributorscoreycorporationcoscupcrackculture beatd420daily maildanny stonedd-wrtdeadly snaildebiandebuggingdefective bodypartsdell minidelta airlinesden haagdesktopdevelopmentdevicekitdevildiegodirty scousediscidentdisplaylinkdivxdnsdocumentationdomesticdri3dual-gpuebbsfleet unitedebookselantechelsassembeddedemojiendlessesperantoevent boxevertonevilfailfakefallbackfilesystemsfleet streetfloodsfluendofolksfonzfrance interfrançaisfreedrenofreestylersfreudfroggadgetgalagogandigeoipgesturegiftgimpgiveawaygizmogmythgnappletgnome-booksgnome-documentsgnome-multiwritergnome-musicgnome-obex-sendgnome-obex-servergnome-online-accountsgnome-pilotgobjectgoggolfgoomgpsgromitgthreadgtk-parasiteguilfestgupnpgwladysgypsyhackergotchihackinghackshalloweenharryheadphonesheadsetheroeshiddenhouse arresthuaweiicedteaicnsid theftiioiio-sensor-proxyimimdbimobiledeviceinhibitinstapaperintel rapid startinterruptionsisoistanbuljack sensingjavajdsjmpjobkerberoskidkioskkobokritalast.fmlazylibarchivelibcanberralibgweatherlicenceslightning talklinux magazineliverpoollogitechlokilondonlovefilmlovelockmac minimaemomailmanmaintainermakingmanchestermandrivamapsmargaritamememicrophonemicrosoftmobimoronmprismpvmugshotmusicmypaintnbaneologismnew statesmannoddynostalgianurnbergnutellaoledopenglopenismusopenrasteropensubtitlesoperaoptimusopwosdowncloudpangrampantopartypatchespaypalperlpeter serafinowiczphonephotospidginpimusicboxpocheportugueseportuguêspoulsbopowertoppresentationprinterproxypythonqmiqualcommquicktimerarraspberry piratchet and clankrecordrentalresolv.confretroarchreverse engineeringreviewrfkillriorio500routerrpirpmrtl8723bsrugbyrunning manrygelsafarisagemsalüscratchscreencastscreensaversd cardsecurity erratasensorservicesharingshinobishopsillysimple pairingsimpsonssitcomssixaxissmokingsocialsockssoftwaresound-juicersoundboxspeaker testingspicesponsorsspotifysqlsqlitestage6stanzastarbucksstarskystatus iconstormystrasbourgstreamingstupidsummer of codesunsurfacesusetaipeitaxitemplatestest suitethe registertheoratizentlatoriestoshibatouchpadtouchscreentrackballtrackertriagetripestvcatchuptwitterui hellunityunlockingupstreamusbuwbvaiovichyvimeovinovlcvncvorbisvtvuntzwake-upswalk500wasting timeweddingwest wingwetabwifiwikiwindowmakerwindows 8windows media playerwokingworkxanxbmcxiphxlibzipzlibzombieszonbu/bɑs ˈtjɛ̃ no ˈse ʁɑ/ (hadess) | Newshttp://www.hadess.net/noreply@blogger.com (Bastien Nocera)Blogger343125tag:blogger.com,1999:blog-977684764667858073.post-7929626095695666177Tue, 15 Nov 2016 09:48:00 +00002016-11-15T09:48:56.131+00:00bug daybugsepiphanygnomegnome-control-centerlyontotemLyon GNOME Bug day #1Last Friday, both a <a href="https://wiki.gnome.org/Bugsquad/BugDays">GNOME bug day</a> and a <a href="https://en.wikipedia.org/wiki/Remembrance_Day#France_and_Belgium">bank holiday</a>, a few of us got together to squash some bugs, and discuss GNOME and GNOME technologies.<br /><br /><a href="http://www.yabz.fr/">Guillaume</a>, a new comer in our group, tested the <a href="https://help.gnome.org/misc/release-notes/3.14/">captive portal support for NetworkManager and GNOME</a> in Gentoo, and <a href="https://wiki.gentoo.org/wiki/NetworkManager#Checking_connectivity">added instructions on how to enable it to their Wiki</a>. He also tested a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=708500">gateway related configuration problem</a>, the patch for which I merged after a code review. Near the end of the session, he also rebuilt WebKitGTK+ to test why Google Docs was not working for him anymore in <a href="https://wiki.gnome.org/Apps/Web">Web</a>. And nobody believed that he could build it that quickly. Looks like opinions based on past experiences are quite hard to change.<br /><br /><a href="https://mathieu.daitauha.fr/">Mathieu</a> worked on <a href="https://bugzilla.gnome.org/show_bug.cgi?id=774271">removing jhbuild's .desktop file</a> as nobody seems to use it, and it was creating the Sundry category for him, in gnome-shell. He also spent time looking into the tracker blocker that is <a href="https://blog.mozilla.org/futurereleases/2015/12/08/announcing-focus-by-firefox-a-content-blocker-for-ios/">Mozilla's Focus</a>, based on <a href="https://github.com/disconnectme/disconnect-tracking-protection">disconnectme's block lists</a>. It's not as effective as <a href="https://github.com/gorhill/uBlock">uBlock</a> when it comes to blocking adverts, but the memory and performance improvements, and the slow churn rate, could make it a good default blocker to have in <a href="https://wiki.gnome.org/Apps/Web">Web</a>.<br /><br />Haïkel looked into using <a href="https://github.com/ebassi/emeus">Emeus</a>, potentially the new GTK+ 4.0 layout manager, to implement the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=732515">series properties page</a>&nbsp;for Videos.<br /><br />Finally, I added <a href="https://github.com/felipeborges/bolso">Bolso</a> to jhbuild, and struggled to get gnome-online-accounts/gnome-keyring to behave correctly in my installation, as the application just did not want to log in properly to the service. I also discussed <a href="https://fedoraproject.org/wiki/Legal:PrivacyPolicy">Fedora's privacy policy</a> (inappropriate for Fedora Workstation, as it doesn't cover the services used in the default installation), a potential design for Flatpak support of joypads and removable devices in general, as well as the <a href="https://blogs.gnome.org/aday/2016/01/13/a-settings-design-update/">future design of the Network panel</a>.http://www.hadess.net/2016/11/lyon-gnome-bug-day-1.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-9095872123092787540Mon, 31 Oct 2016 12:00:00 +00002016-10-31T12:00:03.309+00:00armbuilderchipcross compilationflatpakgnome-builderqemuxcompilexdg-appFlatpak cross-compilation support: EpilogueYou might remember my <a href="http://www.hadess.net/2016/08/flatpak-cross-compilation-support.html">attempts at getting an easy to use cross-compilation for ARM applications</a> on my x86-64 desktop machine.<br /><br />With Fedora 25 approaching, I'm happy to say that the necessary changes to integrate the feature have now rolled into Fedora 25.<br /><br />For example, to compile the <a href="https://github.com/hadess/gnu-hello-flatpak">GNU Hello Flatpak</a> for ARM, you would run:<br /><br /><div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">$ flatpak install gnome org.freedesktop.Platform/arm org.freedesktop.Sdk/arm</span><br /><span style="color: #888888;">Installing: org.freedesktop.Platform/arm/1.4 from gnome</span><br /><span style="color: #888888;">[...]</span><br /><span style="color: #888888;">$ sudo dnf install -y qemu-user-static</span><br /><span style="color: #888888;">[...]</span><br /><span style="color: #888888;">$ TARGET=arm ./build.sh</span><br /></pre></div><div><br />For other applications, add the <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">--arch=arm</span> argument to the <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">flatpak-builder</span> command-line.</div><div><br /></div><div>This example also works for 64-bit ARM with the architecture name <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">aarch64</span>.</div>http://www.hadess.net/2016/10/flatpak-cross-compilation-support.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-3773711208663713905Wed, 26 Oct 2016 13:37:00 +00002016-10-26T14:37:50.546+01:00dual-gpufedoragnomeopengloptimuswaylandxorgDual-GPU integration in GNOME<div class="separator" style="clear: both; text-align: center;"></div>Thanks to the work of <a href="http://hansdegoede.livejournal.com/16396.html">Hans de Goede</a> and many others, dual-GPU (aka <a href="https://en.wikipedia.org/wiki/Nvidia_Optimus">NVidia Optimus</a> or <a href="https://en.wikipedia.org/wiki/AMD_Hybrid_Graphics">AMD Hybrid Graphics</a>) support works better than ever in Fedora 25.<br /><br />On my side, I picked up some work I originally did for Fedora 24, but ended up being blocked by hardware support. This brings better integration into GNOME.<br /><br />The <i>Details</i> Settings panel now shows which video cards you have in your (most likely) laptop.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-NMAd79yjgY4/WBCmANWcBsI/AAAAAAAAA08/UEsR-nukifQXMIcDRJLwKtvrFinI3McvwCLcB/s1600/gcc-info-dual-gpu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="261" src="https://2.bp.blogspot.com/-NMAd79yjgY4/WBCmANWcBsI/AAAAAAAAA08/UEsR-nukifQXMIcDRJLwKtvrFinI3McvwCLcB/s400/gcc-info-dual-gpu.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>dual-GPU Graphics</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">The second feature is what Blender and 3D video games users have been waiting for: a contextual menu item to launch the application on the more powerful GPU in your machine.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-luCqoYECtB4/WBCl9CNg9_I/AAAAAAAAA1A/hXRrokwTkNkhpul6rQs-0kWVZ_-kGL71ACEw/s1600/gnome-shell-discrete-gpu-menu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://2.bp.blogspot.com/-luCqoYECtB4/WBCl9CNg9_I/AAAAAAAAA1A/hXRrokwTkNkhpul6rQs-0kWVZ_-kGL71ACEw/s320/gnome-shell-discrete-gpu-menu.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Mooo Powaa!</i></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">This demonstration uses a&nbsp;<a href="https://github.com/hadess/glarea-example">slightly modified</a> <a href="https://developer.gnome.org/gtk3/stable/GtkGLArea.html">GtkGLArea</a>&nbsp;example, which shows which of the GPUs is used to render the application in the title bar.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-6rNxF654y9k/WBCpP3xLSeI/AAAAAAAAA1M/HDdQy8rAXMA5WrUAD6cTfaCMjRmY4fkVQCLcB/s1600/glarea-integrated.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-6rNxF654y9k/WBCpP3xLSeI/AAAAAAAAA1M/HDdQy8rAXMA5WrUAD6cTfaCMjRmY4fkVQCLcB/s320/glarea-integrated.png" width="200" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>on the integrated GPU</i></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-UhRd3fQK57A/WBCpP3iEGjI/AAAAAAAAA1I/ADtB4bZ1YvMbywyclisXU2ZR5FQeaUpBgCEw/s1600/glarea-discrete.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-UhRd3fQK57A/WBCpP3iEGjI/AAAAAAAAA1I/ADtB4bZ1YvMbywyclisXU2ZR5FQeaUpBgCEw/s320/glarea-discrete.png" width="200" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>on the discrete GPU</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Behind the curtain</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both;">Behind those 2 features, we have a <a href="https://github.com/hadess/switcheroo-control/">simple D-Bus service</a>, which runs automatically on boot, and stays running to offer a single property (<span style="font-family: Courier New, Courier, monospace;">HasDualGpu</span>) that system components can use to detect what UI to present. This requires the "<a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/gpu/vga-switcheroo.rst">switcheroo</a>" driver to work on the machine in question.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Because of the way applications are launched on the discrete GPU, we cannot currently support D-Bus activated applications, but GPU-heavy D-Bus-integrated applications are few and far between right now.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Future plans</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">There's plenty more to do in this area, to polish the integration. We might want applications to tell us whether they'd prefer being run on the integrated or discrete GPU, as live switching between renderers is still something that's out of the question on Linux.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Wayland dual-GPU support, as well as support for the proprietary NVidia drivers are also things that will be worked on, probably by my colleagues though, as the graphics stack really isn't my field.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">And if the hardware becomes more widely available, we'll most certainly want to support hardware with hotpluggable graphics support (whether gaming laptop "power-ups" or workstation docks).</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Availability</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">All the patches necessary to make this work are now available in GNOME git (targeted at GNOME 3.24), and backports are integrated in Fedora 25, due to be released shortly.</div>http://www.hadess.net/2016/10/dual-gpu-integration-in-gnome.htmlnoreply@blogger.com (Bastien Nocera)3tag:blogger.com,1999:blog-977684764667858073.post-9183111710704675213Thu, 11 Aug 2016 14:00:00 +00002016-08-11T15:00:37.000+01:00armbuilderchipcross compilationflatpakgnome-builderqemuxcompilexdg-appFlatpak cross-compilation supportA couple of weeks ago, I <a href="http://www.hadess.net/2016/07/guadec-flatpak-contest.html">hinted at a presentation</a> that I wanted to do during this year's GUADEC, as a Lightning talk.<br /><br />Unfortunately, I didn't get a chance to finish the work that I set out to do, encountering a couple of bugs that set me back. Hopefully this will get resolved post-GUADEC, so you can expect some announcements later on in the year.<br /><br />At least one of the tasks I set to do worked out, and was promptly obsoleted by a nicer solution. Let's dive in.<br /><br /><b>How to compile for a different architecture</b><br /><br />There are four possible solutions to compile programs for a different architecture:<br /><br /><ul><li><i>Native compilation</i>: get a machine of that architecture, install your development packages, and compile. This is nice when you have fast machines with plenty of RAM to compile on, usually developer boards, not so good when you target low-power devices.</li><li><i>Cross-compilation</i>: install a version of GCC and friends that runs on your machine's architecture, but produces binaries for your target one. This is usually fast, but you won't be able to run the binaries created, so might end up with some data created from a different set of options, and won't be able to run the generated test suite.</li><li><i>Virtual Machine</i>: you'd run a virtual machine for the target architecture, install an OS, and build everything. This is slower than cross-compilation, but avoids the problems you'd see in cross-compilation.</li></ul>The final option is one that's used more and more, mixing the last 2 solutions: the <a href="http://wiki.qemu.org/download/qemu-doc.html#QEMU-User-space-emulator">QEmu user-space emulator</a>.<br /><br /><b>Using the QEMU user-space emulator</b><br /><br />If you want to run just the one command, you'd do something like:<br /><!-- HTML generated using hilite.me --><br /><div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">qemu-static-arm myarmbinary</span><br /></pre></div><br />Easy enough, but hardly something you want to try when compiling a whole application, with library dependencies. This is where <a href="https://en.wikipedia.org/wiki/Binfmt_misc">binfmt support in Linux</a>&nbsp;comes into play. Register the ELF format for your target with that user-space emulator, and you can run <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">myarmbinary</span> without any commands before it.<br /><pre class="example"><span style="font-family: inherit;"><br /></span></pre>One thing to note though, is that this won't work as easily if the qemu user-space emulator and the target executable are built as a dynamic executables: QEmu will need to find the libraries for your architecture, usually x86-64, to launch itself, and the emulated binary will also need to find its libraries.<br /><br />To solve that first problem, there are QEmu static binaries available in a number of distributions (<a href="https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/LLGAX7T2DNR44INA3OHEXMHDIDC2ALQL/">Fedora support is coming</a>). For the second one, the easiest would be if we didn't have to mix native and target libraries on the filesystem, in a chroot, or container for example. Hmm, container you say.<br /><div><br /></div><div><b>Running QEmu user-space emulator in a container</b><br /><br />We have our statically compiled QEmu, and a filesystem with our target binaries, and switched the root filesystem. Well, you try to run anything, and you get a bunch of errors. The problem is that there is a single binfmt configuration for the kernel, whether it's the normal OS, or inside a container or chroot.<br /><br /><b>The Flatpak hack</b><br /><br /><a href="https://github.com/hadess/flatpak/commit/560e32feb4c6ca1b09c76eb1d3a275e8e88dfebe">This commit for Flatpak</a> works-around the problem. The binary for the emulator needs to have the right path, so it can be found within the chroot'ed environment, and it will need to be copied there so it is accessible too, which is what this patch will do for you.<br /><br />Follow the instructions in the commit, and test it out with this <a href="https://github.com/hadess/gnu-hello-flatpak">Flatpak script for GNU Hello</a>.<br /><!-- HTML generated using hilite.me --><br /><div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">$ TARGET=arm ./build.sh</span><br /><span style="color: #888888;">[...]</span><br /><span style="color: #888888;">$ ls org.gnu.hello.arm.xdgapp </span><br /><span style="color: #888888;">918k org.gnu.hello.arm.xdgapp</span><br /></pre></div><br />Ready to install on your device!<br /><br /><b>The proper way</b><br /><br />The above solution was built before it looked like <a href="https://lwn.net/Articles/682286/">the "proper way"</a> was going to find its way in the upstream kernel. This should hopefully land in the upcoming 4.8 kernel.<br /><br />Instead of launching a separate binary for each non-native invocation, this patchset allows the kernel to keep the binary opened, so it doesn't need to be copied to the container.<br /><br /><b>In short</b><br /><br />With the work being done on Fedora's static QEmu user-space emulators, and the kernel feature that will land, we should be able to have a nice tickbox in Builder to build for any of the targets supported by QEmu.<br /><br />Get cross-compiling!</div>http://www.hadess.net/2016/08/flatpak-cross-compilation-support.htmlnoreply@blogger.com (Bastien Nocera)2tag:blogger.com,1999:blog-977684764667858073.post-7358424454811017852Tue, 09 Aug 2016 09:49:00 +00002016-08-09T10:49:38.100+01:00alsadellgnome-settings-daemongnome-shellheadphonesheadsetjack sensingmicrophonepulseaudiounityBlog backlog, Post 4, Headset fixes for Dell machinesAt the <a href="https://help.gnome.org/misc/release-notes/3.20/more.html.en#more">bottom of the release notes for GNOME 3.20</a>, you might have seen the line:<br /><blockquote class="tr_bq">If you plug in an audio device (such as a headset, headphones or microphone) and it cannot be identified, you will now be asked what kind of device it is. This addresses an issue that prevented headsets and microphones being used on many Dell computers.</blockquote>Before I start explaining what this does, as a picture is worth a thousand words:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-ym5WWNpthsk/V6mhFU7XNFI/AAAAAAAAA0Q/3NlJeIH71CgZCnaNhRl9DLCYJLQyZKlHACLcB/s1600/audio-device-selection.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://4.bp.blogspot.com/-ym5WWNpthsk/V6mhFU7XNFI/AAAAAAAAA0Q/3NlJeIH71CgZCnaNhRl9DLCYJLQyZKlHACLcB/s400/audio-device-selection.png" width="400" /></a></div><br />This selection dialogue is one you will get <a href="https://bugzilla.gnome.org/show_bug.cgi?id=755062#c3">on some laptops and desktop machines</a> when the hardware is not able to detect whether the plugged in device is headphones, a microphone, or a combination of both, probably because it doesn't have an impedance detection circuit to figure that out.<br /><br />This functionality was <a href="http://voices.canonical.com/david.henningsson/2014/03/07/headset-jacks-on-newer-laptops/">integrated into Unity's gnome-settings-daemon</a> version a couple of years ago, written by David Henningsson.<br /><br />The code that existed for this functionality was completely independent, not using any of the facilities available in the media-keys plugin to volume keys, and it could probably have been split as an external binary with very little effort.<br /><br />After a bit of to and fro, most of the sound backend functionality was <a href="https://git.gnome.org/browse/libgnome-volume-control/commit/?id=f3f6812eb9d4589ffe161260b80cb8a9609b3ab2">merged into libgnome-volume-control</a>, leaving just 2 entry points, one to signal that something was plugged into the jack, and another to select which type of device was plugged in, in response to the user selection. This means that the functionality should be easily implementable in other desktop environments that use libgnome-volume-control to interact with PulseAudio.<br /><br />Many thanks to David Henningsson for the original code, and his help integrating the functionality into GNOME, <a href="http://www.bednet.be/">Bednet</a> for providing hardware to test and maintain this functionality, and Allan, Florian and Rui for working on the UI notification part of the functionality, and wiring it all up after I abandoned them to go on holidays ;)http://www.hadess.net/2016/08/blog-backlog-post-4-headset-fixes-for.htmlnoreply@blogger.com (Bastien Nocera)1tag:blogger.com,1999:blog-977684764667858073.post-8601028253581526866Tue, 19 Jul 2016 14:39:00 +00002016-07-19T15:39:35.294+01:00contestflatpakguadechardwarelightning talkGUADEC Flatpak contestI will be presenting a lightning talk during <a href="https://2016.guadec.org/">this year's GUADEC</a>, and running a contest related to what I will be presenting.<br /><br /><b>Contest</b><br /><br />To enter the contest, you will need to create a <a href="http://flatpak.org/">Flatpak</a> for a piece of software that hasn't been flatpak'ed up to now (application, runtime or extension), hosted in a public repository.<br /><br />You will have to send me an email about the location of that repository.<br /><br />I will choose a winner amongst the participants, <a href="https://2016.guadec.org/talks/#lightning">on the eve of the lightning talks</a>, depending on, but not limited to, the difficulty of packaging, the popularity of the software packaged and its redistributability potential.<br /><br />You can find plenty of examples (and a list of already packaged applications and runtimes) <a href="https://github.com/flatpak/flatpak/wiki/Examples">on this Wiki page</a>.<br /><br /><b>Prize</b><br /><br />A piece of hardware that you can use to replicate my presentation (or to replicate my attempts at a presentation, depending ;). You will need to be present during my presentation at GUADEC to claim your prize.<br /><br />Good luck to one and all!http://www.hadess.net/2016/07/guadec-flatpak-contest.htmlnoreply@blogger.com (Bastien Nocera)4tag:blogger.com,1999:blog-977684764667858073.post-7260212993578788569Tue, 21 Jun 2016 19:57:00 +00002016-06-21T20:57:56.951+01:00flatpakgamesgoghumble bundlelokiluaxdg-appAAA game, indie game, card-board-box<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-ypu6pI5SZ8I/V2mM4sY7IvI/AAAAAAAAAz0/5rrPAyuIVwEJPWKFdjPzEhVlwjZbJXs3ACLcB/s1600/bundled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-ypu6pI5SZ8I/V2mM4sY7IvI/AAAAAAAAAz0/5rrPAyuIVwEJPWKFdjPzEhVlwjZbJXs3ACLcB/s1600/bundled.png" /></a></div><div style="text-align: center;"><i><a href="https://github.com/hadess/flatpak-games">Early bird</a> gets eaten by the Nyarlathotep</i></div><div style="text-align: center;"><i>&nbsp;</i></div><div style="text-align: left;">The more adventurous of you can use those (designed as embeddable) Lua scripts to transform your DRM-free <a href="http://gog.com/">GOG.com</a> downloads into <a href="http://flatpak.org/">Flatpaks</a>.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">The long-term goal would obviously be for this not to be needed, and for online games stores to ship "<span style="font-family: &quot;Courier New&quot;,Courier,monospace;">.flatpak</span>" files, with <a href="https://www.freedesktop.org/wiki/Distributions/AppStream/">metadata</a> so we know what things are in GNOME Software, which automatically picks up the right voice/subtitle language, and presents its extra music and documents in the respective GNOME applications.</div><div style="text-align: left;">&nbsp;</div><div style="text-align: left;">But in the meanwhile, and for the sake of the games already out there, there's <a href="https://github.com/hadess/flatpak-games">flatpak-games</a>. Note that lua-archive is <a href="https://github.com/brimworks/lua-archive/pull/2">still fiddly</a>.</div><div style="text-align: left;">&nbsp;</div><div style="text-align: left;">Support for a few <a href="https://www.humblebundle.com/">Humble Bundle</a> formats (some formats already are), grab-all RPMs and Debs, and those old Loki games is also planned.</div><div style="text-align: left;">&nbsp;</div><div style="text-align: left;">It's late here, I'll be off to do some testing I think :)</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><i>PS</i>: Even though I have enough programs that would fail to create bundles in my personal collection to accept "game donations", I'm still looking for original copies of <a href="http://www.lokigames.com/products/">Loki games</a>. Drop me a message if you can spare one!</div>http://www.hadess.net/2016/06/aaa-game-indie-game-card-board-box.htmlnoreply@blogger.com (Bastien Nocera)4tag:blogger.com,1999:blog-977684764667858073.post-1077382675231759666Wed, 25 May 2016 16:18:00 +00002016-05-25T17:18:22.935+01:00delldisplaylinkfedorahardwarerpmusbBlog backlog, Post 3, DisplayLink-based USB3 graphics support for FedoraLast year, after DisplayLink released the first version of the supporting tools for their USB3 chipsets, I tried it out on my <a href="http://www.dell.com/ed/business/p/dell-s2340t-multi-touch-monitor/pd">Dell S2340T</a>.<br /><br />As I wanted a clean way to test new versions, I took <a href="http://nothen.com.ar/en/support-for-displaylink-adapters-on-linux/">Eric Nothen's RPMs</a>, and updated them along with newer versions, automating the creation of 32- and 64-bit x86 versions.<br /><br />The RPM contains 3 parts, <a href="https://github.com/DisplayLink/evdi">evdi</a>, a GPLv2 kernel module that creates a virtual display, the LGPL library to access it, and a <a href="http://www.displaylink.com/downloads/ubuntu.php">proprietary service</a> which comes with "firmware" files.<br /><br />Eric's initial RPMs used the precompiled libevdi.so, and proprietary bits, compiling only the kernel module with dkms when needed. I changed this, compiling the library from the upstream repository, using the minimal amount of pre-compiled binaries.<br /><br />This package supports <a href="http://www.displaylink.com/products">quite a few OEM devices</a>, but does not work correctly with Wayland, so you'll need to disable Wayland support in <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">/etc/gdm/custom.conf</span> if you want it to work at the login screen, and without having to restart the <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">displaylink.service</span> systemd service after logging in.<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-EKdvlcv7ey4/V0XOhIQtyLI/AAAAAAAAAzk/oqtAIBy6vA41xabupaTps_-YctJdQfkIQCLcB/s1600/plugged-in-both-ways.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="187" src="https://4.bp.blogspot.com/-EKdvlcv7ey4/V0XOhIQtyLI/AAAAAAAAAzk/oqtAIBy6vA41xabupaTps_-YctJdQfkIQCLcB/s400/plugged-in-both-ways.png" width="400" /></a></div><div style="text-align: center;"><i>&nbsp;Plugged in via DisplayPort and USB (but I can only see one at a time)</i></div><br /><br />The <a href="https://github.com/hadess/displaylink-rpm">source for the RPM are on GitHub</a>. Simply clone and run make in the repository to create 32-bit and 64-bit RPMs. The proprietary parts are redistributable, so if somebody wants to host and maintain those RPMs, I'd be glad to pass this on.http://www.hadess.net/2016/05/blog-backlog-post-3-displaylink-based.htmlnoreply@blogger.com (Bastien Nocera)2tag:blogger.com,1999:blog-977684764667858073.post-3966224120777065522Fri, 13 May 2016 16:30:00 +00002016-05-13T17:30:14.474+01:00bluetoothbluezchiplinuxmakingnutellapulseaudioBlutella, a Bluetooth speaker receiverQuite some time ago, I was asked for a way to use the AV amplifier (which has a fair bunch of speakers connected to it) in our living-room that didn't require turning on the TV to choose a source.<br /><br />I decided to try and solve this problem myself, as an exercise rather than a cost saving measure (there are good-quality Bluetooth receivers available for between 15 and 20€).<br /><br /><b>Introducing Blutella</b><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-iPqhOjywqNg/VzXQM9HHJmI/AAAAAAAAAzQ/2mvGwyV4-jA6F0_4qR3zgg0zR5MReBd_gCLcB/s1600/blutella-built.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-iPqhOjywqNg/VzXQM9HHJmI/AAAAAAAAAzQ/2mvGwyV4-jA6F0_4qR3zgg0zR5MReBd_gCLcB/s320/blutella-built.jpg" width="240" /></a></div><br /><br />I found this pot of Nutella in my travels (in Europe, smaller quantities are usually in a jar that looks like a mustard glass, with straight sides) and thought it would be a perfect receptacle for a CHIP, to allow streaming via Bluetooth to the amp. I wanted to make a nice how-to for you, dear reader, but best laid plans...<br /><br />First, the materials:<br /><ul><li>a <a href="http://getchip.com/">CHIP</a></li><li>jar of Nutella, and "Burnt umber" acrylic paint</li><li>micro-USB to USB-A and jack 3.5mm to RCA cables</li><li>Some white <a href="https://sugru.com/">Sugru</a>, for a nice finish around the cables</li><li>bit of foam, a Stanley knife, a CD marker</li></ul><br />That's around 10€ in parts (cables always seem to be expensive), not including our salvaged Nutella jar, and the CHIP itself (9$ + shipping).<br /><br />You'll start by painting the whole of the jar, on the inside, with the acrylic paint. Allow a couple of days to dry, it'll be quite thick.<br /><br />So, the plan that went awry. Turns out that the CHIP, with the cables plugged in, doesn't fit inside this 140g jar of Nutella. I also didn't make the holes exactly in the right place. The CHIP is tiny, but not small enough to rotate inside the jar without hitting the side, and the groove to screw the cap also have only one position.<br /><br />Anyway, I pierced two holes in the lid for the audio jack and the USB charging cable, stuffed the CHIP inside, and forced the lid on so it clipped on the jar's groove.<br /><br />I had nice photos with foam I cut to hold the CHIP in place, but the finish isn't quite up to my standards. I guess that means I can attempt this again with a bigger jar ;)<br /><br /><b>The software</b><br /><br />After <a href="http://www.hadess.net/2015/10/chip-flashing-on-fedora.html">flashing the CHIP with Debian</a>, I logged in, and launched a script which I put together to avoid either long how-tos, or errors when I tried to reproduce the setup after a firmware update and reset.<br /><br />The script for setting things up is in the <a href="https://github.com/hadess/CHIP-bluetooth-speaker.git">CHIP-bluetooth-speaker</a> repository. There are a few bugs due to drivers, and lack of integration, but this blog is the wrong place to track them, so <a href="https://github.com/hadess/CHIP-bluetooth-speaker/issues">check out the issues list</a>.<br /><br />Apart from those driver problems, I found the integration between PulseAudio and BlueZ pretty impressive, though I wish there was a way for the speaker to reconnect to the phone I streamed from when turned on again, as Bluetooth speakers and headsets do, removing one step from playing back audio.http://www.hadess.net/2016/05/blutella-bluetooth-speaker-receiver.htmlnoreply@blogger.com (Bastien Nocera)6tag:blogger.com,1999:blog-977684764667858073.post-67237555071571090Mon, 09 May 2016 16:15:00 +00002016-05-09T17:15:54.888+01:00ffmpeggnomegstreamermpvretroarchtotemxdg-appBlog backlog, Post 2, xdg-app bundles<br />I recently worked on creating an <a href="https://git.gnome.org/browse/gnome-apps-nightly/tree/org.gnome.Totem.json">xdg-app bundle for GNOME Videos</a>, aka Totem, so it would be built along with other <a href="https://git.gnome.org/browse/gnome-apps-nightly">GNOME applications</a>, <a href="https://wiki.gnome.org/Projects/SandboxedApps/NightlyBuilds">every night</a>, and made available via the GNOME xdg-app repositories.<br /><br />There's some functionality that's not working yet though:<br /><ul><li>No <a href="https://github.com/alexlarsson/xdg-app/issues/139">support for optical discs</a></li><li>The <a href="https://git.gnome.org/browse/totem/tree/src/plugins/dbusservice">MPRIS plugin</a> doesn't work as we're missing dbus-python (I'm not sure that the plugin will survive anyway, it's more suited to audio players, don't worry though, it's not going to be removed until we have made changes to the sound system in GNOME)</li><li>No <a href="https://github.com/alexlarsson/xdg-app/issues/158">libva/VDPAU hardware acceleration</a> (which would require plugins, and possibly device access of some sort)</li></ul>However, I created a bundle that extends the freedesktop runtime, that <a href="https://github.com/hadess/xdg-app-fusion/blob/master/net.gstreamer.libav.json">contains gst-libav</a>. We'll need to figure out a way to distribute it in a way that doesn't cause problems for US hosts.<br /><br />As we also have a recurring problem in Fedora with rpmfusion being out of date, and I sometimes need a third-party movie player to test things out, I put together an <a href="https://mpv.io/">mpv</a> <a href="https://github.com/hadess/xdg-app-fusion/blob/master/io.mpv.app.json.in">manifest</a>, which is the only MPlayer-like with a .desktop and a GUI when launched without any command-line arguments.<br /><br />Finally, I put together a <a href="http://www.libretro.com/">RetroArch</a> <a href="https://github.com/hadess/xdg-app-fusion/blob/master/com.libretro.retroarch.json">bundle</a> for research into a future project, which uncovered the <a href="https://github.com/alexlarsson/xdg-app/issues/149">lack of joystick/joypad support</a> in the xdg-app sandbox.<br /><br />Hopefully, those few manifests will be useful to other application developers wanting to distribute their applications themselves. There are some other bundles being worked on, and that can be used as examples, <a href="https://wiki.gnome.org/Projects/SandboxedApps#Building_applications">linked to in the Wiki</a>.http://www.hadess.net/2016/05/blog-backlog-post-2-xdg-app-bundles.htmlnoreply@blogger.com (Bastien Nocera)2tag:blogger.com,1999:blog-977684764667858073.post-5927613563172624839Wed, 04 May 2016 18:18:00 +00002016-05-05T14:47:18.396+01:00cairochromeemojifirefoxgtk+guadeclibreofficewebkitBlog backlog, Post 1, Emoji<b>Short version</b><br /><span style="font-family: &quot;georgia&quot; , &quot;times new roman&quot; , serif;"> </span><br /><!-- HTML generated using hilite.me --><br /><div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">dnf copr enable hadess/emoji</span><br /><span style="color: #888888;">dnf update cairo</span><br /><span style="color: #888888;">dnf install eosrei-emojione-fonts </span><br /></pre></div><br /><span style="font-family: &quot;georgia&quot; , &quot;times new roman&quot; , serif;"> </span><br /><br /><b>Long version </b><br /><br />A little while ago, I was reading <a href="http://meowni.ca/posts/emoji-emoji-emoji/">this article,</a> called "Emoji: how do you get from U+1F355 to 🍕?", which said, and I reluctantly quote: "[...] and I don’t know what Linux does, but it’s probably black and white and who cares [...]".<br /><br />Well. I care. And you probably do as well if your pizza slice above is black and white.<br /><br />So I set out to check on the status of&nbsp;Behdad Esfahbod (or just "Behdad" as we know him)'s patches to add colour font support to cairo, which he <a href="http://videos.guadec.org/2015/Fonts%20without%20Borders/">presented at GUADEC in <strike>Strasbourg</strike> Gothenburg</a>. It adds support for the "bitmap in font" as Android does, and as freetype supports.<br /><br />It kind of worked, and <a href="http://blogs.gnome.org/mclasen/">Matthias Clasen</a> <a href="https://github.com/matthiasclasen/cairo/commits/matthiasc/emoji-5">reworked the patches</a> a few times, completing the support. This is probably not the code that will be worked on and will land in cairo, but it's a good enough base for people interested in contributing to use.<br /><br />After that, we needed something to display using that feature. We ended up using the same <a href="http://probablement.net/txt/emojilinux">font recommended in this article</a>, the Emoji One font.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-C0CezjTYq1w/Vyo7LOJQsNI/AAAAAAAAAzA/3rPKtn7U7A0EjI_1AJu8o4GFkKA1tykKACLcB/s1600/gnome-characters-emoji.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="310" src="https://1.bp.blogspot.com/-C0CezjTYq1w/Vyo7LOJQsNI/AAAAAAAAAzA/3rPKtn7U7A0EjI_1AJu8o4GFkKA1tykKACLcB/s400/gnome-characters-emoji.png" width="400" /></a></div><br />There's still plenty to be done to support emojis, even after the cairo support is merged. We'd need a way to input emojis (maybe <a href="https://github.com/lalomartins/ibus-uniemoji/">Lalo Martins</a> is listening), and support in a lot of toolkits other than GNOME (Firefox only supports the SVG-in-OTF format, WebKit, Chrome, LibreOffice don't seem to know about colour fonts either).<br /><br />You can find more information about design interests in GNOME around Emoji <a href="https://wiki.gnome.org/Design/OS/Emoji">on the Wiki</a>.<br /><br /><b>Update</b>: Behdad's presentation was in Gothenburg, not Strasbourg. You can also <a href="https://www.youtube.com/watch?v=nUUYOGKrQVk">see the video on YouTube</a>. http://www.hadess.net/2016/05/blog-backlog-post-1-emoji.htmlnoreply@blogger.com (Bastien Nocera)7tag:blogger.com,1999:blog-977684764667858073.post-3292581300468274702Mon, 29 Feb 2016 10:44:00 +00002016-03-08T11:58:19.164+00:00brasilbrazildesignendlessgnomehackfestportugueseportuguêsrioRelatório da Hackatona de DesignDurante semana, no mês de janeiro, eu estive no Brasil, no Rio de Janeiro para uma hackatona de design, com os designers de <a href="https://endlessm.com/pt-br/">Endless</a>&nbsp;e do projeto GNOME.<br /><br /><b>Que é o produto de Endless?</b><br /><br />O maior produto de Endless é um sistema operativo para mini computadores que eles fazem, o Endless Mini e o Endless (Maxi?). O sistema operativo usa Linux e uma versão de GNOME com algumas changes (mudanças). O uso principal desses computadores é de ter muitas informações sem acesso à Internet. Por exemplo, tem muitos aplicativos sobre viagens, animais e etc que são diretamente dentro do computador, usando Wikipedia como fonte, e uma outra aplicação de receitas, com uma outra terceira fonte.<br /><br /><b>A hackatona em si</b><br /><br />Os dois primeiros dias foram para viajar e visitar os usuários “beta” do Endless computadores, um dia na Rocinha, uma favela do Rio. E um outro dia em Magé, uma cidade rural do estado do Rio.<br />Os três últimos dias foram para discussões no escritório de Endless.<br /><br /><b>Observações</b><br /><br />É uma coisa para fazer testes de usabilidade nos EUA e na Europa, e uma outra coisa de fazer isso num país sem habitude de usar “computadores pessoais” com Windows o MacOS X, mas muita mais habitude com celulares.<br /><br />Por exemplo:<br />- Se se tem um mouse, vão dar dublo clique. Não é um problema com teclados sensíveis.<br />- Dividir a tela para ter um aplicativo ao lado de uma outra é difícil também.<br />- Se não se tem um acesso à Internet, não vão tentar instalar o acessar outros aplicativos que estão já no computador.<br />- Não estão acostumados a fechar aplicativos que não usam mais. Um sistema operativo de celular vai fechar os aplicativos antigos de maneira transparente.<br /><br /><b>Conclusões</b><br /><br />Muitas coisas que o Endless ou GNOME podem mudar ou melhorar.<br /><br />- GNOME tem alguns vídeos para explicar o “overview”. Um jogo ou tutorial podem ser melhor para explicar e ter certeza de que os usuários entendem.<br />- GNOME precisa melhorar a integração de modems celulares. ModemManager tem as funções que GNOME não usa.<br />- “Web” precisa de integração com detecção de malware, que ele não tem agora, mas foi uma ideia para o Summer Of Code dos anos precedentes.<br />- GNOME pode melhorar a primeira tela de todos os aplicativos e do sistema também, especialmente se o usuário não tem Internet para baixar conteúdo.<br /><br />Muito obrigado a fundação GNOME pelas minhas passagens. Obrigado ao Endless e o Allan Day pela a organizacão. Obrigado ao meu empregador Red Hat pela oportunidade. E, enfim, obrigado à Caro pela correcção!<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-rfe_rQuvAiA/SkyE1pGIBNI/AAAAAAAAARE/1HAF8x2-T58/s1600/sponsored-badge-simple.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-rfe_rQuvAiA/SkyE1pGIBNI/AAAAAAAAARE/1HAF8x2-T58/s1600/sponsored-badge-simple.png" /></a></div><br />http://www.hadess.net/2016/02/relatorio-da-hackatona-de-design.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-5730619537262653003Sun, 10 Jan 2016 13:24:00 +00002016-01-10T13:24:34.761+00:00airplane modebluetoothdbusgnome-settings-daemonosdrfkilluwbwifiSupport for "Airplane mode" keysAs we were working on <a href="https://bugzilla.gnome.org/show_bug.cgi?id=755062">audio jack notifications</a>, and were wondering whether the type of notification we'd pop up in this case could be reused in <a href="https://bugzilla.gnome.org/show_bug.cgi?id=600774">other</a> <a href="https://bugzilla.gnome.org/show_bug.cgi?id=661643">cases</a>, I encountered a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=661643">feature request</a> that could now be solved easily with the <a href="https://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/rfkill/gsd-rfkill-manager.c#n66">rfkill D-Bus service</a> we added to gnome-settings-daemon for the 3.10 release.<br /><br />If you have keyboard buttons on your laptop to enable or disable Bluetooth, or Airplane mode, you can now use them. Note that the "UWB" toggle key will toggle the whole airplane mode mainly because no in-kernel driver uses it, and <a href="https://en.wikipedia.org/wiki/Ultra-wideband">nobody remembers what UWB is</a>.<br /><br />Note that the labels and icons used are still subject to changes. In particular as you can see that the labels are too long for lower resolutions.<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-psbT3y5fG90/VpJbR5xFxYI/AAAAAAAAAxw/Butp0FnzeM4/s1600/airplane-mode-disabled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-psbT3y5fG90/VpJbR5xFxYI/AAAAAAAAAxw/Butp0FnzeM4/s1600/airplane-mode-disabled.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-KbQWuTiXH_E/VpJbR-IED8I/AAAAAAAAAx0/dcAut3RFIF0/s1600/airplane-mode-enabled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-KbQWuTiXH_E/VpJbR-IED8I/AAAAAAAAAx0/dcAut3RFIF0/s1600/airplane-mode-enabled.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-tGbOPZTcCiA/VpJbRvJ1j-I/AAAAAAAAAxs/_IG2fvPssvg/s1600/bluetooth-disabled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-tGbOPZTcCiA/VpJbRvJ1j-I/AAAAAAAAAxs/_IG2fvPssvg/s1600/bluetooth-disabled.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-vls7ipXSi6c/VpJbSe3WMZI/AAAAAAAAAx4/CVN-SnwFy5c/s1600/bluetooth-enabled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-vls7ipXSi6c/VpJbSe3WMZI/AAAAAAAAAx4/CVN-SnwFy5c/s1600/bluetooth-enabled.png" /></a></div><br />http://www.hadess.net/2016/01/support-for-airplane-mode-keys.htmlnoreply@blogger.com (Bastien Nocera)6tag:blogger.com,1999:blog-977684764667858073.post-4350288687619064388Sat, 09 Jan 2016 15:23:00 +00002016-01-09T15:23:01.600+00:00bolsogjsgomhackfestjavascriptpocketgom is now usable from JavaScript/gjsProdded by me while I snoozed on his sofa and with his cat warming me up, a day before the <a href="https://wiki.gnome.org/Hackfests/ContentApps2015">Content Applications hackfest</a>, <a href="https://blogs.gnome.org/fmuellner/">Florian Müllner</a> started working on fixing a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=681254">long-standing gjs bug</a> that made it impossible to use gom in GNOME/JavaScript applications. The result of that initial research came a few days later, and is now part of the <a href="http://ftp.acc.umu.se/pub/GNOME/sources/gjs/1.45/">latest gjs release</a>.<br /><br />This also fixes using GtkBuilder and json-glib when the libraries create new objects for the benefit of the JavaScript code.<br /><br />We can finally use gom to store user data in applications like <a href="https://github.com/felipeborges/bolso">Bolso</a>. Thanks Florian!http://www.hadess.net/2016/01/gom-is-now-usable-from-javascriptgjs.htmlnoreply@blogger.com (Bastien Nocera)1tag:blogger.com,1999:blog-977684764667858073.post-6797202098085480579Tue, 08 Dec 2015 10:53:00 +00002015-12-08T10:53:27.032+00:00content appsgnomegnome-documentsgnome-musicgtk+hackfestlibreofficetotemContents Apps Hackfest 2015As you might already have noticed from the posts on <a href="http://planet.gnome.org/">Planet GNOME</a>, and can find again on the <a href="https://wiki.gnome.org/action/diff/Hackfests/ContentApps2015">hackfest's page</a>, we spent some time in the <a href="http://medialab-prado.es/?lang=en">MediaLab Prado</a> discussing and hacking on Content Apps.<br /><br /><b>Music</b><br /><br />Following discussions about <a href="https://wiki.gnome.org/Apps/Music">Music</a>'s state, I did my bit trying to gather more contributors by porting it to grilo 0.3, and thus bringing it back into the default jhbuild target.<br /><br /><b>Videos</b><br /><br />I made some progress on Videos' "<a href="https://bugzilla.gnome.org/show_bug.cgi?id=732515">series grouping</a>" feature. Loads of backend code written, but not much in the way of UI for now. We however made some progress discussing said UI with <a href="http://afaikblog.wordpress.com/">Allan</a>.<br /><br />I also took the opportunity to fix a few low-hanging fruit^Wbugs.<br /><br /><b>Documents</b><br /><br />This is where the majority of my energy went. After getting a new enough version of LibreOffice going on my machine (Fedora users, that lives in rawhide only right), <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1289240">no thanks to COPR</a>, I tested <a href="http://pranavk.github.io/open-source/initial-preview-of-libreoffice-integration-with-gnome-documents/">Pranav's LibreOfficeKit integration</a> into gnome-documents, after <a href="https://blogs.gnome.org/cosimoc/">Cosimo</a> rebased it.<br /><br />You can test it now by checking out the&nbsp;<span style="font-family: Courier New, Courier, monospace;">wip/lokdocview-rebase</span> branch of gnome-documents, grabbing the above mentioned version of LibreOffice, and running:<br /><br /><div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/libreoffice/program/ gjs org.gnome.Documents</span><br /></pre></div><br />After a number of fixes, and bugs filed in the Document Foundation bugzilla, we should be able to land this so that you can preview and edit word processing documents, presentations and spreadsheets without going through the heavy PDF preview.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-GcDsh6hOyGc/Vma0ue76RLI/AAAAAAAAAw0/HV6mYgKQWrk/s1600/Screenshot%2Bfrom%2B2015-12-07%2B17-22-58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="http://3.bp.blogspot.com/-GcDsh6hOyGc/Vma0ue76RLI/AAAAAAAAAw0/HV6mYgKQWrk/s400/Screenshot%2Bfrom%2B2015-12-07%2B17-22-58.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><i><br /></i></div><div class="separator" style="clear: both; text-align: center;"><i>A picture, which doubles the length of my blog post</i></div><div class="separator" style="clear: both; text-align: center;"><i><br /></i></div><div class="separator" style="clear: both; text-align: left;">And the side-effect of this work is that we can start adding new "views" to the application without too much trouble, like, say, <a href="https://martamilakovic.wordpress.com/2014/08/27/766/">an epub view</a>.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Thanks</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Many thanks to the GNOME Foundation for sponsoring my travel, the MediaLab Prado for hosting us, and Allan and Florian for organising the hackfest.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-tBsCmCoCrdg/Vma2adri91I/AAAAAAAAAxA/EzmZgUrkiW4/s1600/sponsored-badge-simple.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-tBsCmCoCrdg/Vma2adri91I/AAAAAAAAAxA/EzmZgUrkiW4/s1600/sponsored-badge-simple.png" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div>http://www.hadess.net/2015/12/contents-apps-hackfest-2015.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-6292212612863579194Fri, 06 Nov 2015 09:00:00 +00002015-11-06T09:00:04.784+00:00bluetoothdellgadgetgizmognomekeyboardlogitechmicrosoftreviewsurfacetouchtouchpadtouchscreenupowerGadget reviewsNot that I'm really running after more gadgets, but sometimes, there is a need that could only be soothed through new hardware.<br /><br /><b>Bluetooth UE roll</b><br /><br />Got this for my wife, to play music when staying out on the <a href="http://www.grandlyon.com/a-vivre/berges-du-rhone.html">quays of the Rhône</a>, playing music in the kitchen (from a phone or computer), or when she's at the photo lab.<br /><br />It works well with iOS, MacOS X and Linux. It's very easy to use, with whether it's paired, connected completely obvious, and the charging doesn't need specific cables (USB!).<br /><br />I'll need to borrow it to add <a href="https://bugs.freedesktop.org/show_bug.cgi?id=92369">battery reporting for those devices</a> though. You can find a&nbsp;<a href="http://arstechnica.co.uk/gadgets/2015/07/someone-has-finally-made-a-portable-bluetooth-speaker-that-doesnt-suck/">full review on Ars Technica</a>.<br /><br /><a href="https://sugru.com/"><b>Sugru</b></a> (!)<br /><br />Not a gadget per se, but I bought some, used it to fix up a bunch of cables, repair some knickknacks, and <a href="http://www.hadess.net/2015/09/philips-wireless-modernised.html">do some DIY</a>. Highly recommended, especially given the current price of their starter packs.<br /><br /><a href="http://www.amazon.fr/gp/product/B00FDOBVZG"><b>15-pin to USB Joystick adapter</b></a><br /><br />It's apparently from Ckeyin, but you'll find the exact same box from other vendors. Made my old Gravis joystick work, in the hope that I can make it work with DOSBox and my 20-year old copy of <a href="https://en.wikipedia.org/wiki/Star_Wars:_X-Wing_vs._TIE_Fighter">X-Wing vs. Tie Fighter</a>.<br /><br /><a href="http://www.microsoft.com/accessories/en-us/products/mice/arc-touch-bluetooth-mouse/7mp-00001"><b>Microsoft Surface ARC Mouse</b></a><br /><br />That one was given to me, for testing, works well with Linux. Again, we'll need to do some work to <a href="https://bugs.freedesktop.org/show_bug.cgi?id=92370">report the battery</a>. I only ever use it when travelling, as the batteries last for absolute ages.<br /><br /><a href="http://www.logitech.com/en-us/product/k750-keyboard"><b>Logitech K750 keyboard</b></a><br /><br />Bought this nearly two years ago, and this is one of my best buys. My desk is close to a window, so it's wireless but I never need to change the batteries or think about charging it. GNOME also supports showing the battery status in the Power panel.<br /><br /><a href="http://support.logitech.fr/product/touchpad-t650"><b>Logitech T650 touchpad</b></a><br /><br />Got this one in sale (17€), to replace my <a href="http://www.logitech.com/en-us/product/trackman-marble">Logitech trackball</a>&nbsp;(one of its buttons broke...). It works great, and can even get you shell gestures when run in Wayland. I'm certainly happy to have one less cable running across my desk, and reuses the same dongle as the keyboard above.<br /><br />If you use more than one devices, you might be interested in this bug to make it easier to <a href="https://bugzilla.gnome.org/show_bug.cgi?id=756574">support multiple Logitech "Unifying" devices</a>.<br /><br /><a href="http://www.clicc.de/en/products/cliclite/"><b>ClicLite charger</b></a><br /><br />Got this from a design shop in Berlin. It should probably have been cheaper than what I paid for it, but it's certainly pretty useful. Charges up my phone by about 20%, it's small, and charges up at the same time as my keyboard (above).<br /><br /><a href="http://www.dell.com/ed/business/p/dell-s2340t-multi-touch-monitor/pd"><b>Dell S2340T</b></a><br /><br />Bought about 2 years ago, to replace the monitor I had in an all-in-one (Lenovo all-in-ones, never buy that junk).<br /><br />Nowadays, the resolution would probably be considered a bit on the low side, and the touchscreen mesh would show for hardcore photography work. It's good enough for videos though and the speaker reaches my sitting position.<br /><br />It's only been possible to use the USB cable for graphics for a couple of months, and it's probably not what you want to lower CPU usage on your machine, but it <a href="https://github.com/hadess/displaylink-rpm">works for Fedora with this RPM I made</a>. Talk to me if you can help get it into <a href="http://rpmfusion.org/">RPMFusion</a>.<br /><br />Shame about the huge power brick, but a little bonus for the builtin Ethernet adapter.<br /><br /><a href="https://www.microsoft.com/surface/en-us/devices/surface-3"><b>Surface 3</b></a><br /><br />This is probably the biggest ticket item. Again, I didn't pay full price for it, thanks to coupons, rewards, and all. The work to getting Linux and GNOME to play well with it <a href="https://wiki.gnome.org/BastienNocera/Surface%203">is still ongoing</a>, and rather slow.<br /><br />I won't comment too much on Windows either, but rather as what it should be like once Linux runs on it.<br /><br />I really enjoy the industrial design, maybe even the slanted edges, but one as to wonder why they made the USB power adapter not sit flush with the edge when plugged in.<br /><br />I've used it a couple of times (under Windows, sigh) to read Pocket as I do on my iPad 1 (yes, the first one), or stream videos to the TV using Flash, without the tablet getting hot, or too slow either. I also like the fact that there's a real USB(-A) port that's separate from the charging port. The micro SD card port is nicely placed under the kickstand, hard enough to reach to avoid it escaping the tablet when lugged around.<br /><br />The keyboard, given the thickness of it, and the constraints of using it as a cover, is good enough for light use, when travelling for example, and the layout isn't as awful as on, say, a Thinkpad Carbon X1 2nd generation. The touchpad is a bit on the small side though it would have been hard to make it any bigger given the cover's dimensions.<br /><br />I would however recommend getting a Surface Pro if you want things to work right now (or at least soon). The one-before-last version, the Surface Pro 3, is probably a good target.http://www.hadess.net/2015/11/gadget-reviews.htmlnoreply@blogger.com (Bastien Nocera)1tag:blogger.com,1999:blog-977684764667858073.post-3911063765374838992Fri, 30 Oct 2015 13:52:00 +00002015-10-30T13:52:06.286+00:00armC.H.I.P.embeddedfedoraflashrtl8723bsC.H.I.P. flashing on FedoraYou might have heard of the <a href="http://nextthing.co/">C.H.I.P.</a>, the 9$ computer. After contributing to <a href="https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer">their Kickstarter</a>, and with no intent on hacking on more kernel code than is absolutely necessary, I requested the "final" devices, when chumps like me can read loads of docs and get accessories for it easily.<br /><br />Turns out that our old friend the <a href="https://github.com/hadess/rtl8723bs">Realtek 8723BS</a> chip is the Wi-Fi/Bluetooth chip in the nano computer. NextThingCo got in touch, and sent me a couple of early devices (as well as to the "Kernel hacker" backers), with their plan being to upstream all the drivers and downstream hacks into the upstream kernel.<br /><br />Before being able to hack on the kernel driver though, we'll need to get some software on it, and find a way to access it. The docs website has <a href="https://nextthingco.zendesk.com/hc/en-us/articles/209757858-Flash-C-H-I-P-with-NTC-buildroot-Ubuntu">instructions on how to flash the device using Ubuntu</a>, but we don't use that here.<br /><br />You'll need a C.H.I.P., a jumper cable, and the USB cable you usually use for charging your phone/tablet/e-book reader.<br /><br />First, let's install a few necessary packages:<br /><br /><!-- HTML generated using hilite.me --><br /><div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">dnf install -y sunxi-tools uboot-tools python3-pyserial moserial</span><br /></pre></div><br />You might need other things, like git and gcc, but I kind of expect you to already have that installed if you're software hacking. You will probably also need to <a href="http://koji.fedoraproject.org/koji/buildinfo?buildID=694978">get sunxi-tools from Koji</a> to get a new enough version that will support the C.H.I.P.<br /><br />Get your jumper cable out, and make the connection as per the NextThingCo docs. I've copied the photo from the docs to keep this guide stand-alone.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-8wWvEcM3nTo/VjNyxJgj9VI/AAAAAAAAAwY/nB3FVdlwX8o/s1600/chip-jumper-cable.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="http://2.bp.blogspot.com/-8wWvEcM3nTo/VjNyxJgj9VI/AAAAAAAAAwY/nB3FVdlwX8o/s400/chip-jumper-cable.jpg" width="400" /></a></div><br /><br />Let's install the tools, modified to work with Fedora's newer, upstreamer, version of the sunxi-tools.<br /><br /><!-- HTML generated using hilite.me --><br /><div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">$ git clone https://github.com/hadess/CHIP-tools.git</span><br /><span style="color: #888888;">$ cd CHIP-tools</span><br /><span style="color: #888888;">$ make</span><br /><span style="color: #888888;">$ sudo ./chip-update-firmware.sh -d</span><br /></pre></div><br />If you've followed the instructions, you haven't plugged in the USB cable yet. Plug in the USB cable now, to the micro USB power supply on one end, and to your computer on the other.<br /><br />You should see the little "<span style="font-family: Courier New, Courier, monospace;">OK</span>" after the "<span style="font-family: Courier New, Courier, monospace;">waiting for fel</span>" message:<br /><br /><!-- HTML generated using hilite.me --><br /><div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;"><pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">== upload the SPL to SRAM and execute it ==</span><br /><span style="color: #888888;">waiting for fel........OK</span><br /></pre></div><div><br /></div><div>At this point, you can unplug the jumper cable, something not mentioned in the original docs. If you don't do that, when the device reboots, it will reboot in flashing mode again, and we obviously don't want that.</div><div><br /></div><div>At this point, you'll just need to wait a while. It will verify the installation when done, and turn off the device. Unplug, replug, and launch moserial as root. You should be able to access the C.H.I.P. through <span style="font-family: Courier New, Courier, monospace;">/dev/ttyACM0</span> with a baudrate of <span style="font-family: Courier New, Courier, monospace;">115200</span>. The root password is "<span style="font-family: Courier New, Courier, monospace;">chip</span>".</div><div><br /></div><div>Obligatory screenshot of our new computer:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-UQMiXU8b0GQ/VjN0qhd2l0I/AAAAAAAAAwk/EejOj8r1A-k/s1600/chip-moserial.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="http://3.bp.blogspot.com/-UQMiXU8b0GQ/VjN0qhd2l0I/AAAAAAAAAwk/EejOj8r1A-k/s400/chip-moserial.png" width="400" /></a></div><div><br /></div><div>Next step, testing out our cleaned up Realtek driver, Fedora on the C.H.I.P., and plenty more.</div>http://www.hadess.net/2015/10/chip-flashing-on-fedora.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-1761129640007032776Fri, 25 Sep 2015 07:00:00 +00002015-09-25T08:00:06.073+01:00adafruitdebianfedoraoledpimusicboxradioraspberry pirpispeakerwirelessPhilips Wireless, modernisedI've wanted a stand-alone radio in my office for a long time. I've been using a small portable radio, but it ate batteries quickly (probably a 4-pack of AA for a bit less of a work week's worth of listening), changing stations was cumbersome (hello FM dials) and the speaker was a bit teeny.<br /><br />A couple of years back, I had a Raspberry Pi-based computer on pre-order (<a href="https://en.wikipedia.org/wiki/Kano_(computer)">the Kano</a>, highly recommended for kids, and beginners) through a crowd-funding site. So I scoured « brocantes » (imagine a mix of car boot sale and antiques fair, in France, with people emptying their attics) in search of a shell for my small computer. A whole lot of nothing until my wife came back from a week-end at a friend's with this:<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-uJND8mvmnrY/VgQGR-Pgv0I/AAAAAAAAAuk/YRD2uKy-JkQ/s1600/DSC00337.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="318" src="http://4.bp.blogspot.com/-uJND8mvmnrY/VgQGR-Pgv0I/AAAAAAAAAuk/YRD2uKy-JkQ/s320/DSC00337.JPG" width="320" /></a></div><div style="text-align: center;"><i>Photo from <a href="http://www.radiohistoria.sk/Oldradio/main.nsf/wcatalid/0000177">Radio Historia</a></i></div><br />A <a href="http://www.radiomuseum.org/r/philips_522a.html">Philips Octode Super 522A</a>, from 1934, when SKUs were as superlative-laden and impenetrable as they are today.<br /><br /><b>Let's DIY</b><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-1KMnhoCpDm4/VgQL70P6TNI/AAAAAAAAAuw/6O-KxDAOyXg/s1600/IMG_1189_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="http://2.bp.blogspot.com/-1KMnhoCpDm4/VgQL70P6TNI/AAAAAAAAAuw/6O-KxDAOyXg/s320/IMG_1189_small.JPG" width="264" /></a></div><br /><br />I started by removing the internal parts of the radio, without actually turning it on. When you get such old electronics, they need to be checked thoroughly before being plugged, and as I know nothing about tube radios, I preferred not to. And FM didn't exist when this came out, so not sure what I would have been able to do with it anyway.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-F-BNAh96hnQ/VgQMTJ5PuYI/AAAAAAAAAu4/QOv8OnbhOj0/s1600/IMG_1215_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-F-BNAh96hnQ/VgQMTJ5PuYI/AAAAAAAAAu4/QOv8OnbhOj0/s320/IMG_1215_small.JPG" width="247" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Roomy, and dirty. The original speaker was removed, the front buttons didn't have anything holding them any more, and the nice backlit screen went away as well.<br /><br />To replace the speaker, I went through quite a lot of research, looking for speakers that were embedded, rather than get a speaker in box that I would need to extricate from its container. <a href="http://www.visaton.de/en/index.html">Visaton</a>&nbsp;make speakers that can be integrated into ceiling, vehicles, etc. That also allowed me to <a href="http://www.visaton.com/en/industrie/breitband/fr12_8.html">choose one that had a good enough range</a>, and would fit into the one hole in my case.<br /><br />To replace the screen, I settled on an OLED screen that I knew would work without too much work with the Raspberry Pi, a <a href="https://learn.adafruit.com/ssd1306-oled-displays-with-raspberry-pi-and-beaglebone-black">small AdaFruit SSD1306</a> one. Small amount of soldering that was up to my level of skills.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-76Mn2KWvbGQ/VgQPNNIv1xI/AAAAAAAAAvE/uKR9LCr8MDE/s1600/IMG_1212_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-76Mn2KWvbGQ/VgQPNNIv1xI/AAAAAAAAAvE/uKR9LCr8MDE/s320/IMG_1212_small.JPG" width="320" /></a></div><div style="text-align: center;"><i>It worked, it worked!</i></div><br />Hey, soldering is easy. So because of the size of the speaker I selected, and the output power of the RPi, I needed an amp. The <a href="http://www.velleman.eu/products/view/?country=be&amp;lang=en&amp;id=387602">Velleman MK190 kit</a> was cheap (€10), and should just be able to work with the 5V USB power supply I planned to use. Except that the schematics are really not good enough for an electronics starter. I spent a couple of afternoons verifying, checking on the Internet for alternate instructions, re-doing the solder points, to no avail.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-rscymUTUNfo/VgQVpCxjC0I/AAAAAAAAAvc/wlFXPmw-xKI/s1600/IMG_1277_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-rscymUTUNfo/VgQVpCxjC0I/AAAAAAAAAvc/wlFXPmw-xKI/s320/IMG_1277_small.JPG" width="320" /></a></div><div style="text-align: center;"><i>'Sup Tiga!</i></div><br />So much wasted time, and got a <a href="http://www.amazon.fr/gp/product/B00OPKJMI2">cheap car amp with a power supply</a>. You can probably find cheaper.<br /><br />Finally, I got another Raspberry Pi, and SD card, so that the Kano, with its super wireless keyboard, could find a better home (it went to my godson, who seemed to enjoy the early game of Pong, and being a wizard).<br /><br /><b>Putting it all together</b><br /><br />We'll need to hold everything together. I got a bit of help for somebody with a <a href="https://en.wikipedia.org/wiki/Dremel">Dremel tool</a> for the piece of wood that will hold the speaker, and another one that will stick three stove bolts out of the front, to hold the original tuning, mode and volume buttons.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-qREk7lpb7qs/VgQW-sEVwcI/AAAAAAAAAvo/uB7rMq_2yL4/s1600/IMG_1258_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-qREk7lpb7qs/VgQW-sEVwcI/AAAAAAAAAvo/uB7rMq_2yL4/s320/IMG_1258_small.JPG" width="275" /></a></div><div style="text-align: center;"><i>A real <a href="https://en.wikipedia.org/wiki/Joiner">joiner</a></i></div><br />I fast-forwarded the machine by a couple of years with a <a href="https://en.wikipedia.org/wiki/IEC_60320">« Philips » figure-of-8 plug</a> at the back, so machine's electrics would be well separated from the outside.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-hdZYkjwFsok/VgQYyXIB9yI/AAAAAAAAAv0/GxtH4J3L2ZI/s1600/IMG_1221_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-hdZYkjwFsok/VgQYyXIB9yI/AAAAAAAAAv0/GxtH4J3L2ZI/s320/IMG_1221_small.JPG" width="258" /></a></div><br /><br />Screws into the side panel for the amp, blu-tack to hold the OLED screen for now, RPi on a few leftover bits of wood.<br /><br /><b>Software</b><br /><br />My first attempt at getting something that I could control on this small computer was <a href="https://www.flyn.org/projects/lcdgrilo/index.html">lcdgrilo</a>. Unfortunately, I would have had to write a Web UI for it (remember, my buttons are just stuck on, for now at least), and probably port the SSD1306 OLED screen's driver from Python, so not a good fit.<br /><br />There's no proper Fedora support for Raspberry Pis, and while one can use a nearly stock Debian with a few additional firmware files on Raspberry Pis, Fedora chose not to support that slightly older SoC at all, which is obviously disappointing for somebody working on Fedora as a day job.<br /><br />Looking for <a href="http://www.instructables.com/id/Roberts-747-DIY-Raspberry-Pi-internet-radiostreame/?ALLSTEPS">other radio retrofits</a>, and there are plenty of <a href="http://imgur.com/a/mVLxp">quality ones</a> on the Internet, and for various connected speakers backends, I found <a href="http://www.pimusicbox.com/">PiMusicBox</a>. It's a Debian variant with <a href="https://www.mopidy.com/">Mopidy</a> builtin, and a very easy to use initial setup: edit a settings file on the SD card image, boot and access the interface via a browser. Tada!<br /><br />Once I had tested playback, I lowered the amp's volume to nearly zero, raised the web UI's volume to the maximum, and raised the amp's volume to the maximum bearable for the speaker. As I won't be able to access the amp's dial, we'll have this software only solution.<br /><br /><b>Wrapping up</b><br /><br />I probably spent a longer time looking for software and hardware than actually making my connected radio, but it was an enjoyable couple of afternoons of work, and the software side isn't quite finished.<br /><br />First, in terms of hardware support, I'll need to <a href="https://github.com/hadess/mopidy-ssd1306">make this OLED screen work</a>, how lazy of me. The audio setup is currently just the right speaker, as I'd like <a href="https://github.com/pimusicbox/pimusicbox/issues/314">both the radios and AirPlay streams to be downmixed</a>.<br /><br />Secondly, Mopidy supports plugins to extend its sources, uses GStreamer, so would be a <a href="https://github.com/mopidy/mopidy/issues/1021">right fit for Grilo</a>, making it easier for Mopidy users to extend through Lua.<br /><br />Do note that the Raspberry Pi I used is a B+ model. For B models, it's recommended to use a separate DAC, because of the bad audio quality, even if <a href="http://www.crazy-audio.com/2014/07/sound-quality-of-the-raspberry-pi-b/">the B+ isn't that much better</a>. Testing out use the HDMI output with an HDMI to VGA+jack adapter might be a way to cut costs as well.<br /><br />Possible improvements could include making the front-facing dials work (that's going to be a tough one), or adding RFID support, so I can wave items in front of it to turn it off, or play a particular radio.<br /><br />In all, this radio cost me:<br />- 10 € for the radio case itself<br />- 36.50 € for the Raspberry Pi and SD card (I already had spare power supplies, and supported Wi-Fi dongle)<br />- 26.50 € for the OLED screen plus various cables<br />- 20 € for the speaker<br />- 18 € for the amp<br />- 21 € for various cables, bolts, planks of wood, etc.<br /><br />I might also count the 14 € for the soldering iron, the 10 € for the Velleman amp, and about 10 € for adapters, cables, and supplies I didn't end up using.<br /><br />So between 130 and 150 €, and a number of afternoons, but at the end, a very flexible piece of hardware that didn't really stretch my miniaturisation skills, and a completely unique piece of furniture.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-J9vYU-MeYL0/VgQwpOrby4I/AAAAAAAAAwE/Mu_rgJc-yuY/s1600/IMG_1330_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-J9vYU-MeYL0/VgQwpOrby4I/AAAAAAAAAwE/Mu_rgJc-yuY/s1600/IMG_1330_small.JPG" /></a></div><br /><br />In the future, I plan on playing with making my own 3-button keyboard, and making a remote speaker to plug in the living room's 5.1 amp with a&nbsp;<a href="https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer">C.H.I.P computer</a>.<br /><br />Happy hacking!http://www.hadess.net/2015/09/philips-wireless-modernised.htmlnoreply@blogger.com (Bastien Nocera)3tag:blogger.com,1999:blog-977684764667858073.post-3464452392688320506Wed, 23 Sep 2015 21:02:00 +00002015-09-23T22:11:00.257+01:00accelerometeralscompassgeocluegnomegnome-booksgpsgriloiio-sensor-proxykerberosowncloudpockettotemtouchwaylandGNOME 3.18, here we goAs I'm <a href="http://www.hadess.net/2015/03/gnome-316-is-out.html">known to do</a>, a focus on the little things I worked on during the just released <a href="https://help.gnome.org/misc/release-notes/3.18/">GNOME 3.18</a> development cycle.<br /><br /><b>Hardware support</b><br /><br />The accelerometer support in GNOME now uses <a href="http://www.hadess.net/2015/05/iio-sensor-proxy-10-is-out.html">iio-sensor-proxy</a>. This daemon also now supports ambient light sensors, which Richard used to implement the <a href="https://help.gnome.org/misc/release-notes/3.18/#automatic-screen-brightness">automatic brightness adjustment</a>, and compasses, which are used in GeoClue and gnome-maps.<br /><br />In kernel-land, I've fixed the detection of some Bosch accelerometers, added support for another Kyonix one, as used in some tablets.<br /><br />I've also added quirks for out-of-the-box touchscreen support on some cheaper tablets using the <span style="font-family: Courier New, Courier, monospace;">goodix</span> driver, and started reviewing a number of patches for that same touchscreen.<br /><br />With Larry Finger, of Realtek kernel drivers fame, we've carried on cleaning up the Realtek 8723BS driver used in the majority of Windows-compatible tablets, in the <a href="https://endlessm.com/">Endless computer</a>, and even in the <a href="https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer">$9 C.H.I.P. Linux computer</a>.<br /><br /><b>Bluetooth UI changes</b><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-YjioCBzuVVg/VgEzgbQEGRI/AAAAAAAAAuI/Qv3nlBHBZqY/s1600/bluetooth-off.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="http://3.bp.blogspot.com/-YjioCBzuVVg/VgEzgbQEGRI/AAAAAAAAAuI/Qv3nlBHBZqY/s400/bluetooth-off.png" width="400" /></a></div><br /><br />The Bluetooth panel now has better « empty states », explaining how to get Bluetooth working again when a hardware killswitch is used, or it's been turned off by hand. We've also made receiving files through OBEX Push easier, and builtin to the Bluetooth panel, so that you won't forget to turn it off when done, and won't have trouble finding it, as is the case for settings that aren't used often.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-U-UUsKbrKus/VgEzx_LH_3I/AAAAAAAAAuQ/B9Jl3Ph5N4s/s1600/waiting-for-devices.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="292" src="http://2.bp.blogspot.com/-U-UUsKbrKus/VgEzx_LH_3I/AAAAAAAAAuQ/B9Jl3Ph5N4s/s400/waiting-for-devices.png" width="400" /></a></div><br /><b>Videos</b><br /><br />GNOME Videos has seen some work, mostly in the stabilisation, and bug fixing department, most of those fixes were also landed in the 3.16 version.<br /><br />We've also been laying the groundwork in grilo for writing ever less code in C for plugin sources. Grilo Lua plugins can now use gnome-online-accounts to access keys for specific accounts, which we've used to re-implement the <a href="http://getpocket.com/">Pocket</a> videos plugin, as well as the <a href="http://last.fm/">Last.fm</a> cover art plugin.<br /><br />All those changes should allow implementing OwnCloud support in gnome-music in GNOME 3.20.<br /><br /><b>My favourite GNOME 3.18 features</b><br /><br />You can call them features, or bug fixes, but the overall improvements in the Wayland and touchpad/touchscreen support are pretty exciting. Do try it out when you get a GNOME 3.18 installation, and file bugs, it's coming soon!<br /><br />Talking of bug fixes, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=693578">this one</a> means that I don't need to put in my password by hand when I want to access work related resources. Connect to the VPN, and I'm authenticated to Kerberos.<br /><br />I've also got a particular attachment to the <a href="http://lwn.net/Articles/657846/rss">GeoClue GPS support through phones</a>. This allows us to have more accurate geolocation support than any desktop environments around.<br /><br /><b>A few for later</b><br /><br />The <a href="http://pranavk.github.io/open-source/initial-preview-of-libreoffice-integration-with-gnome-documents/">LibreOfficeKit support</a> that will be coming to gnome-documents will help us get support for EPubs in gnome-books, as it will make it easier to plug in previewers other than the Evince widget.<br /><br />Victor Toso has also been working through my Grilo bugs to allow us to implement a <a href="https://wiki.gnome.org/Design/Apps/Videos#Tentative_Design">preview page when opening videos</a>. Work has already started on that, so fingers crossed for GNOME 3.20!http://www.hadess.net/2015/09/gnome-318-here-we-go.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-4125557751962991690Fri, 22 May 2015 16:31:00 +00002015-05-22T17:31:12.675+01:00accelerometerambient light sensorcompassdbusgeoclueiiosensoriio-sensor-proxy 1.0 is out!Modern (and some less modern) laptops and tablets have a lot of builtin sensors: <a href="http://en.wikipedia.org/wiki/Accelerometer">accelerometer</a> for screen positioning, <a href="http://en.wikipedia.org/wiki/Ambient_light_sensor">ambient light sensors</a> to adjust the screen brightness, <a href="http://en.wikipedia.org/wiki/Gyrocompass">compass</a> for navigation, <a href="http://en.wikipedia.org/wiki/Proximity_sensor">proximity sensors</a> to turn off the screen when next to your ear, etc.<br /><br /><b>Enabling</b><br /><br />We've <a href="http://cgit.freedesktop.org/systemd/systemd/commit/?id=24569e24dc94a7cffb8031eb0055e8d06cbdcb72">supported accelerometers in GNOME/Linux</a> for a number of years, following work on the <a href="http://en.wikipedia.org/wiki/WeTab">WeTab</a>. The accelerometer appeared as an input device, and sent kernel events when the orientation of the screen changed.<br /><br />Recent devices, especially Windows 8 compatible devices, instead <a href="https://msdn.microsoft.com/en-us/library/windows/hardware/dn613934(v=vs.85).aspx">export a HID device</a>, which, under Linux, is handled through the <a href="https://www.youtube.com/watch?v=on8DJBt07eU">IIO</a>&nbsp;subsystem. So the first version of <a href="https://github.com/hadess/iio-sensor-proxy">iio-sensor-proxy</a> took readings from the IIO sub-system and emulated the WeTab's accelerometer: a few too many levels of indirection.<br /><br />The 1.0 version of the daemon implements a D-Bus interface, which means we can support more than accelerometers. The D-Bus API, this time, is modelled after the <a href="http://developer.android.com/guide/topics/sensors/sensors_motion.html">Android</a> and <a href="https://developer.apple.com/library/ios/documentation/CoreMotion/Reference/CMMotionManager_Class/index.html#//apple_ref/doc/uid/TP40009670-CH1-SW9">iOS</a> APIs.<br /><br /><b>Enjoying</b><br /><br />Accelerometers will work in GNOME 3.18 as well as it used to, once a few bugs have been merged[1]. If you need support for older versions of GNOME, you can try using version 0.1 of the proxy.<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-zJee4Gvs5M0/VV9F0a8xswI/AAAAAAAAAs8/sjbupvmvzuk/s1600/orientation-lock.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-zJee4Gvs5M0/VV9F0a8xswI/AAAAAAAAAs8/sjbupvmvzuk/s1600/orientation-lock.png" /></a></div><div style="text-align: center;"><i>Orientation lock in action</i></div><br /><br />As we've adding ambient light sensor support in the 1.0 release, time to put in practice best practice mentioned by <a href="http://blog.fishsoup.net/2015/01/15/gnome-battery-bench/">Owen's post</a> about battery usage. We already had code like that <a href="https://git.gnome.org/browse/gnome-power-manager/commit/?id=5fb91a670a0941e15505d265b578f8a80faf6587">in gnome-power-manager nearly 10 years ago</a>, but it really didn't work very well.<br /><br />The major problem at the time was that ambient light sensor reading weren't in any particular unit (values had different meanings for different vendors) and the user felt that they were fighting against the computer for the control of the backlight.<br /><br /><a href="https://blogs.gnome.org/hughsie/">Richard</a> <a href="https://git.gnome.org/browse/gnome-settings-daemon/commit/?id=afd1ec179f8f497a8068fc413102c2ba1b42a26f">fixed that</a> though, adapting work he did on the <a href="https://blogs.gnome.org/hughsie/2015/03/17/introducing-colorhug-als/">ColorHug ALS sensor</a>, and the brightness is now completely in the user's control, and adapts to the user's tastes. This means that we can implement the simplest of UIs for its configuration.<br /><br /><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-wYL0Xq_bA_k/VV9JQVH6q6I/AAAAAAAAAtQ/7UwKXEFqhh8/s1600/ambient-light.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-wYL0Xq_bA_k/VV9JQVH6q6I/AAAAAAAAAtQ/7UwKXEFqhh8/s1600/ambient-light.png" /></a></div><div style="text-align: center;"><i>Power saving in action</i></div><br />This will be available in the upcoming GNOME 3.17.2 development release.<br /><br /><b>Looking ahead</b><br /><br />For future versions, we'll want to <a href="https://github.com/hadess/iio-sensor-proxy/issues/21">export the raw accelerometer readings</a>, so that applications, including games, can make use of them, which might <a href="https://github.com/hadess/iio-sensor-proxy/issues/22">bring up security issues</a>. SDL, Firefox, <a href="https://bugs.webkit.org/show_bug.cgi?id=145268">WebKit</a> could all do with being adapted, in the near future.<br /><br />We're also looking at <a href="https://github.com/hadess/iio-sensor-proxy/pull/15">adding compass support</a> (thanks Elad!), which <a href="http://freedesktop.org/wiki/Software/GeoClue/">Geoclue</a> will then export to applications, so that location and heading data is collected through a single API.<br /><br />Richard and Benjamin Tissoires, of fixing input devices fame, are currently working on making the ColorHug-ALS compatible with Windows 8, meaning it would work out of the box with iio-sensor-proxy.<br /><br /><b>Links</b><br /><br />We're currently using GitHub for <a href="https://github.com/hadess/iio-sensor-proxy">bug and code tracking</a>. Releases are <a href="http://people.freedesktop.org/~hadess/">mirrored on freedesktop.org</a>, as GitHub is known to mangle filenames. API documentation is available on <a href="https://developer.gnome.org/iio-sensor-proxy/1.0/">developer.gnome.org</a>.<br /><br />[1]: <a href="https://bugzilla.gnome.org/show_bug.cgi?id=749670">gnome-settings-daemon</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=749671">gnome-shell</a>, and <a href="http://thread.gmane.org/gmane.comp.sysutils.systemd.devel/32047">systemd</a> will need patcheshttp://www.hadess.net/2015/05/iio-sensor-proxy-10-is-out.htmlnoreply@blogger.com (Bastien Nocera)15tag:blogger.com,1999:blog-977684764667858073.post-3096933521618048273Thu, 02 Apr 2015 11:58:00 +00002015-04-02T12:58:11.043+01:00event boxgnome 3jdllJdLL 2015<b>Presentation and conferencing</b><br /><br />Last week-end, in the <a href="http://www.salledesrancy.com/">Salle des Rancy</a> in Lyon, GNOME folks (<a href="https://www.0d.be/">Fred Peters</a>, <a href="http://blog.fedora-fr.org/bochecha/">Mathieu Bridon</a> and myself) set up our booth at the top of the stairs, the space graciously offered by Ubuntu-FR and Fedora being a tad bit small. The <a href="http://www.jdll.org/">JdLL</a> were starting.<br /><br />We gave away a few GNOME 3.14 Live and install DVDs (more on that later), discussed much-loved features, and hated bugs, and how to report them. A very pleasant experience all-in-all.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-fmu9w6L-iiA/VR0lgDlNvlI/AAAAAAAAAso/xTLl4o7W1f4/s1600/IMG_0034.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-fmu9w6L-iiA/VR0lgDlNvlI/AAAAAAAAAso/xTLl4o7W1f4/s1600/IMG_0034.JPG" height="320" width="320" /></a></div><br /><br />On Sunday afternoon, I did a small presentation about GNOME's 15 years. Talking about the upheaval, dragging kernel drivers and OS components kicking and screaming to work as their APIs say they should, presenting GNOME 3.16 new features and teasing about upcoming GNOME 3.18 ones.<br /><br />During the Q&amp;A, we had a few folks more than interested in support for tablets and convertible devices (such as the <a href="http://en.wikipedia.org/wiki/Microsoft_Surface">Microsoft Surface</a>, and <a href="http://en.wikipedia.org/wiki/ASUS_Transformer_Book_T100">Asus T100</a>). Hopefully, we'll be able to make the OS support good enough for people to be able to use any Linux distribution on those.<br /><br /><b>Sideshow with the Events box</b><br /><br />Due to scheduling errors on my part, we ended up with the <a href="https://wiki.gnome.org/Events/Box/Europe">"v1" events box</a> for our booth. I made a few changes to the box before we used it:<br /><br /><ul><li>Removed the 17" screen, and replaced it with a 21" widescreen one with speakers builtin. This is useful when we can't setup the projector because of the lack of walls.</li><li>Upgraded machine to 1GB of RAM, thanks to my hoarding of old parts.</li><li>Bought a <a href="http://www.logitech.com/en-sg/product/wireless-combo-mk270">French keyboard</a>&nbsp;and removed the German one (with missing keys), cleaned up the UK one (which still uses IR wireless).</li><li>Threw away GNOME 3.0 CDs (but kept the sleeves that don't mention the minor version). You'll need to take a sharpie to the small print on the back of the sleeve if you don't fill it with an OpenSUSE CD (we used Fedora 21 DVDs during this event).</li><li>Triaged the batteries. Office managers, get <a href="http://www.amazon.co.uk/gp/product/B000T9U9R6">this cheap tester</a>!</li><li>The machine's Wi-Fi was unstable, causing hardlocks (please test again if you use a newer version of the kernel/distributions). We tried to get onto the conference network through the wireless router, and installed DD-WRT on it as the vendor firmware didn't allow that.</li><li>The Nokia N810 and N800 tablets will going to kernel developers that are working on Nokia's old Linux devices and upstreaming drivers.</li></ul>The events box is still in Lyon, until I receive some replacement hardware.<br /><br />The <a href="http://www.murrayc.com/permalink/2007/07/04/gnome-event-box-new-stuff/">machine is 7 years-old</a> (nearly 8!) and only had 512MB of RAM, after the 1GB upgrade, the machine was usable, and many people were impressed by the speed of GNOME on a legacy machine like that (probably more so than a brand new one stuttering because of a driver bug, for example).<br /><br />This makes you wonder what the use for "lightweight" desktop environments is, when a lot of the features are either punted to helpers that GNOME doesn't need or not implemented at all (old CPU and no 3D driver is pretty much the only use case for those).<br /><br />I'll be putting it in a small SSD into the demo machine, to give it another speed boost. We'll also be needing a new padlock, after an emergency metal saw attack was necessary on Sunday morning. Five different folks tried to open the lock with the code read off my email, to no avail. Did we accidentally change the combination? We'll never know.<br /><br /><b>New project, ish</b><br /><br />For demo machines, especially newly installed ones, you'll need some content to demo applications. This is <a href="https://github.com/hadess/gnome-demo-content">my first attempt</a> at uniting GNOME's demo content for release notes screenshots, with some additional content that's free to re-distribute. The repository will eventually move to gnome.org, obviously.<br /><br /><b>Thanks</b><br /><br />The new keyboard and mouse, monitor, padlock, and SSD (and my time) were graciously sponsored by <a href="http://www.redhat.com/en">Red Hat</a>.http://www.hadess.net/2015/04/jdll-2015.htmlnoreply@blogger.com (Bastien Nocera)2tag:blogger.com,1999:blog-977684764667858073.post-1144777031966628323Wed, 25 Mar 2015 15:23:00 +00002015-03-25T15:23:02.522+00:00abrtalscalendargdk-pixbufgnomegnome 3grilolightrotationtablettouchtriageGNOME 3.16 is out!<a href="http://article.gmane.org/gmane.comp.gnome.announce/12087">Did you see</a>?<br /><br />It will obviously be in Fedora 22 Beta very shortly.<br /><div><br /></div><div>What happened since 3.14? Quite a bit, and a number of unfinished projects will hopefully come to fruition in the coming months.</div><div><br /></div><div><b>Hardware support</b></div><div><br /></div><div>After quite a bit of back and forth, automatic rotation for tablets will not be included directly in systemd/udev, but instead in a <a href="https://github.com/hadess/iio-sensor-proxy">separate D-Bus daemon</a>. The daemon has support for other sensor types, Ambient Light Sensors (<a href="https://blogs.gnome.org/hughsie/2015/03/17/introducing-colorhug-als/">ColorHug ALS</a>&nbsp;amongst others) being the first ones. I hope we have compass support soon too.</div><div><br /></div><div>Support for the <a href="http://www.hadess.net/2014/09/and-now-for-some-hardware-onda-v975w.html">Onda v975w</a>'s <a href="https://github.com/hadess/gt9xx">touchscreen</a> and accelerometer are now upstream. Work is on-going for the <a href="https://github.com/hadess/rtl8723bs">Wi-Fi driver</a>.</div><div><br /></div><div>I've started some work on supporting the much hated Adaptive keyboard on the X1 Carbon 2nd generation.</div><div><br /></div><div><b>Technical debt</b></div><div><br /></div><div>In the last cycle, I've worked on triaging gnome-screensaver, gnome-shell and gdk-pixbuf bugs.</div><div><br /></div><div>The first got merged into the second, the second got plenty of outdated bugs closed, and priorities re-evaluated as a result.</div><div><br /></div><div>I <a href="http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.31/gdk-pixbuf-2.31.2.news">wrangled old patches and cleaned up gdk-pixbuf</a>. We still have architectural problems in the library for huge images, but at least we're up to a state where we know what the problems are, not being buried in Bugzilla.</div><div><br /></div><div><b>Foundation building</b></div><div><br /></div><div>A couple of projects got started that didn't reached maturation yet. I'm pretty happy that we're able to use gnome-books (part of gnome-documents) today to read Comic books. ePub support is coming!</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-82pNMKGtU5I/VRGUuvlbF0I/AAAAAAAAAsI/CjgXy9BNFYk/s1600/gnome-books.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-82pNMKGtU5I/VRGUuvlbF0I/AAAAAAAAAsI/CjgXy9BNFYk/s1600/gnome-books.jpg" height="640" width="360" /></a></div><div><br /></div><div><br /></div><div>Grilo saw plenty of activity. The oft requested "properties" page in Totem is closer than ever, so is series grouping.</div><div><br /></div><div>In December, Allan and I met with the ABRT team, and we've landed some changes we discussed there, including a simple "Report bugs" toggle in the Privacy settings, with a link to the OS' privacy policy. The gnome-abrt application had a facelift, but we got somewhat stuck on technical problems, which should get solved in the next cycle. The notifications were also streamlined and simplified.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-Q03_FmzblUk/VRGXO9s_UGI/AAAAAAAAAsU/3j5MyhEyzG4/s1600/Screenshot%2Bfrom%2B2015-03-24%2B17-55-52.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-Q03_FmzblUk/VRGXO9s_UGI/AAAAAAAAAsU/3j5MyhEyzG4/s1600/Screenshot%2Bfrom%2B2015-03-24%2B17-55-52.png" /></a></div><div><br /></div><div><br /></div><div><b>I'm a fan</b></div><div><br /></div><div>Of the new overlay scrollbars, and the new gnome-shell notification handling. And I'm cheering on co-new app in 3.16, GNOME Calendar.</div><div><br /></div><div>There's plenty more new and interesting stuff in the release, but I would just be duplicating much of the <a href="https://help.gnome.org/misc/release-notes/3.16/">GNOME 3.16 release notes</a>.</div>http://www.hadess.net/2015/03/gnome-316-is-out.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-7324751696141384564Fri, 20 Mar 2015 16:25:00 +00002015-03-20T16:25:58.389+00:00françaisgnomejdllpresentation"GNOME à 15 ans" aux JdLL de Lyon<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-RsiSjNXaEEY/VQxJoRCW8iI/AAAAAAAAAr0/04Uex0i3KSs/s1600/jdll.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-RsiSjNXaEEY/VQxJoRCW8iI/AAAAAAAAAr0/04Uex0i3KSs/s1600/jdll.png" height="115" width="400" /></a></div><br /><br />Le week-end prochain, je vais faire une petite présentation sur les quinze ans de GNOME aux <a href="http://www.jdll.org/journees-du-logiciel-libre-demandez-le-programme-voici-le-menu-2015/">JdLL</a>.<br /><br />Si les dieux de la livraison sont cléments, GNOME devrait aussi avoir une présence dans le village associatif.http://www.hadess.net/2015/03/gnome-15-ans-aux-jdll-de-lyon.htmlnoreply@blogger.com (Bastien Nocera)0tag:blogger.com,1999:blog-977684764667858073.post-7071128143007840307Thu, 26 Feb 2015 10:57:00 +00002015-02-26T10:57:12.935+00:00amazonconfakegnome-multiwritersamsungsd cardAnother fake flash storyI recently purchased a 64GB mini SD card to slot in to my laptop and/or tablet, keeping media separate from my home directory pretty full of kernel sources.<br /><br />This <a href="https://www.amazon.fr/gp/product/B00N0RX6W4/">Samsung card</a> looked fast enough, and at 25€ include shipping, seemed good enough value.<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-PlxxIB7lqb4/VO7xcoS4cKI/AAAAAAAAArY/CQuIV0A_Gpk/s1600/IMG_1210.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-PlxxIB7lqb4/VO7xcoS4cKI/AAAAAAAAArY/CQuIV0A_Gpk/s1600/IMG_1210.JPG" height="320" width="223" /></a></div><div style="text-align: center;"><i>Hmm, no mention of the SD card size?</i></div><br />The packaging looked rather bare, and with no mention of the card's size. I opened up the packaging, and looked over the card.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-QISjPSWi1L8/VO7yScA5HeI/AAAAAAAAArg/0itwG76TKcU/s1600/IMG_1211.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-QISjPSWi1L8/VO7yScA5HeI/AAAAAAAAArg/0itwG76TKcU/s1600/IMG_1211.JPG" height="317" width="320" /></a></div><div style="text-align: center;"><i>Made in Taiwan?</i></div><br />What made it weirder is that it says "made in Taiwan", rather than "Made in Korea" or "Made in China/PRC". Samsung apparently makes some cards in Taiwan, I've learnt, but I didn't know that before getting suspicious.<br /><br />After modifying <a href="http://blogs.gnome.org/hughsie/2015/01/28/detecting-fake-flash/">gnome-multiwriter's fake flash checker</a>, I tested the card, and sure enough, it's an 8GB card, with its firmware modified to show up as 67GB (67GB!). The device (identified through the serial number) is apparently well-known in swindler realms.<br /><br />Buyer beware, do not buy from "<a href="http://www.amazon.fr/gp/aag/main?ie=UTF8&amp;asin=&amp;isAmazonFulfilled=0&amp;isCBA=&amp;marketplaceID=A13V1IB3VIYZZH&amp;orderID=403-3357410-3192356&amp;seller=A27FDVAJIS8PIY">carte sd</a>" on Amazon.fr, and always check for fake flash memory using <a href="http://oss.digirati.com.br/f3/">F3</a> or <a href="https://sosfakeflash.wordpress.com/h2testw/">h2testw</a>, until <a href="https://bugzilla.freedesktop.org/show_bug.cgi?id=89335">udisks gets support</a> for this.<br /><br />Amazon were prompt in reimbursing me, but the <a href="http://www.cnac-contrefacon.fr/">Comité national anti-contrefaçon</a> and <a href="http://www.samsung.com/fr/home">Samsung</a> were completely uninterested in pursuing this further.<br /><br />In short:<br /><br /><ul><li>Test the storage hardware you receive</li><li>Don't buy hardware from Damien Racaud from Chaumont, the person behind the "carte sd" seller account</li></ul>http://www.hadess.net/2015/02/another-fake-flash-story.htmlnoreply@blogger.com (Bastien Nocera)4tag:blogger.com,1999:blog-977684764667858073.post-4468437684716284794Mon, 08 Dec 2014 22:55:00 +00002014-12-08T22:55:27.522+00:00gdk-pixbufgomgriloluaNetworkManageropensubtitlessubtitlestotemA look at new developer featuresAs the development window for GNOME 3.16 advances, I've been adding a few new developer features, selfishly, so I could use them in my own programs.<br /><br /><b>Connectivity support for applications</b><br /><br />Picking up from where Dan Winship left off, we've merged support for application to <a href="https://bugzilla.gnome.org/show_bug.cgi?id=664562">detect the network availability</a>, especially the "connected to a network but not to the Internet" case.<br /><br />In glib/gio now, watch the value of the "connectivity" property in GNetworkMonitor.<br /><br /><b>Grilo automatic network awareness</b><br /><br />This glib/gio feature allows us to <a href="https://bugzilla.gnome.org/show_bug.cgi?id=725148">show/hide Grilo sources from applications' view if they require Internet and LAN access</a> to work. This should be landing very soon, once we've made the new feature optional based on the presence of the new GLib.<br /><br /><b>Totem</b><br /><br />And finally, this means we'll soon be able to show a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=736601">nice placeholder when no network connection</a> is available, and there are no channels left.<br /><br /><b>Grilo Lua resources support</b><br /><br />A long-standing request, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=725147">GResources support has landed for Grilo Lua plugins</a>. When a script is loaded, we'll look for a separate GResource file with ".gresource" as the suffix, and automatically load it. This means you can use a local icon for sources with the URL "resource:///org/gnome/grilo/foo.png". Your favourite Lua sources will soon have icons!<br /><br /><b>Grilo Opensubtitles plugin</b><br /><br />The developers affected by this new feature may be a group of one, but if the group is ever to expand, it's the right place to do it. This new Grilo plugin will <a href="https://bugzilla.gnome.org/show_bug.cgi?id=740871">fetch the list of available text subtitles for specific videos</a>, given their "hashes", which are now exported by Tracker.<br /><br /><b>GDK-Pixbuf enhancements</b><br /><br />I can point you to the <a href="https://git.gnome.org/browse/gdk-pixbuf/commit/?id=c085b32cd726cbbc0b4fda14cf3a0b8a4da58018">NEWS file for the latest version</a>, but the main gains are that GIF animations won't eat all your memory, DPI metadata support in JPEG, PNG and TIFF formats, and, for image viewers, you can tell whether a TIFF file is multi-page to open it in a more capable viewer.<br /><br /><b>Batched inserts, and better filters in GOM</b><br /><br /><a href="https://bugzilla.gnome.org/show_bug.cgi?id=730950">Does what it says on the tin</a>. This is useful for populating the database quicker than through piecemeal inserts, it also means you don't need to chain inserts when inserting multiple items.<br /><br />Mathieu also worked on fixing the priority of filters when building complex queries, as well as supporting more than 2 items in a filter ("foo OR bar OR baz" for example).http://www.hadess.net/2014/12/a-look-at-new-developer-features.htmlnoreply@blogger.com (Bastien Nocera)2