
OpenBSD laptops - fcambus
http://www.tedunangst.com/flak/post/openbsd-laptops
======
mfincham
Can confirm that snapshots from December run almost flawlessly already on an
X250. Great work OpenBSD team and roll on 5.9.

~~~
plg
what is the "almost"?

~~~
mfincham
The devs advise that there are still some problems with suspend / resume while
3D acceleration is in use. I imagine this should be fixed before 5.9 is
released.

I also didn't run in to this bug.

Edit: Also didn't test Bluetooth or WWAN.

~~~
codesci
AFAIK there is no Bluetooth support since 5.6, they dropped the entire
subsystem. Found that out when I wanted to use a wireless mouse with my
Macbook Air... other than that and the embedded WiFi it works fine, they've
done a great job.

------
scriptdevil
I loved running OpenBSD on my laptop. The man-pages were insanely good and the
*ctl commands to configure stuff were refreshingly well organized - no more
mucking around with a 100 different config files. My major gripe last time was
that Firefox was unusably slow. I was told that this was because multi-
threading support in OpenBSD was poor. Also, while chromium was tolerable,
playing something on youtube would make it feel like the system was under a
lot of load. I finally had to move away from it because of this. That said, I
plan to move to Vultr and run an OpenBSD box when my current Digital Ocean
account runs out of balance.

------
nemesisrobot
Almost all laptops these days come with SSDs and last I checked, OpenBSD
doesn't support TRIM. Has this been fixed? Is lack of TRIM a non-issue?

~~~
bcook
I thought SSDs were integrating TRIM into the drive's firmware/controller
nowadays.

~~~
ultramancool
That's impossible (AFAIK at least) - the drives can't know what parts of the
filesystem are in use, only the OS can.

~~~
bcook
A quick Googling shows it exists only in high-end SSDs, but the information is
from 2013.

Just anecdotally, my Nexus 9 does not even have the fstrim command anymore,
nor do I see any discard options in the fstab. My Nexus 7 2012 had lots of
interest about fstrim improving performance, but not my Nexus 9. I assumed the
TRIM issue had disappeared.

~~~
mondoshawan
Uhh... The nexus 7 and 9? You realize those have SD and MMC cards soldered to
the motherboards and work /entirely/ unlike an SSD, right?

Also, the OP is right: TRIM works by telling the SSD which blocks that were
previously used are now unused, so that the SSD, at a lower level, can
eventually erase the larger flash sector. There is literally no way for the
SSD to know this intrinsically because SSDs do not expose a filesystem
interface.

~~~
bcook
Regardless of the differences, the Nexus 7 used trim (introduced in Android
4.3) on it's flash-based (SSD also uses flash) solid-state memory and my Nexus
9 does not. The trim "bug" is well known for some Android devices, but now it
has died off. I was attempting to guess why.

Another quick Googling seems to say improved garbage collection (in the SSD
itself) has lessened the need for fstrim.

Hopefully someone who is knowledgeable will chime in.

~~~
gnoway
trim is implemented in the controller in that a controller implementing trim
is capable of receiving, understanding and acting upon the trim command. It's
actually issued higher up in the stack; I've only ever seen it mentioned in
the context of an OS issuing the command to the drive if a file on a
filesystem on the drive is deleted, or if a utility intended to issue trim
against all empty blocks was run.

You're correct in that trim is less necessary if a drive has good garbage
collection. I don't know anything about the implementation of either, but I
would expect trim to be easier, cheaper and better than GC. It seems like GC
would require work to discover/remember things provided as input w/ trim. I've
assumed that GC was only implemented by vendors in their controllers because
trim wasn't available in the popular OSs yet, and/or because their controllers
were already doing most of the work required by GC anyway so it was cheap to
implement.

Finally, you can't equate SSDs with the SD or eMMC used in some of the
phones/tablets. Yes it's all flash, but an SSD is typically multi-channel with
many flash modules, a DRAM cache and a much more sophisticated controller
implementing a standard storage interface (AHCI/SATA or SAS or NVMe). eMMC and
SD are much simpler, cheaper and slower.

