Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider establishing a few reference hardware platforms #80

Open
probonopd opened this issue Jan 2, 2021 · 27 comments
Open

Consider establishing a few reference hardware platforms #80

probonopd opened this issue Jan 2, 2021 · 27 comments

Comments

@probonopd
Copy link
Member

probonopd commented Jan 2, 2021

Having a few inexpensive hardware systems that we test on would make for a "it just works" experience on those systems.

"Benchmark"

  • FullHD video playback in Chromium/Falkon
  • Smooth desktop usage
  • Light video editing of screencasts with Shotcut
  • Good global availability
  • Inexpensive (< 200 EUR/USD)

SBCs

  • ARM Nvidia Jetson Nano Development Kit 4GB - Version B01?
  • ARM Raspberry Pi 4? (May not really be up to the task of providing good desktop performance)? Status | Status
  • ARM Amlogic S905/S912/A311D based devices ("TV boxes")?

Notebooks

  • "Inexpensive" (older) Lenovo ThinkPad Carbon X1 with good global second-hand availability?
  • ThinkPad T470s and T480s is reported to already work well (see below)
  • MacBooks that are no longer supported with macOS by Apple?
  • ARM Rockchip RK3399 devices like Pinebook Pro, RockPro? Status, S199pWa1k9r/crochet
  • Framework Laptop (see below) https://wiki.freebsd.org/Laptops/Framework_Laptop

Desktops

  • Mac minis and iMacs that are no longer supported with macOS by Apple?

