30 Oct 2020: sadly, due legal obligations arising from a recent change in my 'real world' job, I must announce I am standing down as maintainer of this project with immediate effect. For the meantime, I will leave the repo up (for historical interest, and since the images may be of use still in certain applications); however, there will be no further updates to the underlying binhost etc., nor will I be accepting / actioning further pull requests or bug reports from this point. Email requests for support will also have to be politely declined, so, please treat this as an effective EOL notice.
For further details, please see my post here.
With sincere apologies, sakaki ><
This is a significant update release to v1.5.4. If you are already on v1.5.4, you can upgrade by following the instructions below (or wait for the automated weekly update to do (most of) this for you; note however, that since two update runs, plus some additional steps, are required to get to full v1.6.0 functionality, you may wish to just follow the manual route anyway).
Changes in this release (see main project page for further details):
- Switched kernel branch, from
rpi-4.19.y
torpi-5.4.y
, with the shipped kernels upgraded tobcm{rpi3,2711}-kernel-bis-bin-5.4.45.20200616
, and boot firmware tosys-boot/rpi3-64bit-firmware-1.20200601_p64
, respectively (therpi3
name in the latter being an historical artifact; code for both the RPi3 and RPi4 is provided). This migration is slightly in advance of RPi engineers switching torpi-5.4.y
as their default branch, but stability now appears to be good, and a 5.4 kernel is already used in the beta version ofPIOS64
. - Following upstream, migrated from
consolekit
toelogind
. As a result of this change, a large number of userland packages have had to be rebuilt wrt their v1.5.4 release versions. - As the upstream kernels now make each of HDMI-1, HDMI-2 and headphone outputs its own ALSA device, added a small, USE-flag gated workaround to
media-sound/pulseaudio
to counter an initialization issue (hopefully will be properly resolved soon - if you are apulseaudio
guru, please feel free to dig in!), whereby pulse can only use two of the three independent streams at any time (thanks to Gavinmc42 for reporting). The workaround allows audio on HDMI-1 (the HDMI0 port, confusingly!) and the headphone port so, if you are only using a single monitor, be sure to plug it into the HDMI0 socket (the one nearer the USB-C power connector); and if using two monitors, bear in mind that only the HDMI0-connected one will be able to play sound. (If your application requires sound out of both monitors, then disable thepi4-workaround
USE flag onmedia-sound/pulseaudio
and re-emerge it; your headphone port will then be disabled, and HDMI-1 and HDMI-2 enabled.) Note that the use of e.g. additional headset-to-USB adaptors etc is not affected by this workaround, and they should be fully useable. - Added the
net-analyzer/etherape
andnet-analyzer/wireshark
packages (a network traffic visualizer and analysis tool), as these have been repeatedly requested. - Added a fixup to ensure that the
snd_bcm2835
module was still autoloaded on the RPi3. - Fixed an issue with the keyboard switcher panel item, which did not always set up the initial layout correctly on first boot.
- Switched (for demouser) the default youtube streaming mechanism of
media-video/smplayer
toyoutube-dl
(since the 'internal' mechanism was no longer reliable), and addednet-misc/youtube-dl
to thecore
package set. Also setupmedia-video/smplayer
to useauto-copy
for hardware decoding (per feedback in this issue; thanks Jimmy-Z) and to use 4 threads for software decoding, where possible. - Removed
app-portage/porthole
from theapps
/ shipped@world
sets, as it has been dropped upstream (Gentoo bug #708096). - Migrated the XFCE desktop and associated tools to a mix of 4.14/4.15 (from 4.12).
- Updated
media-video/ffmpeg
with a number of Libre-ELEC patches (thanks acroobat). This should improve video playback performance in certain cases. NB: the Libre-ELEChevc
patches have not been applied in this release. - Added an initial set of packages for the FOSS videoconferencing server, Jitsi. Please see this post for further instructions on setup and use (although you can of course skip the "RPi4 64-bit Gentoo Install" section there, as the necessary packages are already present on the image). You'll realistically require a 2GiB RPi4B (or better) to run this application successfully. Note, though, that since Jitsi does not process the video streams, but acts simply as a meeting coordination point, selective forwarding unit and TURN server, the CPU requirements are not onerous - an RPi4 should be able to handle a reasonable number of simultaneous participants.
- Updated the
media-libs/raspberrypi-userland
package to 1.20200520. As of this date, 64-bit MMAL userland support had (just ^-^) not yet been dropped, so in v1.6.0 of the image you can still useraspivid
etc. - Various minor ebuild tidy-ups.
- All packages brought up-to-date against the Gentoo tree, as of 11 June 2020. So e.g.,
www-client/chromium
bumped to 84.0.4147.30,www-client/firefox
to 77.0.1,app-office/libreoffice
to 6.4.4.2,gcc
to 10.1.0,clang
to 10.0.0 etc.
Users already on the prior 1.5.4 or earlier release can upgrade manually by following the instructions given here.
Note: this version should also support boot-from-USB on the Pi4, but to enable this you will need (at the time of writing) a beta version of the Pi4's EEPROM software. To install this, set (at your own risk!)
FIRMWARE_RELEASE_STATUS="beta"
in/etc/default/rpi-eeprom-update
, and reboot. Once back up, reboot again to reflash the new EEPROM payload. You should then be able to write a copy of the image to a USB target, and boot from this (provided the uSD card is not inserted). However, I have not fully tested this process.
Upgrading from an Earlier Release of the Image
Users downloading this v1.6.0 image directly can of course omit the instructions below; as all settings have been correctly set up for you already.
Users on releases earlier than v1.5.4 should follow the manual upgrade instructions to 1.5.4 below; the final step
genup
therein will actually bring you some of the way to v1.6.0 now. Once done, continue with the instructions immediately below.
So, to upgrade manually (from v1.5.4), simply issue (working as root):
pi64 ~ # emaint sync --repo genpi64
pi64 ~ # /etc/cron.weekly/fixup
pi64 ~ # nice -n 19 genup
Let this run to completion; it may take some time. Once done, reboot to start using the updated kernel, and then once back up again, run:
pi64 ~ # dispatch-conf
to review any modified configuration files. If in doubt, press u when prompted, to use the new copy of the file (you can learn more about using the dispatch-conf
tool here).
Once that's done, verify you are on >=v1.6.0, by issuing:
pi64 ~ # eix rpi-64bit-meta
Finalizing the Upgrade
With that out of the way, there are still four small, final steps required to complete the upgrade to v1.6.0 (which genup
cannot do for you).
The first is to ensure that your copy of smplayer
is correctly configured. To do so, select Applications→Multimedia→SMPlayer. When the application opens, select Options→Preferences. Select the Performance unit in the left-hand list, and navigate to the Performance tab, select 4
in the Threads for decoding (MPEG-1/2 and H.264 only) spinbox, and auto-copy
in the Hardware decoding dropdown. Next, click on the Network unit (in the left-hand list) and there, ensure the Support for video sites dropdown is set to mpv + youtube-dl
, and in the Preferred quality section below that, choose 1080p
(RPi3B/B+ users, or those with a slower Internet connection, may wish to select 720p
instead). With that done, click OK to save the settings, and close smplayer
.
Note, although confusingly there are a set of resolution settings in
smtube
's GUI also, they will not affect playback of YouTube videos sent tosmplayer
, so you need to make the changes above to have these apply.
The second step is (at your option) to add the new applications for this release (unless of course - which is not the default - you have the apps
USE flag set for rpi-64bit-meta
, in which case they will already have been pulled in during the genup
run above). To do so, as root issue:
pi64 ~ # emerge -v --noreplace net-analyzer/etherape net-analyzer/wireshark net-im/jitsi-meet-server
Let this run to completion; if all is well the required packages should all be available as binaries, so this shouldn't take too long. Then add demouser
(or your default user(s)) to the wireshark
group:
pi64 ~ # usermod -a -G wireshark demouser
Adapt as appropriate for non-
demouser
accounts, of course.
The third step is to switch the default mixer for the notification area volume control. To do so, right-click on the volume icon in the notification area (near to the clock) and select Preferences. In the dialog that opens click Status Icon in the left-hand list and then enter pavucontrol
in the External mixer field, replacing any existing contents. Then click Close to dismiss the dialog.
The fourth and final step is to insert a spacer at the far right-hand side of the top panel, to ensure the text stays visible. To do so, right-click in any unoccupied grey area of the top bar, and in the drop-down that appears, select Panel→Add New Items.... In the dialog that appears select Separator and click the Add button. A visible separator should not have appeared at the far right of the top panel. Right-click on this, and select Properties from the drop-down that appears, and select Transparent
from the Style drop-down in the resulting dialog. Then click Close.
And that's it: reboot one more time (to ensure everything has taken) and congratulations, you should be running v1.6.0!