~~~
bcook
My point was that they are equal from the fstrim perspective.

------
DanBC
> UEFI boot support means systems that lack BIOS compat will work now.

> ASUS X205TA is an example of a machine with reduced hardware ACPI. Also has
> Broadcom wifi. I don’t know of a particularly good choice in the netbook
> category.

The ASUS X205TA is a machine that is hostile to anything not Windows.

It doesn't have bios. It has 64 bit architecture, but a 32 bit EFI. That makes
it harder ot install for example some Linuxes.

Here's a 51 page thread in the Ubuntu forums:
[http://ubuntuforums.org/showthread.php?t=2254322&page=51](http://ubuntuforums.org/showthread.php?t=2254322&page=51)

Here's someone trying to write a driver for sound:
[http://comments.gmane.org/gmane.linux.alsa.devel/138822](http://comments.gmane.org/gmane.linux.alsa.devel/138822)

Here's the guide to getting debian on it:
[https://wiki.debian.org/InstallingDebianOn/Asus/X205TA](https://wiki.debian.org/InstallingDebianOn/Asus/X205TA)

Here's the (as usual, excellent) guide to getting Arch on it:
[https://wiki.archlinux.org/index.php/Asus_x205ta](https://wiki.archlinux.org/index.php/Asus_x205ta)

I guess people using BSD are happy with installs that are more complex than
"burn an image to a USB stick; boot from that USB stick; click a button". But
here's an example of someone installing Arch:
[http://ifranali.blogspot.co.uk/2015/04/installing-arch-
linux...](http://ifranali.blogspot.co.uk/2015/04/installing-arch-linux-on-
asus-x205ta.html)

It's a shame it's so hostile because, considering the price, it's a nice
enough machine. (The screen is lousy, and the sound is odd. If you liked the
EEE PC 701, well, this isn't as good.)

~~~
echochar
"I guess people using BSD... burn an image to a USB stick..."

I always thought "burn" referred to optical storage like CD-ROM?

Not sure about others, but when I do BSD installs I do not have to click any
buttons. I do not need a mouse.

I can lazily use something as small as an 8M stick for the install image. It
couldn't be much easier.

With the size of today's RAM (500M+), using the install image I can make the
custom image with my personal kernel configs, utilities, and settings entirely
in memory without needing to write anything to a HDD. Then I just dd the image
to the removable media. That is the slowest step.

My custom images are quite small too, under 16M, and need no access to a HDD.
The system runs just fine in RAM, no swap.

I guess I could do the same setup with "Arch" but I imagine it would take
considerable work undoing pre-configurations based on assumptions about how I
would want my system configured.

Easier perhaps to just compile my own custom Linux kernel and "initrd". Build
from the ground up.

I like the flexibility and control with BSD. Not to say Linux does not have
flexibility and control, too. It certainly does. I just rarely see ordinary
Linux users making use of it when installing. Instead many if not all
decisions have already been made, and everything is pre-configured. "One
click..."

Kudos to the OpenBSD folks for the network drivers.

~~~
voltagex_
Can I PXE boot the OpenBSD image? I know when I looked it up for FreeBSD the
information was quite sparse.

~~~
jlgaddis
Yes, all you need is `pxeboot` and `bsd.rd`. Put them in the root of your TFTP
server's directory, have your DHCP server hand out `pxeboot` as the filename
(and rename `bsd.rd` to `bsd` on your TFTP server) and point it towards your
TFTP server, boot via PXE, and install.

You can mirror the install sets locally (on a HTTP server) for performance
reasons, if you like; otherwise, you can just download them from an HTTP
mirror during the installation.

I've been working on automating the whole process (fully-automated
installations for bringing up new VMs) and it's so much simpler than with
other operating systems.

------
voltagex_
>Lots of fixes to USB and and xhci mean USB 3 devices should attach much more
reliably.

Does anyone know how much code FreeBSD and OpenBSD share? FreeNAS uses FreeBSD
9 and the forum is allergic to any mention of xhci. I've got it working on a
Atom C2758 system but it runs at USB 2 speed.

~~~
0xcde4c3db
IIRC, they both forked the USB stack from NetBSD a long time ago and haven't
really remained in sync since. The XHCI drivers seem to be independent
implementations.

~~~
castell
Speaking about NetBSD.

I never see any news about NetBSD and hardly any about FreeBSD. Though quite a
few about OpenBSD. Why?

------
bluedino
Does anyone else just run Linux (or OS X if you're on a MacBook) and then just
run OpenBSD in a VM? Run it fullscreen and can't even tell. You get all the
advantages of OpenBSD plus all the advantages of using the regular host OS.

------
nils-m-holm
I'd love to run OpenBSD on my laptop computers, but last time I tried (5.7),
the fan on my Dell Latitude 6410 was permanently on, while on FreeBSD with
performance_cx_lowest="Cmax" the fan barely runs at all.

As much as I love OpenBSD, this is a knock-out criterium to me. Has the
situation improved significantly since 5.7?

~~~
mfincham
CPU power management support has improved in 5.8. Better ACPI support and the
drivers now use more lower-power C states.

"acpicpu(4) uses ACPI C-state information to reduce power consumption of idle
CPUs. "

[http://www.openbsd.org/58.html](http://www.openbsd.org/58.html)

~~~
nils-m-holm
That's great to hear! I'll definitely give it a try!

What C states does it currently support? My FreeBSD box spends most of its
time in C8.

~~~
mfincham
As I understand previously only C1 was used. The range has been expanded now
though you'd have to read the code to see exactly what it's doing.

It seems to produce acceptable power draw figures on a ThinkPad X250 in any
case.

------
adamzegelin
> There’s also some very preliminary support for HID over IIC, for systems
> that attach keyboards and touchpads over an I2C bus.

Keyboards & trackpads over I2C? I liked the trend of moving everything to USB,
even for internal devices.

~~~
anonymfus
HID over I2C specification was created by Microsoft for _external devices_
connectable to their Surface tablets. IIRC they claimed that it saved power
because of usage of simpler controllers.

~~~
Sanddancer
Everything old is new again. One of the original intents of I2C was just that
-- a universal bus for semi-low speed devices, including keyboards. USB just
happened to come around at the same time and defined a physical spec along
with an protocol, and the battle was done, with I2C relegated to embedded
devices and things like querying monitors for supported features/modes.

------
jsherer
> There are a few minor quirks, but generally it works well

> As ever, support for Broadcom wifi and Nvidia graphics is nonexistent.

This is exactly the big issue with adoption of any *nix system on laptop or
desktop. No user wants to have to live with quirks. Users just want their
system to work.

~~~
sdegutis
\- This mid-2013 Mac Pro wakes up every few hours at night, even though I have
disabled every "wake from sleep" setting that exists in OS X

\- My mid-2013 MBP has, several times this week, turned on _while closed_ ,
and continued as if it was opened (playing YouTube videos or whatever else it
be doing), only shutting back off after about 120 seconds or so

\- Every time I turn this Mac Pro on, it doesn't recognize the wired Apple
keyboard that's plugged into the Apple Cinema Display, and says it's looking
for a bluetooth keyboard, until I unplug and replug the keyboard in at least 3
or 4 times

\- My MBP once emitted a (very) loud buzzing sound from its speakers, for
absolutely no reason, that lasted about 3 or 4 seconds, startling everyone
nearby, when no sound-based programs were running

\- My wife's Surface Pro 3 continually needs to be restarted because touch-
screen controls simply stop being able to open programs on the home/grid page.

\- If our family ASUS $800 computer is left on and falls asleep, it won't wake
up, and will need to be manually shut down and restarted

These are just off the top of my head. Point is, Microsoft/Apple reliability
is a complete myth. I'm tired of it and I'm tired of throwing extra money away
for the sake of "higher reliability" and "fewer quirks".

~~~
matt_wulfeck
Your anecdotal experience runs so completely contrary to mine that I don't
even know what to say.

My MacBook works. It just works. No tinkering, compiling, fidgeting, anything
-- and this is precisely why I like it and will continue to use it. I don't
want my hardware getting in the way.

And reliability is certainly not a myth. In my days I've supported all three
platforms and by far it was MPB that gave me the least grief. This is doubly
true with hardware. Linux is close behind Mac but I think most engineers brave
enough to venture it would competent to deal with problems on their own.

When a MPB has a problem: take it to a Mac store and get a replacement. When a
Lenovo had a problem? Ship it to Virginia on your dime and wait 6 weeks.

I seriously suggest you take your MPB to a mac store and speak to them about
your problem.

~~~
myztic
What you in effect just did: "Your experience is anecdotal, so now I tell you
that Reliability is not a myth based on my anecdotal experience."

The point he wanted to make is most likely not that all Macs suck all the
time, but that Mac does not automatically mean reliable or more reliable than
any other OS/system. So while it might not be worse than other systems (I
don't want to make a judgement based on the few Macs I had to fix for friends
without ever having used them myself), it certainly is no super-reliable saint
either.

And my limited first-hand experience agrees with him.

~~~
mondoshawan
Additional interesting anecdote: my brother and I bought identical macbook
pros at the same time. I generally didn't have much of a problem with it. Him?
Well, let's say it was barely more reliable than the windows laptop he had
before. Powering down wrong, failing to identify displays, color gamut
screwups, power issues, boot problems. Mostly transient, but very real,
failures in both hardware and software.

------
autoreleasepool
I've never tried OpenBSD, but it seems to have better laptop/desktop support.
Maybe I'll fire up an instance in a VM tonight and play around a bit.

Is there anything significantly different right off the bat from someone
coming from the FreeBSD world?

~~~
fnordo
I haven't run FBSD in years so I can't comment but I highly recommend OBSD for
laptops (obviously with supported hardware).

~~~
niels_olson
I set up an OBSD laptop, an ancient Dell Inspiron 8000. Based on the
experience, I'd like to get a lightweight, cheap, relatively modern laptop.
Any recommendations? Cheapest thinkpad I can find?

~~~
jlgaddis
Did you read the article? Ted specifically mentioned a few laptops by name.

------
totally
Do they still exclude all 3rd party binaries?

~~~
ams6110
Yes. This is why no support for Nvidia or Broadcom.

~~~
Maken
Don't they ship the free Nvidia Mesa driver either?

------
kingmanaz
Up and running on a 366Mhz Pentium II based Dell CPi. Using w3m-image through
FVWM for browsing.

------
freebasedgirl
5.9 is going to be amazing. I've been running current and with the patches
from Bitrig's port of Netbsd features, we now have a working dtrace/zfs. No
more fsck! Dtrace lacks the pledge(2) probes, but hope that gets fixed soon.
Otherwise it's nice to have alternatives to desktop linux. Only miss Spotify.
oh well.

~~~
throwaway2048
NetBSD ZFS has rather severe bugs, was this addressed by bitrig? They have
remained unfixed in NetBSD for quite some years now.

    
    
        Known Bugs
        
            vnode reclaiming deadlocks
            vnode fsync bug
            kmem_cache_alloc/ aka pool_cache_get panics
    

[https://wiki.netbsd.org/users/haad/porting_zfs/](https://wiki.netbsd.org/users/haad/porting_zfs/)

Should also be noted that dtrace and zfs can never be actually integrated into
OpenBSD due to them refusing to import CDDL licensed code.

~~~
Bluerise
Bitrig does not have support for ZFS. Must be something different from Bitrig
the poster is talking about.

