Short Remarks (for HCL table)
Not the best laptop for Qubes OS, only 1 USB controller, WiFi and Bluetooth do not work out of the box, but it’s possible to make almost everything work. Suspend works, but resume breaks WiFi. Details here:
Detailed Remarks (for users)
The laptop has only one USB Controller, so to make WiFi and Bluetooth visible - creation of sys-usb is required. Because dom0 does not provides USB devices in current Qubes OS R4.1. After creation of sys-usb using command: sudo qubesctl state.sls qvm.usb-keyboard these devices are visible.
Keyboard, touch-pad and external USB-dongle Logitech mouse work flawlessly with and without sys-usb.
Resolution is very high (Retina display), but everything works OK if you tune dpi settings of dom0 and all qubes. If you do want such high density and do not want to be configuring high-dpi settings (Qubes OS is not great with it) then you can lower the resolution of Display, cut it double (making 2x2 pixels) and it still will look great, like current Thinkpads and usual displays, but everything will be not tiny and CPU load should be lower. Resolution will be saved and kept properly even after reboots.
GNU/Linux like Kubuntu supports this laptop almost perfectly. After installation of proprietary WiFi drivers only a couple of issues persist. One of them - SD card reader disappears after resume from suspend mode (issue is not solved upstream). Surprisingly enough in Qubes OS I had no such issue and card reader is available after resume from suspend. Another problem I had on GNU/Linux - the WiFi connection was not reliable after resume from suspend, but in Qubes OS case it can be different story the same way as for reader (was not checked properly).
Additional information:
What works (at least after additional configuration):
- Keyboard, touch-pad and external mouse work properly (with and without sys-net),
- Touch-pad supports “tap as click” and scrolling with 2 fingers works flawlessly,
- 3-displays configuration works (one display via Thunderbolt/DP cable, another via HDMI),
- WiFi works after a lot of work (see details bellow),
- Bluetooth works (connection process was not tested, but it shows devices at least),
- Speakers (sound playback) works properly,
- Head-phones via 3.5" jack work (if I’m not mistaken),
- Display brightness shortcuts works,
- Keyboard led and keyboard brightness shortcuts work,
- Sound volume shortcuts works,
- Suspend works out of the box but resume breaks WiFi (it can be recovered by restart of usb/wifi qube or with an additional automated script like for other laptops),
- Windows 10 HVM qube was imported and boots fine,
- CPU boost seems to be working properly, fans are working fine - silent most of the time.
What does not work:
- Sound output via HDMI cable is not working. Almost certainly it can be solved, because pulseaudio in dom0 sees the HDMI sound output, had no motivation to find out the reason.
- CPU is definitely slow for 1080p@60fps@2xSpeed as I would want (see details bellow).
What was not tested:
- Audio-optical (S/PDIF) output was not tested.
- The reliability of WiFi in Qubes OS was not checked.
To make WiFi work:
Right after installation laptop has no internet to install anything. I had USB-Ethernet for this case but it was not working out of the box too.
The way to get out of this situation:
- Create sys-usb (sudo qubesctl state.sls qvm.usb-keyboard, but check Qubes OS docs first), After reboot you will have visible USB devices, not only keyboard/mouse/touch-pad as before.
- Here I connected to the internet with generic USB-Ethernet dongle that is shown in sys-usb devices after connection. I had to attach this device to sys-net of course. Now I had some internet.
- Create a standalone qube based on latest fedora template, disable memory balancing, set memory amount to something not more than 1GB, set it’s kernel to empty value (use own kernel), check Provide network pref, add service network-manager in its settings.
- Enable rpmfusion repos in this qube and install broadcom-wl package (from rpmfusion-nonfree)
sudo dnf config-manager --set-enabled rpmfusion-free
sudo dnf config-manager --set-enabled rpmfusion-free-updates
sudo dnf config-manager --set-enabled rpmfusion-nonfree
sudo dnf config-manager --set-enabled rpmfusion-nonfree-updates
sudo dnf upgrade --refresh
sudo dnf install broadcom-wl
- Blacklist bcma and b43 drivers (without this step - WiFi won’t work!) in “/etc/modprobe.d/blacklist.conf”:
blacklist bcma
blacklist b43
- Reboot all involved qubes and connect your WiFi to this standalone qube. Now network-manager will show networks and will be able to connect to them and provide internet access. For some reason I failed to connect to hidden networks, but it was working in Kubuntu.
Notes:
- Maybe you can use usual kernel (based on dom0) for this qube and still make broadcom-wl (also called “wl”) kernel module work.
- You can use sys-usb as sys-net (combine these qubes) to avoid attaching devices. There is information about it in Qubes OS docs. But it has some security drawbacks - your keyboard activity and other USB activities will be processed by the online qube that can be targeted and hacked via WiFi card.
Video playback performance:
- SMPlayer/mpv/mplayer plays x264 videos with 1080p and high bitrate flawlessly (e.g. 20GiB per movie). They can be installed from rpmfusion-free repos.
- Fedora’s default video player (Videos or something) struggles with the same videos, unwatchable and high bitrate, so this player is garbage, try to replace it with smplayer or something.
- Youtube in Firefox plays videos without drops up to 720p. Higher quality leads to frame drops or freezes.
- Youtube played via “smtube” player works better that javascript player in Firefox, but still 1080p@60fps will be dropping frames. The heavy codec VP9 of youtube videos is a reason of this limitation.
- If you download Youtube video at 1080p@30fps there is a change it will be playable in SMPlayer without issues at 1x speed. But the performance should be similar to using the smtube directly.
NOTE: Give 2-4 CPUs (my version only has 2) to the qube that plays video to provide more CPU power.
Conclusion
I do not recommend this laptop for running Qubes OS. Right after installation you will have no internet to install anything. Even if you are advanced enough to make everything mentioned above work - you still have CPU that is not able to stream youtube at 1080p and only one USB controller that limits usage of USB devices scenarios.
The laptop is good for GNU/Linux though, works very well, even thunderbolt to USB and to Ethernet devices work out of box supporting hot-plug. The only downfall is the proprietary WiFi that can have reliability issues especially after suspend-resume.
Attachments
Qubes-HCL-Apple_Inc_-MacBookPro11_1-20230106-000000.yml (825 Bytes)
lspci.txt.log (15.5 KB)