Jump to content

F(x)tec Pro1X (fxtec-qx1050): Difference between revisions

From postmarketOS Wiki
Danct12 (talk | contribs)
Add a little bit more information, more to come later.
Danct12 (talk | contribs)
Add power reset to known issues
 
(8 intermediate revisions by 3 users not shown)
Line 9: Line 9:
| name = Pro1X
| name = Pro1X
| codename = fxtec-qx1050
| codename = fxtec-qx1050
| model = QX1050
| image = File:Fxtec_Pro1X.jpg
| image = File:Fxtec_Pro1X.jpg
| imagecaption = F(x)tec Pro1X running Android with split screen multitasking
| imagecaption = F(x)tec Pro1X running Android with split screen multitasking
Line 15: Line 16:
| originalversion = 11
| originalversion = 11
| optionalsoftware = Ubuntu Touch
| optionalsoftware = Ubuntu Touch
| pmoskernel = 6.10
| chipset = Qualcomm Snapdragon 662 (SM6115)
| chipset = Qualcomm Snapdragon 662 (SM6115)
| cpu = 4x Kryo 260 Gold @ 2.0 GHz + 4x Kryo 260 Silver @ 1.8 GHz
| cpu = 4x Kryo 260 Gold @ 2.0 GHz + 4x Kryo 260 Silver @ 1.8 GHz
Line 23: Line 25:
| architecture = aarch64
| architecture = aarch64
| type = Slide-Out Keyboard Handset
| type = Slide-Out Keyboard Handset
| whet_dhry = 0.0 <!-- see Unixbench page on wiki -->
<!-- Features -->
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
| status_usbnet = Y
| status_usbnet = Y
| status_flashing = Y
| status_flashing = Y
| status_touch = <!-- Touch screen is working? You can also answer these questions with P for partially. -->
| status_touch = P
| status_screen = <!-- The display is working? -->
| status_screen = Y
| status_wifi = <!-- Wireless network works? -->
| status_3d = Y
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_emmc = Y
| status_wifi = Y
| status_mainline = Y
| status_mainline = Y
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
| status_battery = P <!-- Charging the battery with charging-sdl is possible -->
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
| status_audio = <!-- Using the device's speakers/headphone jack works -->
| status_audio = <!-- Using the device's speakers/headphone jack works -->
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol -->
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol -->
Line 43: Line 48:
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device -->
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device -->
| status_nfc = <!-- Near-Field Communication (NFC) works -->
| status_nfc = <!-- Near-Field Communication (NFC) works -->
| status_usba = -
<!-- Sensors -->
| status_hdmidp = <!-- Video and audio output with HDMI or DisplayPort works -->
| status_keyboard = <!-- Keyboard works (Mark "-" if device doesn't have a keyboard) -->
| status_touchpad = <!-- Touchpad works (Usually applicable to laptops) -->
| status_irtx = -
| status_trustzone = <!-- TrustZone works -->
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_magnet = <!-- Magnetometer works -->
| status_magnet = <!-- Magnetometer works -->
| status_light = <!-- Ambient light sensor works -->
| status_light = <!-- Ambient light sensor works -->
| status_proximity = <!-- Proximity sensor works -->
| status_proximity = <!-- Proximity sensor works -->
| status_hall = <!-- Hall effect sensor works -->
| status_hall = Y
| status_barometer = <!-- Barometer works -->
| status_barometer = <!-- Barometer works -->
| status_powersensor = <!-- Power sensor works -->
| status_powersensor = N
<!-- Misc -->
| status_dvb = -
| status_cameraflash = <!-- Camera flash/torch works -->
| status_keyboard = <!-- Keyboard works (Mark "-" if device doesn't have a keyboard) -->
| status_touchpad = -
| status_usba = -
| status_sdcard = Y
| status_hdmidp = <!-- Video and audio output with HDMI or DisplayPort works -->
| status_irtx = -
| status_irrx = -
| status_stylus = -
| status_haptics =
| status_ethernet = -
| status_fossbootloader = <!-- Device has a free and open source bootloader -->
| status_fossbootloader = <!-- Device has a free and open source bootloader -->
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->


<!-- you can also use these lines if you need to:
<!-- This device is unfused, this opens up a lot possibility to run whatever we want including U-Boot. :)
if the device haven't originally ran Android OS, e.g. Nokia N900
| status_uboot =
| n-android =
| status_uboot_primary =
Version of the kernel that pmos is running
| status_uboot_secondary =
| pmoskernel = 3.x.x
| status_uboot_mainline =
see Unixbench page on wiki
| status_uboot_internalstorage =
| whet_dhry = 0.0
| status_uboot_sd =
| status_uboot_usbhost =
| status_uboot_usbperipheral =
| status_uboot_screen =
| status_uboot_keyboard =
| status_uboot_buttons =
-->
-->
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
}}
}}


Line 77: Line 97:
== How to enter flash mode ==
== How to enter flash mode ==
=== Fastboot ===
=== Fastboot ===
Hold down {{Button|Power}} and {{Button|Volume Down}} while the device is off until you're in fastboot mode.
Hold down {{Button|Power}} and {{Button|Volume Down}} while the device is off and release the power button as the phone vibrates. If that doesn't work, try again.
 
Another way to enter Fastboot mode is to enter Recovery mode (see below) and choose "Reboot to bootloader" option.


=== Recovery ===
=== Recovery ===
Hold down {{Button|Power}} and {{Button|Volume Up}} while the device is off until you're in recovery mode.
Hold down {{Button|Power}} and {{Button|Volume Down}} while the device is off until you're in recovery mode.
 
If you're using stock F(x)tec recovery, you'll see the Android mascot lying open with "No command." below it. When on this screen, hold down power button and then press and release the {{Button|Volume Up}} button to enter the recovery menu.


=== EDL ===
=== EDL ===
Line 90: Line 114:


== Installation ==
== Installation ==
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->
{{Notice|The bootloader is the only firmware that postmarketOS doesn't install itself, all other firmware (devicetree, gpu, modem etc) is supplied by postmarketOS. In contrast to custom Android ROMs, it is <strong>incredibly unlikely</strong> that any bugs or issues you encounter are caused by whatever OS you previously had installed on the device.}}
 
=== Prerequisites ===
 
To install prebuilt images, you will need a computer with (the latest) fastboot software.
 
This can be obtained by installed the <code>android-tools</code> package on Linux or by installing the [https://developer.android.com/studio/releases/platform-tools Android SDK Platform-Tools] on Windows, Mac (or Linux).
 
=== Enable off-mode charging ===
{{note|It's unsure what this actually do (especially when the battery is completely dead and won't charge), but LineageOS installation guide tells the user to enable it.}}
 
This device ships with off-mode charging disabled by default. It is recommended to enable it.
 
<pre>
fastboot oem enable-charger-screen
fastboot oem off-mode-charge 1
</pre>
 
=== Build and install the image ===
{{note|You must use "edge" branch as this device is not in community category yet.}}
 
Since there is no prebuilt images, you need to build it yourself.
 
The vendor is "fxtec", the codename is "qx1050".
 
Follow the [[pmbootstrap]] article, until you have done the install action (note that <code>--fde</code> stands for full-disk-encryption - this can also be left out).
<pre>
pmbootstrap install --fde
</pre>
 
Reboot back into flash mode as explained above.
 
By default the rootfs will be flashed to system, this doesn't leave much free space for your applications / data, if you don't mind factory resetting the device you can instead flash to userdata by specifying the partition like below.
 
{{warning|Do not reboot via the power button on the device! This can result in not all data being properly written to storage, corrupting the rootfs and resulting strange behaviour like postmarketOS getting stuck during boot!}}
{{note|Always use <code>fastboot reboot</code> after flashing.}}
 
<pre>
fastboot erase dtbo
pmbootstrap flasher flash_rootfs --partition userdata
pmbootstrap flasher flash_kernel
fastboot reboot
</pre>
 
== Known issues ==
=== Power Reset ===
Holding down the power button to forcefully reboot the device will result in the device booting into "Qualcomm Crashdump Mode". There is currently no fix for this issue, just hold down power button to reboot the device one more time.
 
=== Power Sensor ===
A user has reported that trying to read anything from this sensor does not work.
 
=== Touchscreen ===
Due to F(x)tec cheap out on filter components on the touch screen, the touch screen will not work properly on mainline. There is currently no fix for this issue.


== See also ==
== See also ==
=== Internal pages ===
<!-- list all subpages -->
{{Special:Prefixindex|prefix=F(x)tec Pro1X (fxtec-qx1050)/|hideredirects=1|stripprefix=0}}
* [[Android_AB_Slots|Documentation on A/B slots]]
=== External links ===
* [https://github.com/sm6115-mainline/linux Kernel sources]
* {{MR|5350|pmaports}} Initial merge request.
* {{MR|5372|pmaports}} Switch to sm6115-mainline repo and add firmware support
* [https://gitlab.postmarketos.org/postmarketOS/pmaports/-/tree/master/device/testing/device-fxtec-qx1050 Device package]
* [https://gitlab.postmarketos.org/postmarketOS/pmaports/-/tree/master/device/community/linux-postmarketos-qcom-sm6115 Kernel package]

Latest revision as of 04:07, 22 February 2025

🚧 This page is a work-in-progress. Some information contained within may be inaccurate or incomplete.

F(x)tec Pro1X is the successor of the F(x)tec Pro1. It features a Snapdragon 662 System on Chip and a QWERTY flip keyboard.

The successor is considered as a downgrade to many people as it featured a weaker SoC compared to previous model which has a Snapdragon 835, multi-state to single-state camera key and removal of the secondary back camera.

F(x)tec Pro1X
F(x)tec Pro1X running Android with split screen multitasking
F(x)tec Pro1X running Android with split screen multitasking
Manufacturer F(x)tec
Name Pro1X
Codename fxtec-qx1050
Model QX1050
Released 2022
Type slide-out keyboard handset
Hardware
Chipset Qualcomm Snapdragon 662 (SM6115)
CPU 4x Kryo 260 Gold @ 2.0 GHz + 4x Kryo 260 Silver @ 1.8 GHz
GPU Adreno 610
Display 5.99″ 1080x2160 AMOLED
Storage 128GB/256GB
Memory 6GB/8GB LPDDR4
Architecture aarch64
Software
Original software Android
Original version 11
Optional software Ubuntu Touch
postmarketOS
Category testing
Pre-built images no
Mainline yes
postmarketOS kernel 6.10
Unixbench Whet/Dhry score 0.0
Features
Flashing
Works
USB Networking
Works
Internal storage
Works
SD card
Works
Battery
Partial
Screen
Works
Touchscreen
Partial
Keyboard
No data
Multimedia
3D Acceleration
Works
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
Works
Haptics
No data
Barometer
No data
Power Sensor
Broken


Contributors

  • Danct12

Users owning this device


How to enter flash mode

Fastboot

Hold down Power and Volume Down while the device is off and release the power button as the phone vibrates. If that doesn't work, try again.

Another way to enter Fastboot mode is to enter Recovery mode (see below) and choose "Reboot to bootloader" option.

Recovery

Hold down Power and Volume Down while the device is off until you're in recovery mode.

If you're using stock F(x)tec recovery, you'll see the Android mascot lying open with "No command." below it. When on this screen, hold down power button and then press and release the Volume Up button to enter the recovery menu.

EDL

Bootloader

Hold down Volume Up and Volume Down and plug in the USB cable while the device is off. The device should now be in QDL mode.

Deep Flash Cable

If your bootloader is corrupted, the deep flash cable can be used to reflash the bootloader or other part of the device.

Installation

Notice The bootloader is the only firmware that postmarketOS doesn't install itself, all other firmware (devicetree, gpu, modem etc) is supplied by postmarketOS. In contrast to custom Android ROMs, it is incredibly unlikely that any bugs or issues you encounter are caused by whatever OS you previously had installed on the device.

Prerequisites

To install prebuilt images, you will need a computer with (the latest) fastboot software.

This can be obtained by installed the android-tools package on Linux or by installing the Android SDK Platform-Tools on Windows, Mac (or Linux).

Enable off-mode charging

Note It's unsure what this actually do (especially when the battery is completely dead and won't charge), but LineageOS installation guide tells the user to enable it.

This device ships with off-mode charging disabled by default. It is recommended to enable it.

fastboot oem enable-charger-screen
fastboot oem off-mode-charge 1

Build and install the image

Note You must use "edge" branch as this device is not in community category yet.

Since there is no prebuilt images, you need to build it yourself.

The vendor is "fxtec", the codename is "qx1050".

Follow the pmbootstrap article, until you have done the install action (note that --fde stands for full-disk-encryption - this can also be left out).

pmbootstrap install --fde

Reboot back into flash mode as explained above.

By default the rootfs will be flashed to system, this doesn't leave much free space for your applications / data, if you don't mind factory resetting the device you can instead flash to userdata by specifying the partition like below.

Warning WARNING: Do not reboot via the power button on the device! This can result in not all data being properly written to storage, corrupting the rootfs and resulting strange behaviour like postmarketOS getting stuck during boot!
Note Always use fastboot reboot after flashing.
fastboot erase dtbo
pmbootstrap flasher flash_rootfs --partition userdata
pmbootstrap flasher flash_kernel
fastboot reboot

Known issues

Power Reset

Holding down the power button to forcefully reboot the device will result in the device booting into "Qualcomm Crashdump Mode". There is currently no fix for this issue, just hold down power button to reboot the device one more time.

Power Sensor

A user has reported that trying to read anything from this sensor does not work.

Touchscreen

Due to F(x)tec cheap out on filter components on the touch screen, the touch screen will not work properly on mainline. There is currently no fix for this issue.

See also

Internal pages

External links