Peripherals

  • Apple keyboards and mice
  • Raspberry Pi keyboard and mice (the keyboard has a physical layout similar to Apple keyboards and it lets helloSystem automatically detect the keyboard layout

cc @S199pWa1k9r

@probonopd probonopd changed the title Consider establishing a few hardware reference platforms Consider establishing a few reference hardware platforms Jan 2, 2021
@probonopd
Copy link
Member Author

probonopd commented Jan 21, 2021

Lenovo ThinkPad Carbon X1 appears to be among the more commonly used notebooks used with FreeBSD, so we should try to achieve good out-of-the-box preconfiguration for it.
Unfortunately I dont't have access to one to test with.

Lenovo ThinkPad Carbon X1 1 Gen model 3444

Thanks djbelly on IRC for sharing the status.
Lenovo Carbon X1 1 Gen model 3444 with 0.4.0 (0D11)

  • Goes to sleep with zzz or Fn+F4 (sleep key)
  • But the screen doesn't wake up
  • Brightness keys don't work after the boot loader
  • Keyboard backlight works (Fn+Space)
  • Wi-Fi/sound/trackpad all seem good
  • Mute button works
  • Volume buttons don't work
  • Power button doesn't do anything
  • Shutdown from the menu and "shutdown -p now" work correctly
  • Upek TouchChip Fingerprint Coprocessor is not recognized (TODO: check https://hauweele.net/~gawen/blog/?p=408)

Lenovo ThinkPad X1 Carbon 4 Gen

https://www.reddit.com/r/freebsd/comments/kyfc3r/my_thinkpad_x1_carbon_powered_by_freebsd/

Runs FreeBSD pretty well. i7 6600U, 8gb ram, 256gb m.2, 1080p IPS screen

The latest models don’t have as good hardware/driver support, that is why I specifically bought this Gen 4. You may run into some issues but most things should work.

Contact: Plasmoduck

Lenovo ThinkPad X1 Carbon 7 Gen

https://twitter.com/ed_maste/status/1352642227122659331

The touchscreen on my X1 Carbon 7th gen just works -- I didn't even know it was a touchscreen until I tapped it accidentally :)

@probonopd
Copy link
Member Author

@antranigv
Copy link

I also run ThinkPad T480s, which is a very modern laptop and everything works very well.

@jdakhayman
Copy link

I have hello 0.4.0_0D26 on a T470s, also using the dock with it. Everything works without any user config. FYI.

jda

@probonopd
Copy link
Member Author

probonopd commented Feb 11, 2021

hello @antranigv and @jdakhayman, thanks for letting us know.

@berkus
Copy link

berkus commented Feb 16, 2021

Yes! RPi4 please! Been looking for a sane desktop for my pi computer for ages (like, half a year already!).

The kernel seems bootable, now only need to assemble that into an image?

@probonopd
Copy link
Member Author

Were you able to boot into a Xorg based desktop on RPi4? How is performance in the web browser, e.g., for watching fullscreen YouTube? (I suspect RPi4 still to be underpowered as a desktop machine.)

@Lestibournes
Copy link

What about focusing on devices that already come with a FOSS operating system, like Dell XPS, Lenovo whatever, Slimbook, Pine64, System 76, or whatever else there is? Especially if it's a recent model that already ships with FreeBSD.

@probonopd
Copy link
Member Author

a recent model that already ships with FreeBSD

Sounds too expensive...

@Lestibournes
Copy link

a recent model that already ships with FreeBSD

Sounds too expensive...

Why? Is FreeBSD only shipped on high-end servers?

@probonopd
Copy link
Member Author

To be honest, I have never seen any notebook or desktop PC that comes preinstalled with FreeBSD. Certainly not mainstream and easily available?

@Lestibournes
Copy link

I haven't seen any FreeBSD in the wild at all.

@Fairbanks357
Copy link

I got the live USB to boot using a ThinkPad X1 Nano. HelloBDS version 0.4.0 booted to a desktop. I wasn't able to connect to the Internet. There didn't seem to be any way to establish a connection. I clicked an icon for WiFi but it did nothing.

@probonopd
Copy link
Member Author

Thanks @Fairbanks357 for testing helloSystem on the Lenovo ThinkPad X1 Nano (1st Gen) (X1N1?).

According to https://jcs.org/2021/01/27/x1nano

  • Wireless connectivity is provided by a non-socketed Intel AX201 802.11ax WiFi and Bluetooth 5.1 chip. It is currently supported in OpenBSD but not yet in FreeBSD which helloSystem is based on. Maybe it will be supported in FreeBSD at some point in time, please see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244261. Once FreeBSD supports it in a version that helloSystem is based on, it should start working on helloSystem
  • Wired Ethernet seems to be provided only by a Dock, e.g., the Lenovo USB-C UltraDock appears to have an Ethernet chip that might possibly be supported by the ure driver in FreeBSD and hence in helloSystem (to be confirmed)

In the meantime, there are very inexpensive workarounds to get wireless and wired networking to work on helloSystem:
https://hellosystem.github.io/docs/user/getting-started.html#networking-hardware

@jdakhayman
Copy link

Just an update for helloSystem build: 0E19 for commit: f1a84b6. Running great on a T470s. Sound works, video works and is at , all devices work. Suspend works and everything works after coming back from sleep. Wifi works no issues as well.

One thing of note, the volume buttons and display brightness buttons on keybpoard do not work at this time. Just a FYI.

Hope this helps.

jda

@probonopd
Copy link
Member Author

@sjdrc wrote (not specifically about FreeBSD though) regarding NVIDIA Jetson:

We use the devices headless to pull images off devices and encode video, so I couldn't speak to the desktop performance, but the GPU is far more capable than that of a Raspberry Pi. I wouldn't imagine there would be any problems using a lightweight WM at 1080p.

@bmentink
Copy link

bmentink commented Jul 1, 2021

Tried installing on a ROCK64 using the instructions for Raspberry Pi. I managed to install everything using the serial port as console. However, HDMI still does not work with the latest FreeBSD.

==) Using system config directory "/usr/local/share/X11/xorg.conf.d"                       
(EE)                                                                                        
Fatal server error:                                                                         
(EE) xf86OpenConsole: No console driver found                                               
        Supported drivers: pccons (with X support), syscons, pcvt                           
        Check your kernel's console driver configuration and /dev entries(EE)               
(EE)                                                                                        
Please consult the The X.Org Foundation support                                             
         at http://wiki.x.org                                                               
 for help.                                                                                  
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.    
(EE)                                                                                        
(EE) Server terminated with error (1). Closing log file.   

Real shame, as I have used this device with Kodi/LibreELEC and it plays 1080p just fine. WOuld be very promising minimal hardware for Hello.

@bmentink
Copy link

bmentink commented Jul 2, 2021

I am going to buy an Edge-V board, it has FreeBSD ported to it, looks like a good platform.
https://www.khadas.com/edge-v

@probonopd
Copy link
Member Author

probonopd commented Sep 14, 2021

Framework Laptop

The https://frame.work/ computer would be a great match with the project's vision in terms of "good intentions". Totally open, fully configurable, easily repairable.
The exact opposite of the glued together, closed, unrepairable crap that Apple is putting out these days.

https://www.youtube.com/watch?v=0rkTgPt3M4k

https://www.youtube.com/watch?v=LSxbc1IN9Gg

https://twitter.com/FrameworkPuter

cc @eclecticc

👍

Sadly not available in Germany yet, and no German keyboard yet.
Update: As of early 2022, it is now available in Germany, and with a German keyboard.

Hardware Probe:
https://bsd-hardware.info/?probe=e5aca4b7d0
(note that the Framework Laptop can be configured flexibly in different ways)

@grahamperrin
Copy link
Contributor

Frame.work laptop | The FreeBSD Forums

FreeBSD 14.0-CURRENT required for graphics/drm-devel-kmod, corresponding to Linux 5.5.19 DRM


https://bsd-hardware.info/?probe=1e67a5d922#pci:8086-9a49-f111-0001 vgapci on FreeBSD 13.0-RELEASE #0 releng/13.0-n244733-ea31abc261f

https://bsd-hardware.info/?probe=e5aca4b7d0#pci:8086-9a49-f111-0001 i915 on FreeBSD 14.0-CURRENT #0 main-n249761-9aa29457d55 (https://cgit.freebsd.org/src/log/?qt=range&q=9aa29457d55, 2021-09-29)

@probonopd
Copy link
Member Author

Does this mean the Framework Laptop will never work on 13.x or 12.x? That'd be unfortunate...

@grahamperrin
Copy link
Contributor

Given the histories, I can't imagine any 12.⋯ becoming a basis for a kernel module that corresponds to Linux 5.5.19 DRM or greater.

Guesses: 13.1-RELEASE around March 2022, DRM (for this base OS) for TigerLake-LP GT2 [Iris Xe Graphics] later in the year.

Defocusing from DRM …

New and recent hardware

https://forums.freebsd.org/posts/533618 challenges the conventional wisdom of not expecting support for anything less than a year old.

@probonopd
Copy link
Member Author

With a standard warranty period of one year, an HP computer might be two years out of warranty before it can boot a RELEASE of FreeBSD.

@kettle-7
Copy link

My warranty expired in 2016 and I can't run any lower than 13.0-RELEASE. So yes, there's some catching up for FreeBSD to do...

@probonopd
Copy link
Member Author

helloSystem 0.7.0 is based on FreeBSD 13.

@probonopd
Copy link
Member Author

Great news: Thanks to the generous folks at Framework, we now have a Framework Mainboard for testing.

Still waiting on some RAM to arrive.

Thanks to the excellent and extremly helpful "USB, Thunderbolt, Displayport & docks" technology overview by @matthijskooijman for explaining what to look for in a dock when it comes to the Framework computer.

@probonopd
Copy link
Member Author

probonopd commented Jul 6, 2022

image

Initial test results:

helloSystem 0.7.0 can be booted on the Framework Mainboard with the 11th Gen Intel® Core™ i5-1135G7 @ 2.40GHz. This even works straight from an ISO file using Ventoy on a SATA SSD connected with a SATA-to-USB3 adapter connected to a USB-C dock. But the Intel TigerLake-LP GT2 [Iris Xe Graphics] 8086:9a49:f111:0001 GPU is not recognized; hence one needs to start with set initgfx.detect.disable=1 as described here.

Next steps:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants