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

Easy system requirements checker (SRC) #3925

Open
tokideveloper opened this Issue May 24, 2018 · 5 comments

Comments

Projects
None yet
4 participants
@tokideveloper

Hello,

When I tried to check my computer for the Qubes system requirements, especially CPU capabilities, this time for Qubes Release 4.x, I had to encourage myself to go on and on again and again and not to quit. It's a quite frustrating process and with this issue I wish to get a more convenient one.

So, this is (or could be) annoying:

  • Searching for capabilities of my CPU.
  • The documentation says that even if my computer meets the minimum requirements it could be possible that Qubes won't run on it. This is honest (very good!) but pessimistic at the same time.
  • Downloading a newer version (let's say R4.0), checking its signature, burning it to a DVD or something, booting it, maybe installing it and eventually detecting that it doesn't run on the computer. So, you have to restart the same long-lasting procedure for an older version (let's say R3.2) and so on.

So, I'd like to have a simple way to check the system requirements. Sorted descending by convenience:

  • A button "Check this computer for Rx.y" in the web browser, right next to the list of system requirements. No installation needed.
  • A button "Download & install a browser add-on to check this computer for Rx.y".
  • A button "Download & install a small app to check this computer for Rx.y".
  • A button "Download & burn & boot a small Live System to check this computer for Rx.y".
  • A link to a page containing any of such buttons.

Such a system requirements checker (SRC) should

  • check for minimum, recommended and maybe other system requirements,
  • show the results on the screen which includes:
    • presence/absence of relevant features (CPU, RAM, hard disks, ...),
    • advantages due to present features,
    • functional drawbacks due to missing/non-sufficient features,
    • which Qubes Releases (including recommendations) can run on this computer,
    • which Qubes Releases won't run on this computer.

This sounds nice (from the installation guide):

The installer loads Xen right at the beginning, so chances are high that if you can see the installer’s graphical screen and you pass the compatibility check that runs immediately after that, Qubes will work on your system. :)

I didn't check the sources but I think that a SRC could consist just of that mentioned compatibility check plus a result screen.

Some other notes:

  • Downloading the Qubes Releases lasts long, 4 GiB is a lot! I know places, even in Germany, where this needs more than 24 hours which could result into a connection reset by the internet provider, thus aborting the download! Thus, a much smaller app or live system for the SRC would be very nice.
  • The SRC should be up-to-date with all existing Qubes Releases and their requirements and support periods.
  • The user would probably expect to have a single SRC to check all Qubes versions at once.
@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek May 27, 2018

Member

I think the easiest thing to do would be to have installer image stripped of actual packages. The installer for Qubes 4.0 already perform mentioned checks and present error if anything is missing (but do nothing if everything is ok).

Member

marmarek commented May 27, 2018

I think the easiest thing to do would be to have installer image stripped of actual packages. The installer for Qubes 4.0 already perform mentioned checks and present error if anything is missing (but do nothing if everything is ok).

@tokideveloper

This comment has been minimized.

Show comment
Hide comment
@tokideveloper

tokideveloper May 28, 2018

I think the easiest thing to do would be to have installer image stripped of actual packages.

Yes, I guess this way wouldn't consume too much development time. So, it might be worth a try.

The installer for Qubes 4.0 already perform mentioned checks and present error if anything is missing (but do nothing if everything is ok).

So, for the second case, we could just add printing a "Success! Qubes 4.0 will work on this system." message, don't we?

Sounds like that Qubes 3.2 doesn't perform such checks. Would it be easy to add?

Is it possible to run these checks on a running Windows/Linux/Mac system by a simple application rather than booting from a USB drive or something?

I think the easiest thing to do would be to have installer image stripped of actual packages.

Yes, I guess this way wouldn't consume too much development time. So, it might be worth a try.

The installer for Qubes 4.0 already perform mentioned checks and present error if anything is missing (but do nothing if everything is ok).

So, for the second case, we could just add printing a "Success! Qubes 4.0 will work on this system." message, don't we?

Sounds like that Qubes 3.2 doesn't perform such checks. Would it be easy to add?

Is it possible to run these checks on a running Windows/Linux/Mac system by a simple application rather than booting from a USB drive or something?

@fosslinux

This comment has been minimized.

Show comment
Hide comment
@fosslinux

fosslinux May 31, 2018

Is it possible to run these checks on a running Windows/Linux/Mac system by a simple application rather than booting from a USB drive or something?

@tokideveloper Depends. It would be rather difficult to write a cross-platform script for this as all three have different ways of detecting CPU flags.

Is it possible to run these checks on a running Windows/Linux/Mac system by a simple application rather than booting from a USB drive or something?

@tokideveloper Depends. It would be rather difficult to write a cross-platform script for this as all three have different ways of detecting CPU flags.

@tokideveloper

This comment has been minimized.

Show comment
Hide comment
@tokideveloper

tokideveloper May 31, 2018

Is it possible to run these checks on a running Windows/Linux/Mac system by a simple application rather than booting from a USB drive or something?

@tokideveloper Depends. It would be rather difficult to write a cross-platform script for this as all three have different ways of detecting CPU flags.

@sstt011 Then let's develop one version for every platform! Is it feasible?

Is it possible to run these checks on a running Windows/Linux/Mac system by a simple application rather than booting from a USB drive or something?

@tokideveloper Depends. It would be rather difficult to write a cross-platform script for this as all three have different ways of detecting CPU flags.

@sstt011 Then let's develop one version for every platform! Is it feasible?

@fosslinux

This comment has been minimized.

Show comment
Hide comment
@fosslinux

fosslinux May 31, 2018

@tokideveloper Probably. I'll try to create a preliminary Python script for 4.0 - see what we can do about cross-platform compatibility. I'll post back here once I've done that.

I'll use the system requirements here: https://www.qubes-os.org/doc/system-requirements/

It won't be a GUI program to start off with, once I have a CLI working I'll look into GUI with Python. The only GUI library I am familiar with in Python is pyGame.

@marmarek Any thoughts?

fosslinux commented May 31, 2018

@tokideveloper Probably. I'll try to create a preliminary Python script for 4.0 - see what we can do about cross-platform compatibility. I'll post back here once I've done that.

I'll use the system requirements here: https://www.qubes-os.org/doc/system-requirements/

It won't be a GUI program to start off with, once I have a CLI working I'll look into GUI with Python. The only GUI library I am familiar with in Python is pyGame.

@marmarek Any thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment