diff --git a/HARDWARE.md b/HARDWARE.md index 104c8bc..0f81e65 100644 --- a/HARDWARE.md +++ b/HARDWARE.md @@ -1,139 +1,228 @@ -# Redox 0.8.0 Hardware Compatibility +# Hardware Compatibility -Updated on November 11, 2022 in preparation for the 0.8.0 release. Systems are -rated on a scale of 🚫 Broken, ⚠️ Booting, and ✅ Recommended. Broken means the -system cannot boot to a desktop, booting means the system boots to a desktop -but has issues, and recommended means the system provides all implemented -features. +This document tracks the current hardware compatibility of Redox. + +- [Status](#status) +- [General](#general) +- [x86_64](#x86_64) + - [System76](#system76) + - [Dell](#dell) + - [HP](#hp) + - [ASUS](#asus) + - [Lenovo](#lenovo) + - [Toshiba](#toshiba) +- [i686](#i686) + - [Dell](#dell-1) + - [ASUS](#asus-1) + - [Lenovo](#lenovo-1) + - [Toshiba](#toshiba-1) + - [Panasonic](#panasonic) + +## Status + +- Broken - The system can't boot. +- Booting - The system boots with some issues. +- Recommended - The system start with all features working. ## General Due to incomplete USB support, desktops are generally not recommended. -- USB support is incomplete -- Wireless networking is not supported +- USB support is incomplete. +- Wireless networking is not supported. ## x86_64 +Computers using a 64 bits Intel/AMD CPU. + Test performed using https://static.redox-os.org/img/x86_64/redox_desktop_x86_64_2022-11-11_629_livedisk.iso -### Lenovo IdeaPad Y510P +### System76 -Status: ✅ Recommended +- **System76 Galago Pro (galp5)** -- Booted using both BIOS and UEFI -- Boots to desktop - -### System76 Galago Pro (galp5) - -Status: ✅ Recommended +- Status - Recommended +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using UEFI - Boots to desktop -### System76 Lemur Pro (lemp9) +- **System76 Lemur Pro (lemp9)** -Status: ✅ Recommended +- Status - Recommended +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using UEFI - Boots to desktop -### Asus X554L +- **System76 Oryx Pro (oryp10)** -Status: ⚠️ Booting - -- Booted using BIOS -- Boots to desktop -- No audio, HDA driver cannot find output pins - -### Dell XPS 13 (9350) - -Status: ⚠️ Booting - -- Booted using both BIOS and UEFI -- Boots to desktop -- NVMe driver livelocks - -### HP Dev One - -Status: ⚠️ Booting - -- Booted using UEFI -- Boots to desktop -- No touchpad support, requires I2C HID - -### System76 Oryx Pro (oryp10) - -Status: ⚠️ Booting +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using UEFI - Boots to desktop - No touchpad support, though it should be working -### System76 Pangolin (pang12) +- **System76 Pangolin (pang12)** -Status: ⚠️ Booting +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using UEFI - Boots to desktop - No touchpad support, requires I2C HID -### Toshiba Satellite L500 +### Dell -Status: ⚠️ Booting +- **Dell XPS 13 (9350)** + +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 + +- Booted using both BIOS and UEFI +- Boots to desktop +- NVMe driver livelocks + +### HP + +- **HP Dev One** + +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 + +- Booted using UEFI +- Boots to desktop +- No touchpad support, requires I2C HID + +### ASUS + +- **ASUS X554L** + +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using BIOS -- Correct video mode not offered, this is a firmware issue - Boots to desktop -- No ethernet driver +- No audio, HDA driver cannot find output pins -### Lenovo G570 +### Lenovo -Status: 🚫 Broken +- **Lenovo IdeaPad Y510P** + +- Status - Recommended +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 + +- Booted using both BIOS and UEFI +- Boots to desktop + +- **Lenovo G570** + +- Status - Broken +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using BIOS - Correct video mode not offered, this is a firmware issue - Bootloader panics in alloc_zeroed_page_aligned -## i686 +### Toshiba -Test performed using https://static.redox-os.org/img/i686/redox_desktop_i686_2022-11-11_629_livedisk.iso +- **Toshiba Satellite L500** -### Asus Eee PC 900 - -Status: ⚠️ Booting +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using BIOS - Correct video mode not offered, this is a firmware issue - Boots to desktop - No ethernet driver -### Dell XPS 13 (9350) +## i686 -Status: ⚠️ Booting +Computers with a 32 bits Intel/AMD CPU. + +Test performed using https://static.redox-os.org/img/i686/redox_desktop_i686_2022-11-11_629_livedisk.iso + +### Dell + +- **Dell XPS 13 (9350)** + +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using BIOS - Boots to desktop - NVMe driver livelocks -### Lenovo IdeaPad Y510P +### ASUS -Status: 🚫 Broken +- **ASUS Eee PC 900** + +- Status - Booting +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 + +- Booted using BIOS +- Correct video mode not offered, this is a firmware issue +- Boots to desktop +- No ethernet driver + +### Lenovo + +- **Lenovo IdeaPad Y510P** + +- Status - Broken +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using BIOS - Panics on phys_to_virt overflow, probably having invalid mappings for 32-bit -### Panasonic Toughbook CF-18 +### Toshiba -Status: 🚫 Broken +- **Toshiba Satellite L500** -- Booted using BIOS -- Hangs after PIT initialization - -### Toshiba Satellite L500 - -Status: 🚫 Broken +- Status - Broken +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 - Booted using BIOS - Correct video mode not offered, this is a firmware issue - Panics on phys_to_virt overflow, probably having invalid mappings for 32-bit + +### Panasonic + +- **Panasonic Toughbook CF-18** + +- Status - Broken +- Redox version - 0.8.0 +- Variant - desktop +- Image date - 11-11-2022 + +- Booted using BIOS +- Hangs after PIT initialization diff --git a/bootstrap.sh b/bootstrap.sh index c924f67..3cb8ec9 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -143,6 +143,7 @@ osx_macports() install_macports_pkg "automake" install_macports_pkg "scons" install_macports_pkg "gmake" + install_macports_pkg "lua" } ############################################################################### @@ -205,6 +206,7 @@ osx_homebrew() install_brew_pkg "gpatch" install_brew_pkg "automake" install_brew_pkg "scons" + install_brew_pkg "lua" install_brew_pkg "redox-os/gcc_cross_compilers/x86_64-elf-gcc" "x86_64-elf-gcc" } @@ -270,6 +272,7 @@ freebsd() install_freebsd_pkg "patch" install_freebsd_pkg "automake" install_freebsd_pkg "scons" + install_freebsd_pkg "lua54" set +xe } @@ -281,7 +284,46 @@ freebsd() archLinux() { echo "Detected Arch Linux" - packages="cmake fuse git gperf perl-html-parser nasm wget texinfo bison flex po4a autoconf curl file patch automake scons waf expat gmp libtool libpng libjpeg-turbo sdl12-compat m4 pkgconf po4a syslinux meson python python-mako make xdg-utils zip unzip llvm clang perl doxygen" + packages="cmake \ + fuse \ + git \ + gperf \ + perl-html-parser \ + nasm \ + wget \ + texinfo \ + bison \ + flex \ + po4a \ + autoconf \ + curl \ + file \ + patch \ + automake \ + scons \ + waf \ + expat \ + gmp \ + libtool \ + libpng \ + libjpeg-turbo \ + sdl12-compat \ + m4 \ + pkgconf \ + po4a \ + syslinux \ + meson \ + python \ + python-mako \ + make \ + xdg-utils \ + zip \ + unzip \ + llvm \ + clang \ + perl \ + doxygen \ + lua" if [ "$1" == "qemu" ]; then packages="$packages qemu" elif [ "$1" == "virtualbox" ]; then @@ -351,7 +393,9 @@ ubuntu() llvm \ clang \ perl \ - doxygen" + doxygen \ + g++ \ + lua5.4" # Not availible for at least ARM hosts case "$host_arch" in x86*|i?86) pkgs="$pkgs libc6-dev-i386 syslinux-utils";; @@ -403,7 +447,57 @@ fedora() fi fi # Use rpm -q to check if it's already installed - PKGS=$(for pkg in file autoconf vim bison flex genisoimage gperf glibc-devel.i686 expat expat-devel fuse-devel fuse3-devel gmp-devel libpng-devel perl perl-HTML-Parser libtool libjpeg-turbo-devel SDL2_ttf-devel sdl12-compat-devel m4 nasm po4a syslinux texinfo ninja-build meson waf python3-mako make gcc gcc-c++ openssl patch automake perl-Pod-Html perl-FindBin gperf curl gettext-devel perl-Pod-Xhtml pkgconf-pkg-config cmake llvm zip unzip lua luajit make clang doxygen ; do rpm -q $pkg > /dev/null || echo $pkg; done) + PKGS=$(for pkg in file \ + autoconf \ + vim \ + bison \ + flex \ + genisoimage \ + gperf \ + glibc-devel.i686 \ + expat \ + expat-devel \ + fuse-devel \ + fuse3-devel \ + gmp-devel \ + libpng-devel \ + perl \ + perl-HTML-Parser \ + libtool \ + libjpeg-turbo-devel \ + SDL2_ttf-devel \ + sdl12-compat-devel \ + m4 \ + nasm \ + po4a \ + syslinux \ + texinfo \ + ninja-build \ + meson \ + waf \ + python3-mako \ + make \ + gcc \ + gcc-c++ \ + openssl \ + patch \ + automake \ + perl-Pod-Html \ + perl-FindBin \ + gperf \ + curl \ + gettext-devel \ + perl-Pod-Xhtml \ + pkgconf-pkg-config \ + cmake \ + llvm \ + zip \ + unzip \ + lua \ + luajit \ + make \ + clang \ + doxygen ; do rpm -q $pkg > /dev/null || echo $pkg; done) # If the list of packages is not empty, install missing COUNT=$(echo $PKGS | wc -w) if [ $COUNT -ne 0 ]; then @@ -481,7 +575,8 @@ suse() unzip \ llvm \ clang \ - doxygen + doxygen \ + lua54 } ############################################################################## @@ -549,7 +644,32 @@ solus() echo "Installing necessary build tools..." #if guards are not necessary with eopkg since it does nothing if latest version is already installed - sudo eopkg it fuse-devel git gcc g++ libgcc-32bit libstdc++-32bit nasm make cmake binutils-gold glibc-devel pkg-config fuse2-devel linux-headers rsync automake autoconf m4 libtool-devel po4a patch bison flex gperf libpng-devel perl-html-parser + sudo eopkg it fuse-devel \ + git \ + gcc \ + g++ \ + libgcc-32bit \ + libstdc++-32bit \ + nasm \ + make \ + cmake \ + binutils-gold \ + glibc-devel \ + pkg-config \ + fuse2-devel \ + linux-headers \ + rsync \ + automake \ + autoconf \ + m4 \ + libtool-devel \ + po4a \ + patch \ + bison \ + flex \ + gperf \ + libpng-devel \ + perl-html-parser } ###################################################################### diff --git a/config/aarch64/demo.toml b/config/aarch64/demo.toml index c30ffbb..14e0074 100644 --- a/config/aarch64/demo.toml +++ b/config/aarch64/demo.toml @@ -82,7 +82,7 @@ orbital launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/aarch64/desktop.toml b/config/aarch64/desktop.toml index d30496f..4446733 100644 --- a/config/aarch64/desktop.toml +++ b/config/aarch64/desktop.toml @@ -82,7 +82,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/aarch64/server.toml b/config/aarch64/server.toml index 51e16ca..aac5e95 100644 --- a/config/aarch64/server.toml +++ b/config/aarch64/server.toml @@ -72,7 +72,8 @@ dhcpd -b [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2/activate +inputd -A 2 +getty 2 getty debug: -J """ diff --git a/config/i686/demo.toml b/config/i686/demo.toml index e7e450b..d6c2173 100644 --- a/config/i686/demo.toml +++ b/config/i686/demo.toml @@ -117,7 +117,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/i686/desktop-minimal.toml b/config/i686/desktop-minimal.toml index fefe6e0..63113fe 100644 --- a/config/i686/desktop-minimal.toml +++ b/config/i686/desktop-minimal.toml @@ -57,7 +57,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/i686/desktop.toml b/config/i686/desktop.toml index 5b371c2..2ae08fc 100644 --- a/config/i686/desktop.toml +++ b/config/i686/desktop.toml @@ -83,7 +83,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/i686/jeremy.toml b/config/i686/jeremy.toml index f950f78..24003c1 100644 --- a/config/i686/jeremy.toml +++ b/config/i686/jeremy.toml @@ -114,7 +114,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/i686/server-minimal.toml b/config/i686/server-minimal.toml index 9796433..1ab4713 100644 --- a/config/i686/server-minimal.toml +++ b/config/i686/server-minimal.toml @@ -45,7 +45,8 @@ escalated [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2/activate +inputd -A 2 +getty 2 getty debug: -J """ diff --git a/config/i686/server.toml b/config/i686/server.toml index 185672e..c04f6fb 100644 --- a/config/i686/server.toml +++ b/config/i686/server.toml @@ -68,7 +68,8 @@ dhcpd -b [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2/activate +inputd -A 2 +getty 2 getty debug: -J """ diff --git a/config/x86_64/demo.toml b/config/x86_64/demo.toml index 01b6e1b..0a617e6 100644 --- a/config/x86_64/demo.toml +++ b/config/x86_64/demo.toml @@ -136,7 +136,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/x86_64/desktop.toml b/config/x86_64/desktop.toml index 5b371c2..2ae08fc 100644 --- a/config/x86_64/desktop.toml +++ b/config/x86_64/desktop.toml @@ -83,7 +83,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/x86_64/dev.toml b/config/x86_64/dev.toml index 2671765..a82f07d 100644 --- a/config/x86_64/dev.toml +++ b/config/x86_64/dev.toml @@ -106,7 +106,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/x86_64/jeremy.toml b/config/x86_64/jeremy.toml index 6be46b8..830d76b 100644 --- a/config/x86_64/jeremy.toml +++ b/config/x86_64/jeremy.toml @@ -181,7 +181,7 @@ orbital orblogin launcher [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2 +getty 2 getty debug: -J """ diff --git a/config/x86_64/server.toml b/config/x86_64/server.toml index 8bfc97e..1655d25 100644 --- a/config/x86_64/server.toml +++ b/config/x86_64/server.toml @@ -68,7 +68,8 @@ dhcpd -b [[files]] path = "/etc/init.d/30_console" data = """ -getty display/vesa:2/activate +inputd -A 2 +getty 2 getty debug: -J """