nomodeset
to the kernel boot line.
Install a kernel >= 3.11.6 and make sure CONFIG_IWLMVM
is enabled. the iwlwifi
module should be automatically loaded and wifi just works.
Mostly just works.
There are two physical sound cards, both driven by the snd-hda-intel
driver. The HDMI card is always detected first, and the analog (speakers and headphones) second. Reorder these to make the analog the default by /etc/modprobe.d/alsa.conf
to contain the following
options snd-hda-intel index=1,0
KDE defaults to letting the multimedia volume keys (Fn+F1/F2/F3) control the HDMI card by default. Switch this to the analog card by opening KMix and setting Settings→Select Master Channel…→Built-in Audio Analog Stereo
.
If there's no sound when logging into plasma (the volume icon has a red cross through it, and the kde settings shows no devices), make sure pulseaudio user daemon is running, and if not start it one-time with pulseaudio -D
,
After installing and upgrading to latest i915 driver, remove nomodeset
from the kernel boot options. This will enable screen brightness control and fix sleep/resume.
Install bumblebee and enable the service to use optimus. Run programs using optirun
to enable the discrete graphics card.
Nice feature, the screen brightness can be turned all the way down to zero, which turns the screen and backlight off.
Because of the high resolution, text will be very small by default. Change the DPI size in KDE to make all KDE applications well-behaved (konsole, plasma).
Still working on fixing non-KDE programs such as chrome.
* Enable the bluetooth
systemctl enable bluetooth
systemctl start bluetooth
* Use bluetoothctl
to enable the controller, scan and pair with devices, and connect
# Start the shell bluetoothctl -a # Turn on the controller power on agent on default-agent # Scan for devices scan on # List available devices devices # Pair with a device pair $mac # Connect to the device connect $mac
The error message:
Nov 24 12:33:22 serenity.jellybean.sihnon.net dbus[1878]: [system] Rejected send message, 1 matched rules; type="method_call", sender=":1.81" (uid=0 pid=10758 comm="/usr/libexec/bluetooth/bluetoothd --noplugin=sap ") interface="org.bluez.MediaEndpoint1" member="SelectConfiguration" error name="(unset)" requested_reply="0" destination=":1.49" (uid=10001 pid=2994 comm="/usr/bin/pulseaudio --start ") Nov 24 12:33:22 serenity.jellybean.sihnon.net bluetoothd[10758]: Endpoint replied with an error: org.freedesktop.DBus.Error.AccessDenied
is fixed by amending /etc/dbus-1/system.d/bluetooth.conf
to match:
<policy user="root"> <allow own="org.bluez"/> <!-- Add this line below --> <allow send_type="method_call"/> <allow send_destination="org.bluez"/> <allow send_interface="org.bluez.Agent"/> <allow send_interface="org.bluez.HandsfreeAgent"/> <allow send_interface="org.bluez.MediaEndpoint"/> <allow send_interface="org.bluez.MediaPlayer"/> <allow send_interface="org.bluez.Watcher"/> <allow send_interface="org.bluez.ThermometerWatcher"/> </policy>
(Info taken from: https://forums.opensuse.org/showthread.php/410722-how-do-i-fix-bluetooth-permissions-after-last-dbus-update)
Set the preference for certain types of audio (e.g. Music
) to route through the bluetooth device when present using the Multimedia
applet in KDE's control centre.
Out of the box, single touch input works but no gestures. This means you can touch to click, and drag to select. No scrolling, or pinch-to-zoom.
Install and run touchegg
to get multitouch gestures. touchegg
, touchegg-gui
(configuration tool), and dependencies (utouch-{evemu,frame,grail,geis}
) are in the sihnon portage overlay and community entropy repo.
Just works.
Taken from Arch Wiki
dd
no drivers
option (the default option leads to exceptions and the flash failing)zpool
with zpool create rpool /dev/disk/by-id/wwn-*-part4
root
, root/home
and root/var
filesystems within, with encrytionroot filesystem
to not be mountable automatically with zfs set canmount=off rpool/root
zfs set mountpoint=/ rpool/root zfs set mountpoint=/var rpool/root/var zfs set mountpoint=/home rpool/root/home
mkdir /mnt/sysimage mount -o zfsutil -t zfs rpool/root /mnt/sysimage/root mount -o zfsutil -t zfs rpool/root/home /mnt/sysimage/root/home mount -o zfsutil -t zfs rpool/rootvar /mnt/sysimage/root/var
mkdir /mnt/temproot mount /dev/sda5 /mnt/temproot rsync -a /mnt/temproot/ /mnt/sysimage/
add_dracutmodules+="dracut-systemd systemd systemd-initrd zfs"
dracut -f /boot/initramfs-genkernel-5.4.0-sabayon 5.4.0-sabayon
Kernel package installations run sabayon-dract –rebuild x.y
, which invokes dracut with a bunch of module omissions including all the systemd ones needed for ZFS to work. Therefore whenever upgrading the kernel, be sure to run dracut -f /boot/initramfs-genkernel-x86_64-$(uname -r) $(uname -r)
.
Grub 2.02-r3 ships a version of grub2-probe
which can't handle ZFS properly. This means the generated grub config file will contain root=ZFS=/root
instead of root=ZFS=rpool/root
which breaks root filesystem mounting. After installing grub or any kernel package, fix grub,cfg before rebooting.
Errors on startup about system not having been booted with systemd. This is a problem with the dracut initrd.
Manual boot:
rd.break=pre-mount
and remove quiet splash
zpool import rpool zfs load-key rpool/root # Enter encryption passphrase mount -t zfs -o zfsutil rpool/root /sysroot mount -t zfs -o zfsutil rpool/root/home /sysroot/home mount -t zfs -o zfsutil rpool/root/var /sysroot/var mount -t zfs -o zfsutil rpool/root/docker /sysroot/var/lib/docker exit
dracut -f /boot/initramfs-genkernel-5.4.0-sabayon 5.4.0-sabayon
Known issues:
\'rpool/root\
' contains invalid characters and is not a valid filesystem name: /usr/lib/dracut/modules.d/90zfs/mount-zfs.sh
contains errant single quotes, which need to be removed. Rebuild the initrd afterwards: # This: ask_for_password \ --tries 5 \ --prompt "Encrypted ZFS password for ${ENCRYPTIONROOT}: " \ --cmd "zfs load-key '${ENCRYPTIONROOT}'" # Should be: ask_for_password \ --tries 5 \ --prompt "Encrypted ZFS password for ${ENCRYPTIONROOT}: " \ --cmd "zfs load-key ${ENCRYPTIONROOT}"
network
group (logout and in again)polkit.addRule(function(action, subject) { if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) { return polkit.Result.YES; } });